added wx type info macros for wxFSFile

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2002-02-01 02:08:19 +00:00
parent 7faa9591f4
commit 4683727281
2 changed files with 11 additions and 8 deletions

View File

@@ -44,7 +44,7 @@ class wxFileSystem;
class WXDLLEXPORT wxFSFile : public wxObject class WXDLLEXPORT wxFSFile : public wxObject
{ {
public: public:
wxFSFile(wxInputStream *stream, const wxString& loc, wxFSFile(wxInputStream *stream, const wxString& loc,
const wxString& mimetype, const wxString& anchor, const wxString& mimetype, const wxString& anchor,
wxDateTime modif) wxDateTime modif)
{ {
@@ -76,6 +76,8 @@ private:
wxString m_MimeType; wxString m_MimeType;
wxString m_Anchor; wxString m_Anchor;
wxDateTime m_Modif; wxDateTime m_Modif;
DECLARE_ABSTRACT_CLASS(wxFSFile)
}; };
@@ -226,13 +228,13 @@ public:
virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location); virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location);
virtual wxString FindFirst(const wxString& spec, int flags = 0); virtual wxString FindFirst(const wxString& spec, int flags = 0);
virtual wxString FindNext(); virtual wxString FindNext();
// wxLocalFSHandler will prefix all filenames with 'root' before accessing // wxLocalFSHandler will prefix all filenames with 'root' before accessing
// files on disk. This effectively makes 'root' the top-level directory // files on disk. This effectively makes 'root' the top-level directory
// and prevents access to files outside this directory. // and prevents access to files outside this directory.
// (This is similar to Unix command 'chroot'.) // (This is similar to Unix command 'chroot'.)
static void Chroot(const wxString& root) { ms_root = root; } static void Chroot(const wxString& root) { ms_root = root; }
protected: protected:
static wxString ms_root; static wxString ms_root;
}; };

View File

@@ -47,14 +47,14 @@ wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location)
int l = loc.Length(), l2; int l = loc.Length(), l2;
l2 = l; l2 = l;
for (int i = l-1; i >= 0; i--) for (int i = l-1; i >= 0; i--)
{ {
c = loc[(unsigned int) i]; c = loc[(unsigned int) i];
if ( c == wxT('#') ) if ( c == wxT('#') )
l2 = i + 1; l2 = i + 1;
if ( c == wxT('.') ) if ( c == wxT('.') )
{ {
ext = loc.Right(l2-i-1); ext = loc.Right(l2-i-1);
break; break;
} }
if ( (c == wxT('/')) || (c == wxT('\\')) || (c == wxT(':')) ) if ( (c == wxT('/')) || (c == wxT('\\')) || (c == wxT(':')) )
@@ -174,10 +174,10 @@ wxFSFile* wxLocalFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), const wxString&
// location has Unix path separators // location has Unix path separators
wxString right = ms_root + GetRightLocation(location); wxString right = ms_root + GetRightLocation(location);
wxFileName fn(right, wxPATH_UNIX); wxFileName fn(right, wxPATH_UNIX);
if (!wxFileExists(fn.GetFullPath())) if (!wxFileExists(fn.GetFullPath()))
return (wxFSFile*) NULL; return (wxFSFile*) NULL;
return new wxFSFile(new wxFileInputStream(fn.GetFullPath()), return new wxFSFile(new wxFileInputStream(fn.GetFullPath()),
right, right,
GetMimeTypeFromExt(location), GetMimeTypeFromExt(location),
@@ -204,6 +204,7 @@ wxString wxLocalFSHandler::FindNext()
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxFileSystem, wxObject) IMPLEMENT_DYNAMIC_CLASS(wxFileSystem, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxFSFile, wxObject)
wxList wxFileSystem::m_Handlers; wxList wxFileSystem::m_Handlers;