X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2681874846b4b1277dead453036f8cf7e9ad48fe..d0bbcd06d2da50de48c7f736669305b6aa9c99b5:/interface/wx/stream.h?ds=sidebyside diff --git a/interface/wx/stream.h b/interface/wx/stream.h index 88d2604103..7ff04991aa 100644 --- a/interface/wx/stream.h +++ b/interface/wx/stream.h @@ -99,12 +99,16 @@ public: /** @class wxStreamBuffer - @todo WRITE A DESCRIPTION + wxStreamBuffer is a cache manager for wxStreamBase: it manages a stream buffer + linked to a stream. + + Each stream always has one autoinitialized stream buffer, but you may + attach more of them to the same stream. @library{wxbase} @category{streams} - @see wxStreamBase + @see wxStreamBase, @ref overview_stream */ class wxStreamBuffer { @@ -127,7 +131,9 @@ public: @code streambuffer.Read(...); - streambuffer2.Read(...); // This call erases previous error messages set by 'streambuffer' + streambuffer2.Read(...); + // This call erases previous error messages set by 'streambuffer' + // assuming that both instances are stream buffers for the same stream @endcode @see SetBufferIO() @@ -290,7 +296,7 @@ public: @see Write() */ - Return value size_t Read(wxStreamBuffer* buffer); + size_t Read(wxStreamBuffer* buffer); /** Resets to the initial state variables concerning the buffer. @@ -326,7 +332,7 @@ public: @see wxStreamBuffer(), Fixed(), Flushable() */ - void SetBufferIO(char* buffer_start, char* buffer_end); + void SetBufferIO(void* start, void* end, bool takeOwnership = false); /** Destroys or invalidates the previous IO buffer and allocates a new one of the @@ -463,14 +469,14 @@ public: This function returns a reference on the current object, so the user can test any states of the stream right away. */ - wxOutputStream Write(const void* buffer, size_t size); + virtual wxOutputStream& Write(const void* buffer, size_t size); /** Reads data from the specified input stream and stores them in the current stream. The data is read until an error is raised by one of the two streams. */ - wxOutputStream Write(wxInputStream& stream_in); + wxOutputStream& Write(wxInputStream& stream_in); }; @@ -498,7 +504,7 @@ enum wxStreamProtocolType @code factory = wxFilterClassFactory::Find(filename, wxSTREAM_FILEEXT); if (factory) - stream = factory-NewStream(new wxFFileInputStream(filename)); + stream = factory->NewStream(new wxFFileInputStream(filename)); @endcode wxFilterClassFactory::Find can also search for a factory by MIME type, @@ -555,7 +561,7 @@ public: GetFirst()/GetNext() return a pointer to a factory or @NULL if no more are available. They do not give away ownership of the factory. */ - static const wxFilterClassFactory* GetFirst() const; + static const wxFilterClassFactory* GetFirst(); const wxFilterClassFactory* GetNext() const; //@} @@ -589,10 +595,10 @@ public: If the parent stream is passed as a pointer then the new filter stream takes ownership of it. If it is passed by reference then it does not. */ - wxFilterInputStream* NewStream(wxInputStream& stream) const; - wxFilterOutputStream* NewStream(wxOutputStream& stream) const; - wxFilterInputStream* NewStream(wxInputStream* stream) const; - wxFilterOutputStream* NewStream(wxOutputStream* stream) const; + virtual wxFilterInputStream* NewStream(wxInputStream& stream) const = 0; + virtual wxFilterOutputStream* NewStream(wxOutputStream& stream) const = 0; + virtual wxFilterInputStream* NewStream(wxInputStream* stream) const = 0; + virtual wxFilterOutputStream* NewStream(wxOutputStream* stream) const = 0; //@} /** @@ -795,6 +801,8 @@ public: /** Returns the first character in the input queue and removes it, blocking until it appears if necessary. + + On success returns a value between 0 - 255; on end of file returns @c wxEOF. */ int GetC(); @@ -817,7 +825,7 @@ public: @return This function returns a reference on the current object, so the user can test any states of the stream right away. */ - wxInputStream Read(void* buffer, size_t size); + virtual wxInputStream& Read(void* buffer, size_t size); /** Reads data from the input queue and stores it in the specified output stream. @@ -861,13 +869,13 @@ public: @return Returns the amount of bytes saved in the Write-Back buffer. */ - size_t Ungetch(const char* buffer, size_t size); + size_t Ungetch(const void* buffer, size_t size); /** This function acts like the previous one except that it takes only one character: it is sometimes shorter to use than the generic function. */ - Return value bool Ungetch(char c); + bool Ungetch(char c); };