]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/filesys.h
Make the CreateTool factories be public so they can be used from application code
[wxWidgets.git] / interface / wx / filesys.h
index 561f457966a463ed7cd22bdbcfe27b608664c70d..17157177da50c5497c9c60a4a680a5865044490b 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}
@@ -383,6 +393,32 @@ public:
     */
     virtual wxString FindNext();
 
+    /**
+        Returns the MIME type based on @b extension of @a location.
+        (While wxFSFile::GetMimeType() returns real MIME type - either
+         extension-based or queried from HTTP.)
+
+        Example:
+        @code
+        GetMimeTypeFromExt("index.htm") == "text/html"
+        @endcode
+    */
+    static wxString GetMimeTypeFromExt(const wxString& location);
+
+    /**
+        Opens the file and returns wxFSFile pointer or @NULL if failed.
+        Must be overridden in derived handlers.
+
+        @param fs
+            Parent FS (the FS from that OpenFile was called).
+            See the ZIP handler for details of how to use it.
+        @param location
+            The absolute location of file.
+    */
+    virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location) = 0;
+
+protected:
+
     /**
         Returns the anchor if present in the location.
         See wxFSFile::GetAnchor for details.
@@ -406,18 +442,6 @@ public:
     */
     static wxString GetLeftLocation(const wxString& location);
 
-    /**
-        Returns the MIME type based on @b extension of @a location.
-        (While wxFSFile::GetMimeType() returns real MIME type - either
-         extension-based or queried from HTTP.)
-
-        Example:
-        @code
-        GetMimeTypeFromExt("index.htm") == "text/html"
-        @endcode
-    */
-    static wxString GetMimeTypeFromExt(const wxString& location);
-
     /**
         Returns the protocol string extracted from @a location.
 
@@ -437,17 +461,5 @@ public:
         @endcode
     */
     static wxString GetRightLocation(const wxString& location);
-
-    /**
-        Opens the file and returns wxFSFile pointer or @NULL if failed.
-        Must be overridden in derived handlers.
-
-        @param fs
-            Parent FS (the FS from that OpenFile was called).
-            See the ZIP handler for details of how to use it.
-        @param location
-            The absolute location of file.
-    */
-    virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location) = 0;
 };