// Purpose: class for opening files - virtual file system
// Author: Vaclav Slavik
// Copyright: (c) 1999 Vaclav Slavik
-// RCS-ID: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/defs.h"
+#if wxUSE_FILESYSTEM
+
#if !wxUSE_STREAMS
#error You cannot compile virtual file systems without wxUSE_STREAMS
#endif
#error You cannot compile wxHTML without virtual file systems
#endif
-#if wxUSE_FILESYSTEM
-
#include "wx/stream.h"
#include "wx/datetime.h"
#include "wx/filename.h"
#endif // wxUSE_DATETIME
DECLARE_ABSTRACT_CLASS(wxFSFile)
- DECLARE_NO_COPY_CLASS(wxFSFile)
+ wxDECLARE_NO_COPY_CLASS(wxFSFile);
};
// Handlers local to this instance
DECLARE_DYNAMIC_CLASS(wxFileSystem)
- DECLARE_NO_COPY_CLASS(wxFileSystem)
+ wxDECLARE_NO_COPY_CLASS(wxFileSystem);
};
static wxString ms_root;
};
+// Stream reading data from wxFSFile: this allows to use virtual files with any
+// wx functions accepting streams.
+class WXDLLIMPEXP_BASE wxFSInputStream : public wxWrapperInputStream
+{
+public:
+ // Notice that wxFS_READ is implied in flags.
+ wxFSInputStream(const wxString& filename, int flags = 0);
+ virtual ~wxFSInputStream();
+
+private:
+ wxFSFile* m_file;
+ wxDECLARE_NO_COPY_CLASS(wxFSInputStream);
+};
#endif
// wxUSE_FILESYSTEM