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:
@@ -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;
|
||||||
};
|
};
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user