]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/registry.h
removed some rests of my tests (which should have never been checked in in the
[wxWidgets.git] / include / wx / msw / registry.h
index 754a2d67837de805c5552e31fcb9d50bb55421e4..62d2f9a3ca10cf9149cf51d88724caa2e41841f6 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     03.04.198
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef   _REGISTRY_H
 // ----------------------------------------------------------------------------
 // mutable hack (see also registry.cpp)
 // ----------------------------------------------------------------------------
-#if   USE_MUTABLE
+#if   wxUSE_MUTABLE
   #define MUTABLE mutable
 #else
   #define MUTABLE
 #endif
 
 // ----------------------------------------------------------------------------
-// forward decl for handle type
+// types used in this module
 // ----------------------------------------------------------------------------
+
+/*
 #ifndef   HKEY_DEFINED
   #define HKEY_DEFINED
   #define HKEY unsigned long
 #endif
+*/
+
+typedef unsigned long ulong;
 
 // ----------------------------------------------------------------------------
 // class wxRegKey encapsulates window HKEY handle
@@ -81,11 +86,11 @@ public:
     // number of standard keys
   static const size_t nStdKeys;
     // get the name of a standard key
-  static const char *GetStdKeyName(uint key);
+  static const char *GetStdKeyName(size_t key);
     // get the short name of a standard key
-  static const char *GetStdKeyShortName(uint key);
+  static const char *GetStdKeyShortName(size_t key);
     // get StdKey from root HKEY
-  static StdKey GetStdKeyFromHkey(HKEY hkey);
+  static StdKey GetStdKeyFromHkey(WXHKEY hkey);
 
   // extacts the std key prefix from the string (return value) and
   // leaves only the part after it (i.e. modifies the string passed!)
@@ -111,15 +116,28 @@ public:
     // the name is relative to the parent key
   void  SetName(const wxRegKey& keyParent, const wxString& strKey);
     // hKey should be opened and will be closed in wxRegKey dtor
-  void  SetHkey(HKEY hKey);
+  void  SetHkey(WXHKEY hKey);
 
   // get infomation about the key
     // get the (full) key name. Abbreviate std root keys if bShortPrefix.
   wxString GetName(bool bShortPrefix = TRUE) const;
     // return true if the key exists
-  bool  Exists()   const;
+  bool  Exists() const;
+    // get the info about key (any number of these pointers may be NULL)
+
+#ifdef __GNUWIN32__
+  bool  GetKeyInfo(size_t *pnSubKeys,      // number of subkeys
+                   size_t *pnMaxKeyLen,    // max len of subkey name
+                   size_t *pnValues,       // number of values
+                   size_t *pnMaxValueLen) const;
+#else
+  bool  GetKeyInfo(ulong *pnSubKeys,      // number of subkeys
+                   ulong *pnMaxKeyLen,    // max len of subkey name
+                   ulong *pnValues,       // number of values
+                   ulong *pnMaxValueLen) const;
+#endif
     // return true if the key is opened
-  bool  IsOpened() const { return m_hKey != 0;        }
+  bool  IsOpened() const { return m_hKey != 0; }
     // for "if ( !key ) wxLogError(...)" kind of expressions
   operator bool()  const { return m_dwLastError == 0; }
 
@@ -185,12 +203,40 @@ private:
   wxRegKey(const wxRegKey& key);            // not implemented
   wxRegKey& operator=(const wxRegKey& key); // not implemented
 
-  HKEY        m_hKey,           // our handle
+  WXHKEY        m_hKey,           // our handle
               m_hRootKey;       // handle of the top key (i.e. StdKey)
   wxString    m_strKey;         // key name (relative to m_hRootKey)
 
   MUTABLE long m_dwLastError;   // last error (0 if none)
 };
 
+// ----------------------------------------------------------------------------
+// high level functions working with the registry
+// ----------------------------------------------------------------------------
+
+// file extensions and MIME types
+// ------------------------------
+
+// Look for and return the extension (with leading '.') which corresponds to
+// MIME type strMimeType in pExt.
+//
+// Return value: true if MIME type was found, false otherwise
+bool GetExtensionFromMimeType(wxString *pExt, const wxString& strMimeType);
+
+// Look for MIME type of the given extension, return TRUE if found.
+bool GetMimeTypeFromExtension(wxString *pMimeType, const wxString& strExt);
+
+// Get file type from extension (it's not the same thing: for example, for
+// the extension .txt the default file type is txtfile), return FALSE if not
+// found.
+bool GetFileTypeFromExtension(wxString *pFileType, const wxString& strExt);
+
+// Get the default icon from file type
+class wxIcon;
+bool GetFileTypeIcon(wxIcon *pIcon, const wxString& strFileType);
+
+// Get the description of files of this type
+bool GetFileTypeDescription(wxString *pDesc, const wxString& strFileType);
+
 #endif  //_REGISTRY_H