#include "wx/tokenzr.h"
#include "wx/private/fileback.h"
+// ----------------------------------------------------------------------------
+// wxFSFile
+// ----------------------------------------------------------------------------
-//--------------------------------------------------------------------------------
+const wxString& wxFSFile::GetMimeType() const
+{
+ if ( m_MimeType.empty() && !m_Location.empty() )
+ {
+ wxConstCast(this, wxFSFile)->m_MimeType =
+ wxFileSystemHandler::GetMimeTypeFromExt(m_Location);
+ }
+
+ return m_MimeType;
+}
+
+// ----------------------------------------------------------------------------
// wxFileSystemHandler
-//--------------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
IMPLEMENT_ABSTRACT_CLASS(wxFileSystemHandler, wxObject)
+/* static */
wxString wxFileSystemHandler::GetMimeTypeFromExt(const wxString& location)
{
wxString ext, mime;
wxEmptyString,
wxEmptyString,
_T("JPEG image (from fallback)"),
- _T("jpg"), _T("jpeg"), _T("JPG"), _T("JPEG"), NULL),
+ _T("jpg"), _T("jpeg"), _T("JPG"), _T("JPEG"), wxNullPtr),
wxFileTypeInfo(_T("image/gif"),
wxEmptyString,
wxEmptyString,
_T("GIF image (from fallback)"),
- _T("gif"), _T("GIF"), NULL),
+ _T("gif"), _T("GIF"), wxNullPtr),
wxFileTypeInfo(_T("image/png"),
wxEmptyString,
wxEmptyString,
_T("PNG image (from fallback)"),
- _T("png"), _T("PNG"), NULL),
+ _T("png"), _T("PNG"), wxNullPtr),
wxFileTypeInfo(_T("image/bmp"),
wxEmptyString,
wxEmptyString,
_T("windows bitmap image (from fallback)"),
- _T("bmp"), _T("BMP"), NULL),
+ _T("bmp"), _T("BMP"), wxNullPtr),
wxFileTypeInfo(_T("text/html"),
wxEmptyString,
wxEmptyString,
_T("HTML document (from fallback)"),
- _T("htm"), _T("html"), _T("HTM"), _T("HTML"), NULL),
+ _T("htm"), _T("html"), _T("HTM"), _T("HTML"), wxNullPtr),
// must terminate the table with this!
wxFileTypeInfo()
};
-wxString wxFileSystemHandler::GetProtocol(const wxString& location) const
+/* static */
+wxString wxFileSystemHandler::GetProtocol(const wxString& location)
{
wxString s = wxEmptyString;
int i, l = location.length();
}
-wxString wxFileSystemHandler::GetLeftLocation(const wxString& location) const
+/* static */
+wxString wxFileSystemHandler::GetLeftLocation(const wxString& location)
{
int i;
bool fnd = false;
return wxEmptyString;
}
-wxString wxFileSystemHandler::GetRightLocation(const wxString& location) const
+/* static */
+wxString wxFileSystemHandler::GetRightLocation(const wxString& location)
{
int i, l = location.length();
int l2 = l + 1;
else return location.Mid(i + 1, l2 - i - 2);
}
-wxString wxFileSystemHandler::GetAnchor(const wxString& location) const
+/* static */
+wxString wxFileSystemHandler::GetAnchor(const wxString& location)
{
wxChar c;
int l = location.length();
// we need to check whether we can really read from this file, otherwise
// wxFSFile is not going to work
-#if wxUSE_FILE
- wxFileInputStream *is = new wxFileInputStream(fullpath);
-#elif wxUSE_FFILE
+#if wxUSE_FFILE
wxFFileInputStream *is = new wxFFileInputStream(fullpath);
+#elif wxUSE_FILE
+ wxFileInputStream *is = new wxFileInputStream(fullpath);
#else
#error One of wxUSE_FILE or wxUSE_FFILE must be set to 1 for wxFSHandler to work
#endif
return new wxFSFile(is,
right,
- GetMimeTypeFromExt(location),
+ wxEmptyString,
GetAnchor(location)
#if wxUSE_DATETIME
,wxDateTime(wxFileModificationTime(fullpath))