| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- ///////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/msw/ole/uuid.h
 
- // Purpose:     encapsulates an UUID with some added helper functions
 
- // Author:      Vadim Zeitlin
 
- // Modified by:
 
- // Created:     11.07.97
 
- // Copyright:   (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
 
- // Licence:     wxWindows licence
 
- //
 
- // Notes:       you should link your project with RPCRT4.LIB!
 
- ///////////////////////////////////////////////////////////////////////////////
 
- #ifndef   _WX_OLEUUID_H
 
- #define   _WX_OLEUUID_H
 
- #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
 
-     {
 
-       unsigned long   Data1;
 
-       unsigned short  Data2;
 
-       unsigned short  Data3;
 
-       unsigned char   Data4[8];
 
-     } UUID;                     // UUID = GUID = CLSID = LIBID = IID
 
-   #endif  // WIN32
 
- #endif  // UUID_DEFINED
 
- #ifndef GUID_DEFINED
 
-   typedef UUID GUID;
 
-   #define UUID_DEFINED          // prevent redefinition
 
- #endif  // GUID_DEFINED
 
- typedef unsigned char uchar;
 
- // ------------------------------------------------------------------
 
- // a class to store UUID and it's string representation
 
- // ------------------------------------------------------------------
 
- // uses RPC functions to create/convert Universally Unique Identifiers
 
- class WXDLLIMPEXP_CORE Uuid
 
- {
 
- private:
 
-   UUID  m_uuid;
 
-   wxUChar *m_pszUuid;   // this string is alloc'd and freed by RPC
 
-   wxChar  *m_pszCForm;  // this string is allocated in Set/Create
 
-   void  UuidToCForm();
 
-   // function used to set initial state by all ctors
 
-   void  Init() { m_pszUuid = NULL; m_pszCForm = NULL; }
 
- public:
 
-   // ctors & dtor
 
-   Uuid()                 { Init();            }
 
-   Uuid(const wxChar *pc) { Init(); Set(pc);   }
 
-   Uuid(const UUID &uuid) { Init(); Set(uuid); }
 
-  ~Uuid();
 
-   // copy ctor and assignment operator needed for this class
 
-   Uuid(const Uuid& uuid);
 
-   Uuid& operator=(const Uuid& uuid);
 
-   // create a brand new UUID
 
-   void Create();
 
-   // 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); }
 
-   // return string representation of the UUID in the C form
 
-   // (as in DEFINE_GUID macro)
 
-   const wxChar *CForm() const    { return m_pszCForm;            }
 
- };
 
- #endif //_WX_OLEUUID_H
 
 
  |