]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/ole/uuid.h
don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files...
[wxWidgets.git] / include / wx / msw / ole / uuid.h
index 4da624b09ee66d4c03ad61ffa930366c1389aea0..ef82be0371e1fded02615b3fa8650970f923ebd2 100644 (file)
@@ -2,7 +2,7 @@
 // Name:        ole/uuid.h
 // Purpose:     encapsulates an UUID with some added helper functions
 // Author:      Vadim Zeitlin
-// Modified by: 
+// Modified by:
 // Created:     11.07.97
 // RCS-ID:      $Id$
 // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
 #ifndef   _WX_OLEUUID_H
 #define   _WX_OLEUUID_H
 
-#ifdef __GNUG__
-#pragma interface "uuid.h"
-#endif
-
+#include "wx/chartype.h"
 // ------------------------------------------------------------------
 // UUID (Universally Unique IDentifier) definition
 // ------------------------------------------------------------------
 // ----- taken from RPC.H
 #ifndef UUID_DEFINED            // in some cases RPC.H will be already
   #ifdef  __WIN32__             // included, so avoid redefinition
-    typedef struct                
+    typedef struct
     {
       unsigned long   Data1;
       unsigned short  Data2;
       unsigned short  Data3;
       unsigned char   Data4[8];
     } UUID;                     // UUID = GUID = CLSID = LIBID = IID
-  #else   // WIN16
-    #error "Don't know about UUIDs on this platform"
   #endif  // WIN32
 #endif  // UUID_DEFINED
 
@@ -49,12 +44,12 @@ typedef unsigned char uchar;
 // ------------------------------------------------------------------
 
 // uses RPC functions to create/convert Universally Unique Identifiers
-class Uuid
+class WXDLLIMPEXP_CORE Uuid
 {
 private:
   UUID  m_uuid;
-  uchar *m_pszUuid;   // this string is alloc'd and freed by RPC 
-  char  *m_pszCForm;  // this string is allocated in Set/Create
+  wxUChar *m_pszUuid;   // this string is alloc'd and freed by RPC
+  wxChar  *m_pszCForm;  // this string is allocated in Set/Create
 
   void  UuidToCForm();
 
@@ -64,7 +59,7 @@ private:
 public:
   // ctors & dtor
   Uuid()                 { Init();            }
-  Uuid(const char *pc)   { Init(); Set(pc);   }
+  Uuid(const wxChar *pc) { Init(); Set(pc);   }
   Uuid(const UUID &uuid) { Init(); Set(uuid); }
  ~Uuid();
 
@@ -75,17 +70,21 @@ public:
   // create a brand new UUID
   void Create();
 
-  // set value of UUID 
-  bool Set(const char *pc);   // from a string, returns true if ok
+  // set value of UUID
+  bool Set(const wxChar *pc); // from a string, returns true if ok
   void Set(const UUID& uuid); // from another UUID (never fails)
 
+  // comparison operators
+  bool operator==(const Uuid& uuid) const;
+  bool operator!=(const Uuid& uuid) const { return !(*this == uuid); }
+
   // accessors
-  operator const UUID*() const { return &m_uuid;             }
-  operator const char*() const { return (char *)(m_pszUuid); }
+  operator const UUID*()   const { return &m_uuid;               }
+  operator const wxChar*() const { return (wxChar *)(m_pszUuid); }
 
   // return string representation of the UUID in the C form
   // (as in DEFINE_GUID macro)
-  const char *CForm() const    { return m_pszCForm;          }
+  const wxChar *CForm() const    { return m_pszCForm;            }
 };
 
-#endif //_WX_OLEUUID_H
\ No newline at end of file
+#endif //_WX_OLEUUID_H