From 708795b5e71a095b1a4e5966565237a493e7780d Mon Sep 17 00:00:00 2001 From: David Webster Date: Fri, 21 Jan 2000 22:21:42 +0000 Subject: [PATCH] Adds mimietype.h to OS/2 port git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/os2/mimetype.h | 90 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 include/wx/os2/mimetype.h diff --git a/include/wx/os2/mimetype.h b/include/wx/os2/mimetype.h new file mode 100644 index 0000000000..9a22803f48 --- /dev/null +++ b/include/wx/os2/mimetype.h @@ -0,0 +1,90 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/mimetype.h +// Purpose: classes and functions to manage MIME types +// Author: David Webster +// Modified by: +// Created: 01.21.99 +// RCS-ID: $Id$ +// Copyright: adopted from msw port -- (c) 1998 Vadim Zeitlin +// Licence: wxWindows license (part of wxExtra library) +///////////////////////////////////////////////////////////////////////////// + +#ifndef _MIMETYPE_IMPL_H +#define _MIMETYPE_IMPL_H + +#include "wx/defs.h" + +#include "wx/mimetype.h" + + +class WXDLLEXPORT wxFileTypeImpl +{ +public: + // ctor + wxFileTypeImpl() { m_info = NULL; } + + // one of these Init() function must be called (ctor can't take any + // arguments because it's common) + + // initialize us with our file type name and extension - in this case + // we will read all other data from the registry + void Init(const wxString& strFileType, const wxString& ext) + { m_strFileType = strFileType; m_ext = ext; } + + // initialize us with a wxFileTypeInfo object - it contains all the + // data + void Init(const wxFileTypeInfo& info) + { m_info = &info; } + + // implement accessor functions + bool GetExtensions(wxArrayString& extensions); + bool GetMimeType(wxString *mimeType) const; + bool GetIcon(wxIcon *icon) const; + bool GetDescription(wxString *desc) const; + bool GetOpenCommand(wxString *openCmd, + const wxFileType::MessageParameters& params) const; + bool GetPrintCommand(wxString *printCmd, + const wxFileType::MessageParameters& params) const; + +private: + // helper function: reads the command corresponding to the specified verb + // from the registry (returns an empty string if not found) + wxString GetCommand(const wxChar *verb) const; + + // we use either m_info or read the data from the registry if m_info == NULL + const wxFileTypeInfo *m_info; + wxString m_strFileType, // may be empty + m_ext; +}; + + + +class WXDLLEXPORT wxMimeTypesManagerImpl +{ +public: + // nothing to do here, we don't load any data but just go and fetch it from + // the registry when asked for + wxMimeTypesManagerImpl() { } + + // implement containing class functions + wxFileType *GetFileTypeFromExtension(const wxString& ext); + wxFileType *GetFileTypeFromMimeType(const wxString& mimeType); + + size_t EnumAllFileTypes(wxArrayString& mimetypes); + + // this are NOPs under Windows + bool ReadMailcap(const wxString& filename, bool fallback = TRUE) + { return TRUE; } + bool ReadMimeTypes(const wxString& filename) + { return TRUE; } + + void AddFallback(const wxFileTypeInfo& ft) { m_fallbacks.Add(ft); } + +private: + wxArrayFileTypeInfo m_fallbacks; +}; + + +#endif + //_MIMETYPE_IMPL_H +