]> git.saurik.com Git - wxWidgets.git/commitdiff
added HasHandlerForPath() (modified patch 1514524)
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 24 Jul 2006 17:37:39 +0000 (17:37 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 24 Jul 2006 17:37:39 +0000 (17:37 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/filesys.tex
include/wx/filesys.h
src/common/filesys.cpp

index 15bfcca767f5bb82cf943d2664b5133240f74195..5f28f6f0920a58c05170a993a38b45f5d7877933 100644 (file)
@@ -54,6 +54,14 @@ are deleted in wxFileSystem's destructor so that you don't have to
 care about it.
 
 
+\membersection{wxFileSystem::HasHandlerForPath}\label{wxfilesystemhashandlerforpath}
+
+\func{static bool}{HasHandlerForPath}{\param{const wxString \&}{ location}}
+
+This static function returns \true if there is a registered handler which can open the given
+location.
+
+
 \membersection{wxFileSystem::ChangePathTo}\label{wxfilesystemchangepathto}
 
 \func{void}{ChangePathTo}{\param{const wxString\& }{location}, \param{bool }{is\_dir = false}}
index ff06ee7dbdae194c0909a34a79651502fbbbf85f..354d940275d8bfdc8ba94c6e1ccba26737610e9a 100644 (file)
@@ -188,6 +188,9 @@ public:
     // In fact, this class is only front-end to the FS handlers :-)
     static void AddHandler(wxFileSystemHandler *handler);
 
+    // Returns true if there is a handler which can open the given location.
+    static bool HasHandlerForPath(const wxString& location);
+
     // remove all items from the m_Handlers list
     static void CleanUpHandlers();
 
index 61ec083da446e7c3728772e64bf26b7faca0f6bb..5e99f9787a01d6c3a926876059f13a4bff1fe2cd 100644 (file)
@@ -485,6 +485,18 @@ void wxFileSystem::AddHandler(wxFileSystemHandler *handler)
     m_Handlers.Append(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()
 {