///////////////////////////////////////////////////////////////////////////// // Name: mac/mimetype.cpp // Purpose: classes and functions to manage MIME types // Author: Vadim Zeitlin // Modified by: // Created: 23.09.98 // RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin // Licence: wxWindows licence (part of wxExtra library) ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ #pragma implementation "mimetype.h" #endif // for compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include "wx/defs.h" #endif #ifndef WX_PRECOMP #include "wx/string.h" #if wxUSE_GUI #include "wx/icon.h" #endif #endif //WX_PRECOMP #include "wx/log.h" #include "wx/file.h" #include "wx/intl.h" #include "wx/dynarray.h" #include "wx/confbase.h" #include "wx/mac/mimetype.h" // other standard headers #include // in case we're compiling in non-GUI mode class WXDLLEXPORT wxIcon; bool wxFileTypeImpl::SetCommand(const wxString& cmd, const wxString& verb, bool overwriteprompt) { return FALSE; } bool wxFileTypeImpl::SetDefaultIcon(const wxString& strIcon, int index) { return FALSE; } bool wxFileTypeImpl::GetCommand(wxString *command, const char *verb) const { return FALSE; } // @@ this function is half implemented bool wxFileTypeImpl::GetExtensions(wxArrayString& extensions) { return FALSE; } bool wxFileTypeImpl::GetMimeType(wxString *mimeType) const { if ( m_strFileType.Length() > 0 ) { *mimeType = m_strFileType ; return TRUE ; } else return FALSE; } bool wxFileTypeImpl::GetMimeTypes(wxArrayString& mimeTypes) const { wxString s; if (GetMimeType(&s)) { mimeTypes.Clear(); mimeTypes.Add(s); return TRUE; } else return FALSE; } bool wxFileTypeImpl::GetIcon(wxIconLocation *WXUNUSED(icon)) const { // no such file type or no value or incorrect icon entry return FALSE; } bool wxFileTypeImpl::GetDescription(wxString *desc) const { return FALSE; } size_t wxFileTypeImpl::GetAllCommands(wxArrayString * verbs, wxArrayString * commands, const wxFileType::MessageParameters& params) const { wxFAIL_MSG( _T("wxFileTypeImpl::GetAllCommands() not yet implemented") ); return 0; } void wxMimeTypesManagerImpl::Initialize(int mailcapStyles, const wxString& extraDir) { wxFAIL_MSG( _T("wxMimeTypesManagerImpl::Initialize() not yet implemented") ); } void wxMimeTypesManagerImpl::ClearData() { wxFAIL_MSG( _T("wxMimeTypesManagerImpl::ClearData() not yet implemented") ); } // extension -> file type wxFileType * wxMimeTypesManagerImpl::GetFileTypeFromExtension(const wxString& e) { wxString ext = e ; ext = ext.Lower() ; if ( ext == wxT("txt") ) { wxFileType *fileType = new wxFileType; fileType->m_impl->SetFileType(wxT("text/text")); fileType->m_impl->SetExt(ext); return fileType; } else if ( ext == wxT("htm") || ext == wxT("html") ) { wxFileType *fileType = new wxFileType; fileType->m_impl->SetFileType(wxT("text/html")); fileType->m_impl->SetExt(ext); return fileType; } else if ( ext == wxT("gif") ) { wxFileType *fileType = new wxFileType; fileType->m_impl->SetFileType(wxT("image/gif")); fileType->m_impl->SetExt(ext); return fileType; } else if ( ext == wxT("png" )) { wxFileType *fileType = new wxFileType; fileType->m_impl->SetFileType(wxT("image/png")); fileType->m_impl->SetExt(ext); return fileType; } else if ( ext == wxT("jpg" )|| ext == wxT("jpeg") ) { wxFileType *fileType = new wxFileType; fileType->m_impl->SetFileType(wxT("image/jpeg")); fileType->m_impl->SetExt(ext); return fileType; } else if ( ext == wxT("bmp") ) { wxFileType *fileType = new wxFileType; fileType->m_impl->SetFileType(wxT("image/bmp")); fileType->m_impl->SetExt(ext); return fileType; } else if ( ext == wxT("tif") || ext == wxT("tiff") ) { wxFileType *fileType = new wxFileType; fileType->m_impl->SetFileType(wxT("image/tiff")); fileType->m_impl->SetExt(ext); return fileType; } else if ( ext == wxT("xpm") ) { wxFileType *fileType = new wxFileType; fileType->m_impl->SetFileType(wxT("image/xpm")); fileType->m_impl->SetExt(ext); return fileType; } else if ( ext == wxT("xbm") ) { wxFileType *fileType = new wxFileType; fileType->m_impl->SetFileType(wxT("image/xbm")); fileType->m_impl->SetExt(ext); return fileType; } // unknown extension return NULL; } // MIME type -> extension -> file type wxFileType * wxMimeTypesManagerImpl::GetFileTypeFromMimeType(const wxString& mimeType) { return NULL; } size_t wxMimeTypesManagerImpl::EnumAllFileTypes(wxArrayString& mimetypes) { // VZ: don't know anything about this for Mac wxFAIL_MSG( _T("wxMimeTypesManagerImpl::EnumAllFileTypes() not yet implemented") ); return 0; } wxFileType * wxMimeTypesManagerImpl::Associate(const wxFileTypeInfo& ftInfo) { wxFAIL_MSG( _T("wxMimeTypesManagerImpl::Associate() not yet implemented") ); return NULL; } bool wxMimeTypesManagerImpl::Unassociate(wxFileType *ft) { return FALSE; }