]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/mimetype.cpp
Deallocate wxThreadSpecificInfo when wxThread ends.
[wxWidgets.git] / src / os2 / mimetype.cpp
index d27aa565e753cf6e7fbd75abe6f7fc24776a83d6..16bedac9d31a5b9301acf707e7f5c84546b1f75d 100644 (file)
@@ -1,37 +1,39 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        common/mimetype.cpp
+// Name:        src/os2/mimetype.cpp
 // Purpose:     classes and functions to manage MIME types
 // Author:      David Webster
 // Modified by:
 // Created:     01.21.00
-// RCS-ID:      $Id$
 // Copyright:   Adopted from msw port --(c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWidgets licence (part of wxExtra library)
+// Licence:     wxWindows licence (part of wxExtra library)
 /////////////////////////////////////////////////////////////////////////////
 
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#if wxUSE_MIMETYPE
+
+#include "wx/os2/mimetype.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/dynarray.h"
+    #include "wx/string.h"
+    #include "wx/intl.h"
+    #include "wx/log.h"
+    #if wxUSE_GUI
+        #include "wx/icon.h"
+    #endif
+#endif //WX_PRECOMP
+
 #define INCL_DOS
 #define INCL_GPI
 #define INCL_WIN
 #include <os2.h>
 
-#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/iconloc.h"
-#include "wx/intl.h"
-#include "wx/dynarray.h"
 #include "wx/confbase.h"
 
-#if wxUSE_MIMETYPE
-
-#include "wx/os2/mimetype.h"
-
 // other standard headers
 #include <ctype.h>
 
@@ -62,7 +64,7 @@ class WXDLLEXPORT wxIcon;
 // location, uses it, so it isn't likely to change
 static const wxChar *MIME_DATABASE_KEY = wxT("MIME\\Database\\Content Type\\");
 
-wxString wxFileTypeImpl::GetCommand(const wxChar *verb) const
+wxString wxFileTypeImpl::GetCommand(const wxChar *WXUNUSED(verb)) const
 {
 // TODO: OS/2 doesn't have a registry but uses Prf
 /*
@@ -70,9 +72,9 @@ wxString wxFileTypeImpl::GetCommand(const wxChar *verb) const
     wxLogNull nolog;
     wxString strKey;
 
-    if ( wxRegKey(wxRegKey::HKCR, m_ext + _T("\\shell")).Exists() )
+    if ( wxRegKey(wxRegKey::HKCR, m_ext + wxT("\\shell")).Exists() )
         strKey = m_ext;
-    if ( wxRegKey(wxRegKey::HKCR, m_strFileType + _T("\\shell")).Exists() )
+    if ( wxRegKey(wxRegKey::HKCR, m_strFileType + wxT("\\shell")).Exists() )
         strKey = m_strFileType;
 
     if ( !strKey )
@@ -82,7 +84,7 @@ wxString wxFileTypeImpl::GetCommand(const wxChar *verb) const
     }
 
     strKey << wxT("\\shell\\") << verb;
-    wxRegKey key(wxRegKey::HKCR, strKey + _T("\\command"));
+    wxRegKey key(wxRegKey::HKCR, strKey + wxT("\\command"));
     wxString command;
     if ( key.Open() ) {
         // it's the default value of the key
@@ -94,7 +96,7 @@ wxString wxFileTypeImpl::GetCommand(const wxChar *verb) const
             // NB: we don't make any attempt to verify that the string is valid,
             //     i.e. doesn't contain %2, or second %1 or .... But we do make
             //     sure that we return a string with _exactly_ one '%s'!
-            bool foundFilename = FALSE;
+            bool foundFilename = false;
             size_t len = command.Len();
             for ( size_t n = 0; (n < len) && !foundFilename; n++ ) {
                 if ( command[n] == wxT('%') &&
@@ -104,32 +106,32 @@ wxString wxFileTypeImpl::GetCommand(const wxChar *verb) const
                     // replace it with '%s'
                     command[n + 1] = wxT('s');
 
-                    foundFilename = TRUE;
+                    foundFilename = true;
                 }
             }
 
 #if wxUSE_DDE
             // look whether we must issue some DDE requests to the application
             // (and not just launch it)
-            strKey += _T("\\DDEExec");
+            strKey += wxT("\\DDEExec");
             wxRegKey keyDDE(wxRegKey::HKCR, strKey);
             if ( keyDDE.Open() ) {
                 wxString ddeCommand, ddeServer, ddeTopic;
-                keyDDE.QueryValue(_T(""), ddeCommand);
-                ddeCommand.Replace(_T("%1"), _T("%s"));
+                keyDDE.QueryValue(wxT(""), ddeCommand);
+                ddeCommand.Replace(wxT("%1"), wxT("%s"));
 
-                wxRegKey(wxRegKey::HKCR, strKey + _T("\\Application")).
-                    QueryValue(_T(""), ddeServer);
-                wxRegKey(wxRegKey::HKCR, strKey + _T("\\Topic")).
-                    QueryValue(_T(""), ddeTopic);
+                wxRegKey(wxRegKey::HKCR, strKey + wxT("\\Application")).
+                    QueryValue(wxT(""), ddeServer);
+                wxRegKey(wxRegKey::HKCR, strKey + wxT("\\Topic")).
+                    QueryValue(wxT(""), ddeTopic);
 
                 // HACK: we use a special feature of wxExecute which exists
                 //       just because we need it here: it will establish DDE
                 //       conversation with the program it just launched
-                command.Prepend(_T("WX_DDE#"));
-                command << _T('#') << ddeServer
-                        << _T('#') << ddeTopic
-                        << _T('#') << ddeCommand;
+                command.Prepend(wxT("WX_DDE#"));
+                command << wxT('#') << ddeServer
+                        << wxT('#') << ddeTopic
+                        << wxT('#') << ddeCommand;
             }
             else
 #endif // wxUSE_DDE
@@ -165,7 +167,7 @@ wxFileTypeImpl::GetOpenCommand(wxString *openCmd,
 
     *openCmd = wxFileType::ExpandCommand(cmd, params);
 
-    return !openCmd->IsEmpty();
+    return !openCmd->empty();
 }
 
 bool
@@ -183,7 +185,7 @@ wxFileTypeImpl::GetPrintCommand(wxString *printCmd,
 
     *printCmd = wxFileType::ExpandCommand(cmd, params);
 
-    return !printCmd->IsEmpty();
+    return !printCmd->empty();
 }
 
 // TODO this function is half implemented
@@ -192,19 +194,19 @@ bool wxFileTypeImpl::GetExtensions(wxArrayString& extensions)
     if ( m_info ) {
         extensions = m_info->GetExtensions();
 
-        return TRUE;
+        return true;
     }
-    else if ( m_ext.IsEmpty() ) {
+    else if ( m_ext.empty() ) {
         // the only way to get the list of extensions from the file type is to
         // scan through all extensions in the registry - too slow...
-        return FALSE;
+        return false;
     }
     else {
         extensions.Empty();
         extensions.Add(m_ext);
 
         // it's a lie too, we don't return _all_ extensions...
-        return TRUE;
+        return true;
     }
 }
 
@@ -214,7 +216,7 @@ bool wxFileTypeImpl::GetMimeType(wxString *mimeType) const
         // we already have it
         *mimeType = m_info->GetMimeType();
 
-        return TRUE;
+        return true;
     }
 
     // suppress possible error messages
@@ -223,13 +225,13 @@ bool wxFileTypeImpl::GetMimeType(wxString *mimeType) const
 /*
     wxRegKey key(wxRegKey::HKCR, wxT(".") + m_ext);
     if ( key.Open() && key.QueryValue(wxT("Content Type"), *mimeType) ) {
-        return TRUE;
+        return true;
     }
     else {
-        return FALSE;
+        return false;
     }
 */
-  return FALSE;
+    return false;
 }
 
 bool wxFileTypeImpl::GetMimeTypes(wxArrayString& mimeTypes) const
