// Purpose: wxFileSystem class - interface for opening files
// Author: Vaclav Slavik
// Copyright: (c) 1999 Vaclav Slavik
-// CVS-ID: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#else
#error One of wxUSE_FILE or wxUSE_FFILE must be set to 1 for wxFSHandler to work
#endif
- if ( !is->Ok() )
+ if ( !is->IsOk() )
{
delete is;
return NULL;
}
return new wxFSFile(is,
- right,
+ location,
wxEmptyString,
GetAnchor(location)
#if wxUSE_DATETIME
path = wxURI::Unescape(path);
-#ifdef __WXMSW__
+#ifdef __WINDOWS__
// file urls either start with a forward slash (local harddisk),
// otherwise they have a servername/sharename notation,
// which only exists on msw and corresponds to a unc
- if ( path[0u] == wxT('/') && path [1u] != wxT('/'))
+ if ( path.length() > 1 && (path[0u] == wxT('/') && path [1u] != wxT('/')) )
{
path = path.Mid(1);
}
IMPLEMENT_DYNAMIC_CLASS(wxFileSystemModule, wxModule)
+//// wxFSInputStream
+
+wxFSInputStream::wxFSInputStream(const wxString& filename, int flags)
+{
+ wxFileSystem fs;
+ m_file = fs.OpenFile(filename, flags | wxFS_READ);
+
+ if ( m_file )
+ {
+ wxInputStream* const stream = m_file->GetStream();
+ if ( stream )
+ {
+ // Notice that we pass the stream by reference: it shouldn't be
+ // deleted by us as it's owned by m_file already.
+ InitParentStream(*stream);
+ }
+ }
+}
+
+wxFSInputStream::~wxFSInputStream()
+{
+ delete m_file;
+}
+
#endif
// wxUSE_FILESYSTEM