From cfd0f09744c543efb52dcfeaef8a760a766a4d71 Mon Sep 17 00:00:00 2001
From: Vitaly Takmazov <vitalyster@gmail.com>
Date: Fri, 16 Jun 2017 10:53:01 +0300
Subject: Fix FileWriteBytestreamTest under Windows

License:

This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.

Test-Information:

Fixes FileWriteBytestreamTest by closing WriteStream before file
deletion which passes.
Tests performed under Windows 10 1703

Change-Id: I0be891af652138af23f8db9e5526d927d39c9856

diff --git a/Swiften/FileTransfer/FileWriteBytestream.h b/Swiften/FileTransfer/FileWriteBytestream.h
index c563789..26ab98e 100644
--- a/Swiften/FileTransfer/FileWriteBytestream.h
+++ b/Swiften/FileTransfer/FileWriteBytestream.h
@@ -19,7 +19,7 @@ namespace Swift {
             virtual ~FileWriteBytestream();
 
             virtual bool write(const std::vector<unsigned char>&);
-            void close();
+            virtual void close();
 
         private:
             boost::filesystem::path file;
diff --git a/Swiften/FileTransfer/WriteBytestream.h b/Swiften/FileTransfer/WriteBytestream.h
index 5d9c3f8..5452317 100644
--- a/Swiften/FileTransfer/WriteBytestream.h
+++ b/Swiften/FileTransfer/WriteBytestream.h
@@ -26,6 +26,7 @@ namespace Swift {
              * On success true is returned and \ref onWrite is called. On failure false is returned.
              */
             virtual bool write(const std::vector<unsigned char>&) = 0;
+            virtual void close() {}
 
             boost::signals2::signal<void (const std::vector<unsigned char>&)> onWrite;
     };
diff --git a/Swiften/QA/StorageTest/FileWriteBytestreamTest.cpp b/Swiften/QA/StorageTest/FileWriteBytestreamTest.cpp
index 7823519..393d1d7 100644
--- a/Swiften/QA/StorageTest/FileWriteBytestreamTest.cpp
+++ b/Swiften/QA/StorageTest/FileWriteBytestreamTest.cpp
@@ -34,7 +34,7 @@ class FileWriteBytestreamTest : public CppUnit::TestFixture {
 
             CPPUNIT_ASSERT_EQUAL(true, writeBytestream->write(createByteArray("Some data.")));
             CPPUNIT_ASSERT_EQUAL(true, onWriteWasCalled);
-
+            writeBytestream->close();
             boost::filesystem::remove(filename);
         }
 
-- 
cgit v0.10.2-6-g49f6