X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af49c4b8a2d3553e733e71c7dd3911881f4c1a2a..ae8c4b33a3272fba39c405542141e7c486b75136:/include/wx/filesys.h diff --git a/include/wx/filesys.h b/include/wx/filesys.h index b8e5da0927..f763f48579 100644 --- a/include/wx/filesys.h +++ b/include/wx/filesys.h @@ -29,6 +29,7 @@ #include "wx/stream.h" #include "wx/url.h" #include "wx/datetime.h" +#include "wx/filename.h" class wxFSFile; class wxFileSystemHandler; @@ -41,23 +42,29 @@ class wxFileSystem; // (in 'index.htm#chapter2', 'chapter2' is anchor) //-------------------------------------------------------------------------------- -class WXDLLEXPORT wxFSFile : public wxObject +class WXDLLIMPEXP_BASE wxFSFile : public wxObject { public: wxFSFile(wxInputStream *stream, const wxString& loc, - const wxString& mimetype, const wxString& anchor, - wxDateTime modif) + const wxString& mimetype, const wxString& anchor +#if wxUSE_DATETIME + , wxDateTime modif +#endif // wxUSE_DATETIME + ) { m_Stream = stream; m_Location = loc; m_MimeType = mimetype; m_MimeType.MakeLower(); m_Anchor = anchor; +#if wxUSE_DATETIME m_Modif = modif; +#endif // wxUSE_DATETIME } + virtual ~wxFSFile() { if (m_Stream) delete m_Stream; } // returns stream. This doesn't _create_ stream, it only returns - // pointer to it!! + // pointer to it. wxInputStream *GetStream() const {return m_Stream;} // returns file's mime type @@ -68,16 +75,21 @@ public: const wxString& GetAnchor() const {return m_Anchor;} +#if wxUSE_DATETIME wxDateTime GetModificationTime() const {return m_Modif;} +#endif // wxUSE_DATETIME private: wxInputStream *m_Stream; wxString m_Location; wxString m_MimeType; wxString m_Anchor; +#if wxUSE_DATETIME wxDateTime m_Modif; +#endif // wxUSE_DATETIME DECLARE_ABSTRACT_CLASS(wxFSFile) + DECLARE_NO_COPY_CLASS(wxFSFile) }; @@ -91,7 +103,7 @@ private: // kinds of files (HTPP, FTP, local, tar.gz etc..) //-------------------------------------------------------------------------------- -class WXDLLEXPORT wxFileSystemHandler : public wxObject +class WXDLLIMPEXP_BASE wxFileSystemHandler : public wxObject { public: wxFileSystemHandler() : wxObject() {} @@ -145,10 +157,11 @@ protected: // kinds of files (HTPP, FTP, local, tar.gz etc..) //-------------------------------------------------------------------------------- -class WXDLLEXPORT wxFileSystem : public wxObject +class WXDLLIMPEXP_BASE wxFileSystem : public wxObject { public: - wxFileSystem() : wxObject() {m_Path = m_LastName = wxEmptyString; m_Handlers.DeleteContents(TRUE); m_FindFileHandler = NULL;} + wxFileSystem() : wxObject() {m_Path = m_LastName = wxEmptyString; m_FindFileHandler = NULL;} + ~wxFileSystem() { WX_CLEAR_LIST(wxList, m_Handlers); } // sets the current location. Every call to OpenFile is // relative to this location. @@ -180,6 +193,13 @@ public: // remove all items from the m_Handlers list static void CleanUpHandlers(); + // Returns the native path for a file URL + static wxFileName URLToFileName(const wxString& url); + + // Returns the file URL for a native path + static wxString FileNameToURL(const wxFileName& filename); + + protected: wxString m_Path; // the path (location) we are currently in @@ -194,6 +214,7 @@ protected: // handler that succeed in FindFirst query DECLARE_DYNAMIC_CLASS(wxFileSystem) + DECLARE_NO_COPY_CLASS(wxFileSystem) }; @@ -221,7 +242,7 @@ special characters : */ -class wxLocalFSHandler : public wxFileSystemHandler +class WXDLLIMPEXP_BASE wxLocalFSHandler : public wxFileSystemHandler { public: virtual bool CanOpen(const wxString& location);