]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/filesys.h
Use /bin/echo for creation of Mac OS X PkgInfo files.
[wxWidgets.git] / interface / wx / filesys.h
index 80accecb768140f5e821ca251e22f7f466f48385..17157177da50c5497c9c60a4a680a5865044490b 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxFileSystem, wxFileSystemHandler, wxFSFile
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxFileSystem, wxFileSystemHandler, wxFSFile
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
 /////////////////////////////////////////////////////////////////////////////
 
 
@@ -36,6 +36,11 @@ class wxFileSystem : public wxObject
 public:
     /**
         Constructor.
 public:
     /**
         Constructor.
+
+        The initial current path of this object will be empty
+        (i.e. GetPath() == wxEmptyString) which means that e.g. OpenFile()
+        or FindFirst() functions will use current working directory as
+        current path (see also wxGetCwd).
     */
     wxFileSystem();
 
     */
     wxFileSystem();
 
@@ -54,8 +59,13 @@ public:
               handlers are deleted in wxFileSystem's destructor so that you
               don't have to care about it.
     */
               handlers are deleted in wxFileSystem's destructor so that you
               don't have to care about it.
     */
-    static void AddHandler(wxFileSystemHandler handler);
+    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.
     /**
         Sets the current location. @a location parameter passed to OpenFile() is
         relative to this path.
@@ -155,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.
         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);
     */
     wxFSFile* OpenFile(const wxString& location,
                        int flags = wxFS_READ);
@@ -172,7 +187,7 @@ public:
     @class wxFSFile
 
     This class represents a single file opened by wxFileSystem.
     @class wxFSFile
 
     This class represents a single file opened by wxFileSystem.
-    It provides more information than wxWindow's input stream
+    It provides more informations than wxWidgets' input streams
     (stream, filename, mime type, anchor).
 
     @note Any pointer returned by a method of wxFSFile is valid only as long as
     (stream, filename, mime type, anchor).
 
     @note Any pointer returned by a method of wxFSFile is valid only as long as
@@ -182,7 +197,7 @@ public:
           ten identical pointers.
 
     @library{wxbase}
           ten identical pointers.
 
     @library{wxbase}
-    @category{vfs}
+    @category{vfs,file}
 
     @see wxFileSystemHandler, wxFileSystem, @ref overview_fs
 */
 
     @see wxFileSystemHandler, wxFileSystem, @ref overview_fs
 */
@@ -233,7 +248,7 @@ public:
 
     /**
         Detaches the stream from the wxFSFile object. That is, the
 
     /**
         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.
         after the wxFSFile object is deleted.
 
         You will have to delete the stream yourself.
@@ -326,7 +341,7 @@ public:
 
     @beginWxPerlOnly
     In wxPerl, you need to derive your file system handler class
 
     @beginWxPerlOnly
     In wxPerl, you need to derive your file system handler class
-    from Wx::PlFileSystemHandler.
+    from @c Wx::PlFileSystemHandler.
     @endWxPerlOnly
 
     @library{wxbase}
     @endWxPerlOnly
 
     @library{wxbase}
@@ -378,6 +393,32 @@ public:
     */
     virtual wxString FindNext();
 
     */
     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.
     /**
         Returns the anchor if present in the location.
         See wxFSFile::GetAnchor for details.
@@ -401,18 +442,6 @@ public:
     */
     static wxString GetLeftLocation(const wxString& location);
 
     */
     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.
 
     /**
         Returns the protocol string extracted from @a location.
 
@@ -432,17 +461,5 @@ public:
         @endcode
     */
     static wxString GetRightLocation(const wxString& location);
         @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;
 };
 
 };