+
+ for ( wxXmlResourceDataRecords::iterator i = m_data->begin();
+ i != m_data->end(); ++i )
+ {
+ delete *i;
+ }
+ delete m_data;
+}
+
+void wxXmlResource::SetDomain(const wxString& domain)
+{
+ m_domain = domain;
+}
+
+
+/* static */
+wxString wxXmlResource::ConvertFileNameToURL(const wxString& filename)
+{
+ wxString fnd(filename);
+
+ // NB: as Load() and Unload() accept both filenames and URLs (should
+ // probably be changed to filenames only, but embedded resources
+ // currently rely on its ability to handle URLs - FIXME) we need to
+ // determine whether found name is filename and not URL and this is the
+ // fastest/simplest way to do it
+ if (wxFileName::FileExists(fnd))
+ {
+ // Make the name absolute filename, because the app may
+ // change working directory later:
+ wxFileName fn(fnd);
+ if (fn.IsRelative())
+ {
+ fn.MakeAbsolute();
+ fnd = fn.GetFullPath();
+ }
+#if wxUSE_FILESYSTEM
+ fnd = wxFileSystem::FileNameToURL(fnd);
+#endif
+ }
+
+ return fnd;
+}
+
+#if wxUSE_FILESYSTEM
+
+/* static */
+bool wxXmlResource::IsArchive(const wxString& filename)
+{
+ const wxString fnd = filename.Lower();
+
+ return fnd.Matches(wxT("*.zip")) || fnd.Matches(wxT("*.xrs"));