]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/unix/mimetype.h
added support for gcc precompiled headers
[wxWidgets.git] / include / wx / unix / mimetype.h
index 5da7269081bad4f263ea00ceae9953f7ff160271..3f03cf0483db648f69e626bd9b3d84aabe54c231 100644 (file)
@@ -1,18 +1,18 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        unix/mimetype.h
+// Name:        wx/unix/mimetype.h
 // 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 <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWindows license (part of wxExtra library)
+// Licence:     wxWindows licence (part of wxExtra library)
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _MIMETYPE_IMPL_H
 #define _MIMETYPE_IMPL_H
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "mimetype.h"
 #endif
 
@@ -20,9 +20,9 @@
 
 #if (wxUSE_FILE && wxUSE_TEXTFILE)
 
-class wxMimeArrayString;
+class wxMimeTypeCommands;
 
-WX_DEFINE_ARRAY(wxMimeArrayString *, wxArrayTypeEntries);
+WX_DEFINE_ARRAY(wxMimeTypeCommands *, wxMimeCommandsArray);
 
 // this is the real wxMimeTypesManager for Unix
 class WXDLLEXPORT wxMimeTypesManagerImpl
@@ -33,7 +33,7 @@ public:
     ~wxMimeTypesManagerImpl();
 
     // load all data into memory - done when it is needed for the first time
-    void Initialize(int mailcapStyles,
+    void Initialize(int mailcapStyles = wxMAILCAP_ALL,
                     const wxString& extraDir = wxEmptyString);
 
     // and delete the data here
@@ -86,7 +86,7 @@ private:
                   m_aIcons;         // Icon filenames
 
     // verb=command pairs for this file type
-    wxArrayTypeEntries m_aEntries;
+    wxMimeCommandsArray m_aEntries;
 
     // are we initialized?
     bool m_initialized;
@@ -98,9 +98,11 @@ private:
     wxString GetCommand(const wxString &verb, size_t nIndex) const;
 
     // read Gnome files
-    void LoadGnomeDataFromKeyFile(const wxString& filename);
+    void LoadGnomeDataFromKeyFile(const wxString& filename,
+                                  const wxArrayString& dirs);
     void LoadGnomeMimeTypesFromMimeFile(const wxString& filename);
-    void LoadGnomeMimeFilesFromDir(const wxString& dirbase);
+    void LoadGnomeMimeFilesFromDir(const wxString& dirbase,
+                                   const wxArrayString& dirs);
     void GetGnomeMimeInfo(const wxString& sExtraDir);
 
     // write gnome files
@@ -130,18 +132,22 @@ private:
     bool WriteToMimeTypes (int index, bool delete_index);
     bool WriteToNSMimeTypes (int index, bool delete_index);
 
+    // ReadMailcap() helper
+    bool ProcessOtherMailcapField(struct MailcapLineData& data,
+                                  const wxString& curField);
+
     // functions used to do associations
 
     int AddToMimeData(const wxString& strType,
                       const wxString& strIcon,
-                      wxMimeArrayString *entry,
+                      wxMimeTypeCommands *entry,
                       const wxArrayString& strExtensions,
                       const wxString& strDesc,
                       bool replaceExisting = TRUE);
 
     bool DoAssociation(const wxString& strType,
                        const wxString& strIcon,
-                       wxMimeArrayString *entry,
+                       wxMimeTypeCommands *entry,
                        const wxArrayString& strExtensions,
                        const wxString& strDesc);
 
@@ -171,8 +177,7 @@ public:
     bool GetMimeType(wxString *mimeType) const
         { *mimeType = m_manager->m_aTypes[m_index[0]]; return TRUE; }
     bool GetMimeTypes(wxArrayString& mimeTypes) const;
-    bool GetIcon(wxIcon *icon, wxString *iconFile = NULL,
-                 int *iconIndex = NULL) const;
+    bool GetIcon(wxIconLocation *iconLoc) const;
 
     bool GetDescription(wxString *desc) const
         { *desc = m_manager->m_aDescriptions[m_index[0]]; return TRUE; }