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
{
public:
wxFSFile(wxInputStream *stream, const wxString& loc,
wxFSFile(wxInputStream *stream, const wxString& loc,
const wxString& mimetype, const wxString& anchor,
wxDateTime modif)
{
@@ -76,6 +76,8 @@ private:
wxString m_MimeType;
wxString m_Anchor;
wxDateTime m_Modif;
DECLARE_ABSTRACT_CLASS(wxFSFile)
};
@@ -226,13 +228,13 @@ public:
virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location);
virtual wxString FindFirst(const wxString& spec, int flags = 0);
virtual wxString FindNext();
// wxLocalFSHandler will prefix all filenames with 'root' before accessing
// 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'.)
static void Chroot(const wxString& root) { ms_root = root; }
protected:
static wxString ms_root;
};

View File

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