#if wxUSE_MIMETYPE
+#include "wx/mimetype.h"
+
#ifndef WX_PRECOMP
#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/confbase.h"
-#include "wx/mimetype.h"
-
// other standard headers
#include <ctype.h>
#endif
}
-//----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
// wxMimeTypesManagerFactory
-//----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
wxMimeTypesManagerFactory *wxMimeTypesManagerFactory::m_factory = NULL;
/* static */
-void wxMimeTypesManagerFactory::SetFactory( wxMimeTypesManagerFactory *factory )
+void wxMimeTypesManagerFactory::Set(wxMimeTypesManagerFactory *factory)
{
- if (wxMimeTypesManagerFactory::m_factory)
- delete wxMimeTypesManagerFactory::m_factory;
+ delete m_factory;
- wxMimeTypesManagerFactory::m_factory = factory;
+ m_factory = factory;
}
/* static */
-wxMimeTypesManagerFactory *wxMimeTypesManagerFactory::GetFactory()
+wxMimeTypesManagerFactory *wxMimeTypesManagerFactory::Get()
{
- if (!wxMimeTypesManagerFactory::m_factory)
- wxMimeTypesManagerFactory::m_factory = new wxMimeTypesManagerFactory;
+ if ( !m_factory )
+ m_factory = new wxMimeTypesManagerFactory;
- return wxMimeTypesManagerFactory::m_factory;
+ return m_factory;
}
wxMimeTypesManagerImpl *wxMimeTypesManagerFactory::CreateMimeTypesManagerImpl()
void wxMimeTypesManager::EnsureImpl()
{
if ( !m_impl )
- m_impl = wxMimeTypesManagerFactory::GetFactory()->CreateMimeTypesManagerImpl();
+ m_impl = wxMimeTypesManagerFactory::Get()->CreateMimeTypesManagerImpl();
}
bool wxMimeTypesManager::IsOfType(const wxString& mimeType,
bool wxMimeTypesManager::Unassociate(wxFileType *ft)
{
+ EnsureImpl();
+
#if defined(__UNIX__) && !defined(__CYGWIN__) && !defined(__WINE__)
return m_impl->Unassociate(ft);
#else
{
public:
wxMimeTypeCmnModule() : wxModule() { }
+
virtual bool OnInit() { return true; }
virtual void OnExit()
{
- // this avoids false memory leak allerts:
+ wxMimeTypesManagerFactory::Set(NULL);
+
if ( gs_mimeTypesManager.m_impl != NULL )
{
delete gs_mimeTypesManager.m_impl;