diff --git a/Foundation/Makefile b/Foundation/Makefile index 335032381..28e83776e 100644 --- a/Foundation/Makefile +++ b/Foundation/Makefile @@ -12,8 +12,8 @@ objects = ArchiveStrategy Ascii ASCIIEncoding AsyncChannel Base64Decoder Base64E BinaryReader BinaryWriter Bugcheck ByteOrder Channel Checksum Configurable ConsoleChannel \ CountingStream DateTime LocalDateTime DateTimeFormat DateTimeFormatter DateTimeParser \ Debugger DeflatingStream DigestEngine DigestStream DirectoryIterator \ - Environment Event EventArgs ErrorHandler Exception FPEnvironment File Glob \ - FileChannel Formatter FormattingChannel HexBinaryDecoder LineEndingConverter \ + Environment Event EventArgs ErrorHandler Exception FIFOBufferStream FPEnvironment File \ + FileChannel Formatter FormattingChannel Glob HexBinaryDecoder LineEndingConverter \ HexBinaryEncoder InflatingStream Latin1Encoding Latin2Encoding Latin9Encoding LogFile \ Logger LoggingFactory LoggingRegistry LogStream NamedEvent NamedMutex NullChannel \ MemoryPool MD4Engine MD5Engine Manifest Message Mutex \ diff --git a/Foundation/include/Poco/Buffer.h b/Foundation/include/Poco/Buffer.h index 9308ab124..b2a7b7819 100644 --- a/Foundation/include/Poco/Buffer.h +++ b/Foundation/include/Poco/Buffer.h @@ -41,6 +41,7 @@ #include "Poco/Foundation.h" +#include "Poco/Exception.h" #include #include @@ -134,7 +135,7 @@ public: /// is thrown. { if (!_ownMem) - throw InvalidAccessException("Cannot resize buffer which does not own its storage."); + throw Poco::InvalidAccessException("Cannot resize buffer which does not own its storage."); poco_assert(newCapacity); diff --git a/Foundation/include/Poco/FIFOBufferStream.h b/Foundation/include/Poco/FIFOBufferStream.h index 8aaf117f3..77c68f8ca 100644 --- a/Foundation/include/Poco/FIFOBufferStream.h +++ b/Foundation/include/Poco/FIFOBufferStream.h @@ -132,8 +132,8 @@ class Foundation_API FIFOBufferStream: public FIFOIOS, public std::iostream /// An output stream for writing to a FIFO. { public: + Poco::BasicEvent& readable; Poco::BasicEvent& writable; - Poco::BasicEvent& readable; explicit FIFOBufferStream(FIFOBuffer& buffer); /// Creates the FIFOBufferStream with supplied buffer as initial value. diff --git a/Foundation/src/FIFOBufferStream.cpp b/Foundation/src/FIFOBufferStream.cpp index 9eba4d951..9c8126954 100644 --- a/Foundation/src/FIFOBufferStream.cpp +++ b/Foundation/src/FIFOBufferStream.cpp @@ -166,36 +166,36 @@ void FIFOIOS::close() FIFOBufferStream::FIFOBufferStream(FIFOBuffer& fifoBuffer): FIFOIOS(fifoBuffer), + std::iostream(&_buf), readable(_buf.fifoBuffer().readable), - writable(_buf.fifoBuffer().writable), - std::iostream(&_buf) + writable(_buf.fifoBuffer().writable) { } FIFOBufferStream::FIFOBufferStream(char* pBuffer, std::size_t length): FIFOIOS(pBuffer, length), + std::iostream(&_buf), readable(_buf.fifoBuffer().readable), - writable(_buf.fifoBuffer().writable), - std::iostream(&_buf) + writable(_buf.fifoBuffer().writable) { } FIFOBufferStream::FIFOBufferStream(const char* pBuffer, std::size_t length): FIFOIOS(pBuffer, length), + std::iostream(&_buf), readable(_buf.fifoBuffer().readable), - writable(_buf.fifoBuffer().writable), - std::iostream(&_buf) + writable(_buf.fifoBuffer().writable) { } FIFOBufferStream::FIFOBufferStream(std::size_t length): FIFOIOS(length), + std::iostream(&_buf), readable(_buf.fifoBuffer().readable), - writable(_buf.fifoBuffer().writable), - std::iostream(&_buf) + writable(_buf.fifoBuffer().writable) { } diff --git a/Foundation/testsuite/Makefile-Driver b/Foundation/testsuite/Makefile-Driver index 4f8ed117f..014948d45 100644 --- a/Foundation/testsuite/Makefile-Driver +++ b/Foundation/testsuite/Makefile-Driver @@ -15,7 +15,7 @@ objects = ActiveMethodTest ActivityTest ActiveDispatcherTest \ CountingStreamTest CryptTestSuite DateTimeFormatterTest \ DateTimeParserTest DateTimeTest LocalDateTimeTest DateTimeTestSuite DigestStreamTest \ Driver DynamicFactoryTest FPETest FileChannelTest FileTest GlobTest FilesystemTestSuite \ - FoundationTestSuite HMACEngineTest HexBinaryTest LoggerTest \ + FIFOBufferStreamTest FoundationTestSuite HMACEngineTest HexBinaryTest LoggerTest \ LoggingFactoryTest LoggingRegistryTest LoggingTestSuite LogStreamTest \ NamedEventTest NamedMutexTest ProcessesTestSuite ProcessTest \ MemoryPoolTest MD4EngineTest MD5EngineTest ManifestTest \ diff --git a/Foundation/testsuite/src/FIFOBufferStreamTest.cpp b/Foundation/testsuite/src/FIFOBufferStreamTest.cpp index 2d1df009e..b5c0d4c6e 100644 --- a/Foundation/testsuite/src/FIFOBufferStreamTest.cpp +++ b/Foundation/testsuite/src/FIFOBufferStreamTest.cpp @@ -168,7 +168,9 @@ void FIFOBufferStreamTest::testNotify() assert (1 == _notToReadable); assert (1 == _writableToNot); assert (1 == _notToWritable); - + + iostr.clear(); + assert (iostr.good()); iostr << "This is a test " << 42 << std::ends << std::flush; assert (iostr.rdbuf()->fifoBuffer().isFull());