+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::Set(wxMimeTypesManagerFactory *factory)
+{
+ delete m_factory;
+
+ m_factory = factory;
+}
+
+/* static */
+wxMimeTypesManagerFactory *wxMimeTypesManagerFactory::Get()
+{
+ if ( !m_factory )
+ m_factory = new wxMimeTypesManagerFactory;
+
+ return m_factory;
+}
+
+wxMimeTypesManagerImpl *wxMimeTypesManagerFactory::CreateMimeTypesManagerImpl()
+{
+ return new wxMimeTypesManagerImpl;
+}
+