]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/filesys.h
Interface fixes for Phoenix
[wxWidgets.git] / interface / wx / filesys.h
index 6d3146db61b31c4bae215d88ce8492caf4f03b98..94ea102527b8751a13667246ac238856f5aa8431 100644 (file)
@@ -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;
+};