@@ -240,17 +242,17 @@ bool wxFileTypeImpl::GetMimeTypes(wxArrayString& mimeTypes) const
     {
         mimeTypes.Clear();
         mimeTypes.Add(s);
-        return TRUE;
+        return true;
     }
     else
-        return FALSE;
+        return false;
 }
 
-bool wxFileTypeImpl::GetIcon(wxIconLocation *iconLoc) const
+bool wxFileTypeImpl::GetIcon(wxIconLocation *WXUNUSED(iconLoc)) const
 {
     if ( m_info ) {
         // we don't have icons in the fallback resources
-        return FALSE;
+        return false;
     }
 
     wxString strIconKey;
@@ -274,7 +276,7 @@ bool wxFileTypeImpl::GetIcon(wxIconLocation *iconLoc) const
 
             // index may be omitted, in which case BeforeLast(',') is empty and
             // AfterLast(',') is the whole string
-            if ( strFullPath.IsEmpty() ) {
+            if ( strFullPath.empty() ) {
                 strFullPath = strIndex;
                 strIndex = wxT("0");
             }
@@ -286,13 +288,13 @@ bool wxFileTypeImpl::GetIcon(wxIconLocation *iconLoc) const
                 iconLoc->SetIndex(wxAtoi(strIndex));
             }
 
-            return TRUE;
+            return true;
         }
     }
 
     // no such file type or no value or incorrect icon entry
 */
-    return FALSE;
+    return false;
 }
 
 bool wxFileTypeImpl::GetDescription(wxString *desc) const
@@ -301,7 +303,7 @@ bool wxFileTypeImpl::GetDescription(wxString *desc) const
         // we already have it
         *desc = m_info->GetDescription();
 
-        return TRUE;
+        return true;
     }
 
     // suppress possible error messages
@@ -313,11 +315,11 @@ bool wxFileTypeImpl::GetDescription(wxString *desc) const
     if ( key.Open() ) {
         // it's the default value of the key
         if ( key.QueryValue(wxT(""), *desc) ) {
-            return TRUE;
+            return true;
         }
     }
 */
-    return FALSE;
+    return false;
 }
 
 // extension -> file type
@@ -334,7 +336,7 @@ wxMimeTypesManagerImpl::GetFileTypeFromExtension(const wxString& ext)
     // suppress possible error messages
     wxLogNull nolog;
 
-    bool knownExtension = FALSE;
+    bool knownExtension = false;
 
     wxString strFileType;
 // TODO:
@@ -353,7 +355,7 @@ wxMimeTypesManagerImpl::GetFileTypeFromExtension(const wxString& ext)
             // this extension doesn't have a filetype, but it's known to the
             // system and may be has some other useful keys (open command or
             // content-type), so still return a file type object for it
-            knownExtension = TRUE;
+            knownExtension = true;
         }
     }
 */
@@ -422,7 +424,7 @@ wxMimeTypesManagerImpl::GetFileTypeFromMimeType(const wxString& mimeType)
     return NULL;
 }
 
-size_t wxMimeTypesManagerImpl::EnumAllFileTypes(wxArrayString& mimetypes)
+size_t wxMimeTypesManagerImpl::EnumAllFileTypes(wxArrayString& WXUNUSED(mimetypes))
 {
     // enumerate all keys under MIME_DATABASE_KEY
 // TODO: