no changes, just some minor cleanup

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-10-06 13:09:20 +00:00
parent 3591d10f4f
commit cb564879c1

View File

@@ -32,7 +32,6 @@
class MemFSHashObj : public wxObject class MemFSHashObj : public wxObject
{ {
public: public:
MemFSHashObj(const void *data, size_t len, const wxString& mime) MemFSHashObj(const void *data, size_t len, const wxString& mime)
{ {
m_Data = new char[len]; m_Data = new char[len];
@@ -89,8 +88,6 @@ wxMemoryFSHandlerBase::wxMemoryFSHandlerBase() : wxFileSystemHandler()
{ {
} }
wxMemoryFSHandlerBase::~wxMemoryFSHandlerBase() wxMemoryFSHandlerBase::~wxMemoryFSHandlerBase()
{ {
// as only one copy of FS handler is supposed to exist, we may silently // as only one copy of FS handler is supposed to exist, we may silently
@@ -105,23 +102,21 @@ wxMemoryFSHandlerBase::~wxMemoryFSHandlerBase()
} }
} }
bool wxMemoryFSHandlerBase::CanOpen(const wxString& location) bool wxMemoryFSHandlerBase::CanOpen(const wxString& location)
{ {
wxString p = GetProtocol(location); return GetProtocol(location) == "memory";
return (p == wxT("memory"));
} }
wxFSFile * wxMemoryFSHandlerBase::OpenFile(wxFileSystem& WXUNUSED(fs),
const wxString& location)
wxFSFile* wxMemoryFSHandlerBase::OpenFile(wxFileSystem& WXUNUSED(fs), const wxString& location)
{
if (m_Hash)
{ {
if ( !m_Hash )
return NULL;
MemFSHashObj *obj = (MemFSHashObj*) m_Hash->Get(GetRightLocation(location)); MemFSHashObj *obj = (MemFSHashObj*) m_Hash->Get(GetRightLocation(location));
if (obj == NULL) return NULL; if ( !obj )
return NULL;
else return new wxFSFile(new wxMemoryInputStream(obj->m_Data, obj->m_Len), else return new wxFSFile(new wxMemoryInputStream(obj->m_Data, obj->m_Len),
location, location,
obj->m_MimeType, obj->m_MimeType,
@@ -131,10 +126,6 @@ wxFSFile* wxMemoryFSHandlerBase::OpenFile(wxFileSystem& WXUNUSED(fs), const wxSt
#endif // wxUSE_DATETIME #endif // wxUSE_DATETIME
); );
} }
else return NULL;
}
wxString wxMemoryFSHandlerBase::FindFirst(const wxString& WXUNUSED(spec), wxString wxMemoryFSHandlerBase::FindFirst(const wxString& WXUNUSED(spec),
int WXUNUSED(flags)) int WXUNUSED(flags))
@@ -144,8 +135,6 @@ wxString wxMemoryFSHandlerBase::FindFirst(const wxString& WXUNUSED(spec),
return wxEmptyString; return wxEmptyString;
} }
wxString wxMemoryFSHandlerBase::FindNext() wxString wxMemoryFSHandlerBase::FindNext()
{ {
wxFAIL_MSG(wxT("wxMemoryFSHandlerBase::FindNext not implemented")); wxFAIL_MSG(wxT("wxMemoryFSHandlerBase::FindNext not implemented"));
@@ -153,22 +142,19 @@ wxString wxMemoryFSHandlerBase::FindNext()
return wxEmptyString; return wxEmptyString;
} }
bool wxMemoryFSHandlerBase::CheckHash(const wxString& filename) bool wxMemoryFSHandlerBase::CheckHash(const wxString& filename)
{ {
if (m_Hash == NULL) if ( !m_Hash )
{ {
m_Hash = new wxHashTable(wxKEY_STRING); m_Hash = new wxHashTable(wxKEY_STRING);
} }
if (m_Hash -> Get(filename) != NULL) if ( m_Hash->Get(filename) )
{ {
wxString s; wxLogError(_("Memory VFS already contains file '%s'!"), filename);
s.Printf(_("Memory VFS already contains file '%s'!"), filename.c_str());
wxLogError(s);
return false; return false;
} }
else
return true; return true;
} }
@@ -189,7 +175,9 @@ void wxMemoryFSHandlerBase::AddFileWithMimeType(const wxString& filename,
const void *binarydata, size_t size, const void *binarydata, size_t size,
const wxString& mimetype) const wxString& mimetype)
{ {
if (!CheckHash(filename)) return; if ( !CheckHash(filename) )
return;
m_Hash->Put(filename, new MemFSHashObj(binarydata, size, mimetype)); m_Hash->Put(filename, new MemFSHashObj(binarydata, size, mimetype));
} }
@@ -212,17 +200,17 @@ void wxMemoryFSHandlerBase::AddFile(const wxString& filename,
/*static*/ void wxMemoryFSHandlerBase::RemoveFile(const wxString& filename) /*static*/ void wxMemoryFSHandlerBase::RemoveFile(const wxString& filename)
{ {
if (m_Hash == NULL || if ( !m_Hash || !m_Hash->Get(filename) )
m_Hash -> Get(filename) == NULL)
{ {
wxString s; wxLogError(_("Trying to remove file '%s' from memory VFS, "
s.Printf(_("Trying to remove file '%s' from memory VFS, but it is not loaded!"), filename.c_str()); "but it is not loaded!"),
wxLogError(s); filename);
} }
else else
{
delete m_Hash->Delete(filename); delete m_Hash->Delete(filename);
} }
}
#endif // wxUSE_BASE #endif // wxUSE_BASE
@@ -234,7 +222,8 @@ wxMemoryFSHandler::AddFile(const wxString& filename,
const wxImage& image, const wxImage& image,
wxBitmapType type) wxBitmapType type)
{ {
if (!CheckHash(filename)) return; if ( !CheckHash(filename) )
return;
wxMemoryOutputStream mems; wxMemoryOutputStream mems;
if (image.Ok() && image.SaveFile(mems, type)) if (image.Ok() && image.SaveFile(mems, type))
@@ -251,10 +240,7 @@ wxMemoryFSHandler::AddFile(const wxString& filename,
} }
else else
{ {
wxString s; wxLogError(_("Failed to store image '%s' to memory VFS!"), filename);
s.Printf(_("Failed to store image '%s' to memory VFS!"), filename.c_str());
wxPrintf(wxT("'%s'\n"), s.c_str());
wxLogError(s);
} }
} }