X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/52ad298e6600c75c417f94d23eef72ad4d78f133..00bb6d6f57537b68de41ddde01388aa55cb6379b:/include/wx/filesys.h diff --git a/include/wx/filesys.h b/include/wx/filesys.h index ca273c8876..cd2af3bbeb 100644 --- a/include/wx/filesys.h +++ b/include/wx/filesys.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: filesys.h +// Name: wx/filesys.h // Purpose: class for opening files - virtual file system // Author: Vaclav Slavik // Copyright: (c) 1999 Vaclav Slavik @@ -27,9 +27,9 @@ #include "wx/filename.h" #include "wx/hashmap.h" -class WXDLLIMPEXP_BASE wxFSFile; -class WXDLLIMPEXP_BASE wxFileSystemHandler; -class WXDLLIMPEXP_BASE wxFileSystem; +class WXDLLIMPEXP_FWD_BASE wxFSFile; +class WXDLLIMPEXP_FWD_BASE wxFileSystemHandler; +class WXDLLIMPEXP_FWD_BASE wxFileSystem; //-------------------------------------------------------------------------------- // wxFSFile @@ -50,7 +50,7 @@ public: { m_Stream = stream; m_Location = loc; - m_MimeType = mimetype; m_MimeType.MakeLower(); + m_MimeType = mimetype.Lower(); m_Anchor = anchor; #if wxUSE_DATETIME m_Modif = modif; @@ -78,7 +78,7 @@ public: } // returns file's mime type - const wxString& GetMimeType() const { return m_MimeType; } + const wxString& GetMimeType() const; // returns the original location (aka filename) of the file const wxString& GetLocation() const { return m_Location; } @@ -132,28 +132,28 @@ public: virtual wxString FindFirst(const wxString& spec, int flags = 0); virtual wxString FindNext(); + // Returns MIME type of the file - w/o need to open it + // (default behaviour is that it returns type based on extension) + static wxString GetMimeTypeFromExt(const wxString& location); + protected: // returns protocol ("file", "http", "tar" etc.) The last (most right) // protocol is used: // {it returns "tar" for "file:subdir/archive.tar.gz#tar:/README.txt"} - wxString GetProtocol(const wxString& location) const; + static wxString GetProtocol(const wxString& location); // returns left part of address: // {it returns "file:subdir/archive.tar.gz" for "file:subdir/archive.tar.gz#tar:/README.txt"} - wxString GetLeftLocation(const wxString& location) const; + static wxString GetLeftLocation(const wxString& location); // returns anchor part of address: // {it returns "anchor" for "file:subdir/archive.tar.gz#tar:/README.txt#anchor"} // NOTE: anchor is NOT a part of GetLeftLocation()'s return value - wxString GetAnchor(const wxString& location) const; + static wxString GetAnchor(const wxString& location); // returns right part of address: // {it returns "/README.txt" for "file:subdir/archive.tar.gz#tar:/README.txt"} - wxString GetRightLocation(const wxString& location) const; - - // Returns MIME type of the file - w/o need to open it - // (default behaviour is that it returns type based on extension) - wxString GetMimeTypeFromExt(const wxString& location); + static wxString GetRightLocation(const wxString& location); DECLARE_ABSTRACT_CLASS(wxFileSystemHandler) }; @@ -170,11 +170,10 @@ protected: // Open Bit Flags enum { wxFS_READ = 1, // Open for reading - wxFS_WRITE = 2, // Open for writing wxFS_SEEKABLE = 4 // Returned stream will be seekable }; -WX_DECLARE_VOIDPTR_HASH_MAP(wxFileSystemHandler*, wxFSHandlerHash); +WX_DECLARE_VOIDPTR_HASH_MAP_WITH_DECL(wxFileSystemHandler*, wxFSHandlerHash, class WXDLLIMPEXP_BASE); class WXDLLIMPEXP_BASE wxFileSystem : public wxObject { @@ -206,7 +205,8 @@ public: wxString FindNext(); // find a file in a list of directories, returns false if not found - bool FindFileInPath(wxString *pStr, const wxChar *path, const wxChar *file); + bool FindFileInPath(wxString *pStr, + const wxString& path, const wxString& file); // Adds FS handler. // In fact, this class is only front-end to the FS handlers :-)