#ifndef WX_PRECOMP
#include "wx/log.h"
+ #include "wx/module.h"
#endif
#include "wx/wfstream.h"
-#include "wx/module.h"
#include "wx/mimetype.h"
#include "wx/filename.h"
#include "wx/tokenzr.h"
void wxFileSystem::AddHandler(wxFileSystemHandler *handler)
{
- m_Handlers.Append(handler);
+ // prepend the handler to the beginning of the list because handlers added
+ // last should have the highest priority to allow overriding them
+ m_Handlers.Insert((size_t)0, handler);
}
+bool wxFileSystem::HasHandlerForPath(const wxString &location)
+{
+ for ( wxList::compatibility_iterator node = m_Handlers.GetFirst();
+ node; node = node->GetNext() )
+ {
+ wxFileSystemHandler *h = (wxFileSystemHandler*) node->GetData();
+ if (h->CanOpen(location))
+ return true;
+ }
+
+ return false;
+}
void wxFileSystem::CleanUpHandlers()
{