X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..ad653fa23069c5d9378247084f03c9a718c3ad62:/src/common/sckfile.cpp diff --git a/src/common/sckfile.cpp b/src/common/sckfile.cpp index e48f33693f..cccbd9c891 100644 --- a/src/common/sckfile.cpp +++ b/src/common/sckfile.cpp @@ -1,39 +1,40 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: sckfile.cpp +// Name: src/common/sckfile.cpp // Purpose: File protocol // Author: Guilhem Lavaux // Modified by: // Created: 20/07/97 // RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "sckfile.h" -#endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ - #pragma hdrstop + #pragma hdrstop #endif +#if wxUSE_STREAMS && wxUSE_PROTOCOL_FILE + #ifndef WX_PRECOMP - #include "wx/defs.h" #endif -#if wxUSE_STREAMS - -#include +#include "wx/uri.h" #include "wx/wfstream.h" #include "wx/protocol/file.h" + +// ---------------------------------------------------------------------------- +// wxFileProto +// ---------------------------------------------------------------------------- + IMPLEMENT_DYNAMIC_CLASS(wxFileProto, wxProtocol) -IMPLEMENT_PROTOCOL(wxFileProto, wxT("file"), NULL, FALSE) +IMPLEMENT_PROTOCOL(wxFileProto, wxT("file"), NULL, false) wxFileProto::wxFileProto() - : wxProtocol() + : wxProtocol() { } @@ -43,8 +44,17 @@ wxFileProto::~wxFileProto() wxInputStream *wxFileProto::GetInputStream(const wxString& path) { - return new wxFileInputStream(path); -} + wxFileInputStream *retval = new wxFileInputStream(wxURI::Unescape(path)); + if ( retval->IsOk() ) + { + m_lastError = wxPROTO_NOERR; + return retval; + } -#endif + m_lastError = wxPROTO_NOFILE; + delete retval; + + return NULL; +} +#endif // wxUSE_STREAMS && wxUSE_PROTOCOL_FILE