]> 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 eec658c87fcd8e74b35c4311a90ca84bfbfbee90..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,11 +44,11 @@ typedef unsigned char uchar;
 // ------------------------------------------------------------------
 
 // uses RPC functions to create/convert Universally Unique Identifiers
-class WXDLLEXPORT Uuid
+class WXDLLIMPEXP_CORE Uuid
 {
 private:
   UUID  m_uuid;
-  wxUChar *m_pszUuid;   // this string is alloc'd and freed by RPC 
+  wxUChar *m_pszUuid;   // this string is alloc'd and freed by RPC
   wxChar  *m_pszCForm;  // this string is allocated in Set/Create
 
   void  UuidToCForm();
@@ -75,10 +70,14 @@ public:
   // create a brand new UUID
   void Create();
 
-  // set value of UUID 
+  // 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 wxChar*() const { return (wxChar *)(m_pszUuid); }