// Purpose: HTTP and FTP file system
// Author: Vaclav Slavik
// Copyright: (c) 1999 Vaclav Slavik
-// Licence: wxWindows Licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
public:
wxTemporaryFileInputStream(const wxString& filename) :
wxFileInputStream(filename), m_filename(filename) {}
-
+
~wxTemporaryFileInputStream()
{
// NB: copied from wxFileInputStream dtor, we need to do it before
delete m_file;
m_file_destroy = false;
}
- wxRemoveFile(m_filename);
+ wxRemoveFile(m_filename);
}
protected:
static wxString StripProtocolAnchor(const wxString& location)
{
wxString myloc(location.BeforeLast(wxT('#')));
- if (myloc.IsEmpty()) myloc = location.AfterFirst(wxT(':'));
+ if (myloc.empty()) myloc = location.AfterFirst(wxT(':'));
else myloc = myloc.AfterFirst(wxT(':'));
// fix malformed url:
- if (myloc.Left(2) != wxT("//"))
+ if (!myloc.Left(2).IsSameAs(wxT("//")))
{
if (myloc.GetChar(0) != wxT('/')) myloc = wxT("//") + myloc;
else myloc = wxT("/") + myloc;
bool wxInternetFSHandler::CanOpen(const wxString& location)
{
+#if wxUSE_URL
wxString p = GetProtocol(location);
if ((p == wxT("http")) || (p == wxT("ftp")))
{
wxURL url(p + wxT(":") + StripProtocolAnchor(location));
return (url.GetError() == wxURL_NOERR);
}
-
- return FALSE;
+#endif
+ return false;
}
wxFSFile* wxInternetFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs),
const wxString& location)
{
+#if !wxUSE_URL
+ return NULL;
+#else
wxString right =
GetProtocol(location) + wxT(":") + StripProtocolAnchor(location);
s->Read(sout);
}
delete s;
-
+
return new wxFSFile(new wxTemporaryFileInputStream(tmpfile),
right,
content,
}
return (wxFSFile*) NULL; // incorrect URL
+#endif
}
virtual bool OnInit()
{
wxFileSystem::AddHandler(new wxInternetFSHandler);
- return TRUE;
+ return true;
}
virtual void OnExit() {}
};