X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/882678ebb43804d34d20ba8781647fe136ae67d9..cf737db6572385131ef0d34041566489b631c3f9:/interface/wx/filesys.h diff --git a/interface/wx/filesys.h b/interface/wx/filesys.h index 6d3146db61..94ea102527 100644 --- a/interface/wx/filesys.h +++ b/interface/wx/filesys.h @@ -3,7 +3,7 @@ // Purpose: interface of wxFileSystem, wxFileSystemHandler, wxFSFile // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -61,6 +61,11 @@ public: */ static void AddHandler(wxFileSystemHandler* handler); + /** + Remove a filesystem handler from the list of handlers. + */ + static wxFileSystemHandler* RemoveHandler(wxFileSystemHandler *handler); + /** Sets the current location. @a location parameter passed to OpenFile() is relative to this path. @@ -160,6 +165,11 @@ public: Passing @e "wxFS_READ | wxFS_SEEKABLE" for @a flags will back a stream that is not natively seekable with memory or a file and return a stream that is always seekable. + + @note + The @a location argument is, despite this method's name @em not + a filename. It is a "location", aka wxFileSystem URL (see + @ref overview_fs). */ wxFSFile* OpenFile(const wxString& location, int flags = wxFS_READ); @@ -238,7 +248,7 @@ public: /** Detaches the stream from the wxFSFile object. That is, the - stream obtained with GetStream() will continue its existance + stream obtained with GetStream() will continue its existence after the wxFSFile object is deleted. You will have to delete the stream yourself. @@ -331,7 +341,7 @@ public: @beginWxPerlOnly In wxPerl, you need to derive your file system handler class - from Wx::PlFileSystemHandler. + from @c Wx::PlFileSystemHandler. @endWxPerlOnly @library{wxbase} @@ -453,3 +463,41 @@ protected: static wxString GetRightLocation(const wxString& location); }; + +/** + Input stream for virtual file stream files. + + The stream reads data from wxFSFile obtained from wxFileSystem. It is + especially useful to allow using virtual files with other wxWidgets + functions and classes working with streams, e.g. for loading images or + animations from virtual files and not only physical ones. + + @library{wxbase} + @category{streams} + + @see wxWrapperInputStream, wxFSFile + + @since 2.9.4 +*/ +class wxFSInputStream : public wxWrapperInputStream +{ +public: + /** + Create a stream associated with the data of the given virtual file + system file. + + @param filename + The name of the input file passed to wxFileSystem::OpenFile(). + @param flags + Combination of flags from wxFileSystemOpenFlags. ::wxFS_READ is + implied, i.e. it is always added to the flags value. + + Use wxStreamBase::IsOk() to verify if the constructor succeeded. + */ + wxFileInputStream(const wxString& filename, int flags = 0); + + /** + Returns @true if the stream is initialized and ready. + */ + bool IsOk() const; +};