+bool wxFileType::SetDefaultIcon(const wxString& cmd, int index)
+{
+ wxString sTmp = cmd;
+#ifdef __WXMSW__
+ // VZ: should we do this?
+ // chris elliott : only makes sense in MS windows
+ if ( sTmp.empty() )
+ GetOpenCommand(&sTmp, wxFileType::MessageParameters(wxEmptyString, wxEmptyString));
+#endif
+ wxCHECK_MSG( !sTmp.empty(), false, _T("need the icon file") );
+
+#if defined (__WXMSW__) || defined(__UNIX__)
+ return m_impl->SetDefaultIcon (cmd, index);
+#else
+ wxUnusedVar(index);
+ wxFAIL_MSG(_T("not implemented"));
+ return false;
+#endif
+}
+
+//----------------------------------------------------------------------------
+// wxMimeTypesManagerFactory
+//----------------------------------------------------------------------------
+
+wxMimeTypesManagerFactory *wxMimeTypesManagerFactory::m_factory = NULL;
+
+/* static */
+void wxMimeTypesManagerFactory::SetFactory( wxMimeTypesManagerFactory *factory )
+{
+ if (wxMimeTypesManagerFactory::m_factory)
+ delete wxMimeTypesManagerFactory::m_factory;
+
+ wxMimeTypesManagerFactory::m_factory = factory;
+}
+
+/* static */
+wxMimeTypesManagerFactory *wxMimeTypesManagerFactory::GetFactory()
+{
+ if (!wxMimeTypesManagerFactory::m_factory)
+ wxMimeTypesManagerFactory::m_factory = new wxMimeTypesManagerFactory;
+
+ return wxMimeTypesManagerFactory::m_factory;
+}
+
+wxMimeTypesManagerImpl *wxMimeTypesManagerFactory::CreateMimeTypesManagerImpl()
+{
+ return new wxMimeTypesManagerImpl;
+}
+