/////////////////////////////////////////////////////////////////////////////
-// Name: common/mimecmn.cpp
+// Name: src/common/mimecmn.cpp
// Purpose: classes and functions to manage MIME types
// Author: Vadim Zeitlin
// Modified by:
#if wxUSE_MIMETYPE
+#include "wx/mimetype.h"
+
#ifndef WX_PRECOMP
- #include "wx/string.h"
+ #include "wx/dynarray.h"
+ #include "wx/string.h"
+ #include "wx/intl.h"
+ #include "wx/log.h"
#endif //WX_PRECOMP
#include "wx/module.h"
-#include "wx/log.h"
#include "wx/file.h"
#include "wx/iconloc.h"
-#include "wx/intl.h"
-#include "wx/dynarray.h"
#include "wx/confbase.h"
-#include "wx/mimetype.h"
-
// other standard headers
#include <ctype.h>
for ( ;; )
{
+ // icc gives this warning in its own va_arg() macro, argh
+#ifdef __INTELC__
+ #pragma warning(push)
+ #pragma warning(disable: 1684)
+#endif
+
const wxChar *ext = va_arg(argptr, const wxChar *);
+
+#ifdef __INTELC__
+ #pragma warning(pop)
+#endif
if ( !ext )
{
// NULL terminates the list
}
#include "wx/arrimpl.cpp"
-WX_DEFINE_OBJARRAY(wxArrayFileTypeInfo);
+WX_DEFINE_OBJARRAY(wxArrayFileTypeInfo)
// ============================================================================
// implementation of the wrapper classes
#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;
+}
// ----------------------------------------------------------------------------
// wxMimeTypesManager
void wxMimeTypesManager::EnsureImpl()
{
if ( !m_impl )
- m_impl = new wxMimeTypesManagerImpl;
+ m_impl = wxMimeTypesManagerFactory::GetFactory()->CreateMimeTypesManagerImpl();
}
bool wxMimeTypesManager::IsOfType(const wxString& mimeType,