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