/[pcsx2_0.9.7]/trunk/3rdparty/wxWidgets/include/wx/msw/ole/uuid.h
ViewVC logotype

Contents of /trunk/3rdparty/wxWidgets/include/wx/msw/ole/uuid.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10 - (show annotations) (download)
Mon Sep 6 11:40:06 2010 UTC (9 years, 5 months ago) by william
File MIME type: text/plain
File size: 3093 byte(s)
exported r3113 from ./upstream/trunk
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: ole/uuid.h
3 // Purpose: encapsulates an UUID with some added helper functions
4 // Author: Vadim Zeitlin
5 // Modified by:
6 // Created: 11.07.97
7 // RCS-ID: $Id: uuid.h 55113 2008-08-18 11:30:10Z VZ $
8 // Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
9 // Licence: wxWindows licence
10 //
11 // Notes: you should link your project with RPCRT4.LIB!
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #ifndef _WX_OLEUUID_H
15 #define _WX_OLEUUID_H
16
17 #include "wx/wxchar.h"
18 // ------------------------------------------------------------------
19 // UUID (Universally Unique IDentifier) definition
20 // ------------------------------------------------------------------
21
22 // ----- taken from RPC.H
23 #ifndef UUID_DEFINED // in some cases RPC.H will be already
24 #ifdef __WIN32__ // included, so avoid redefinition
25 typedef struct
26 {
27 unsigned long Data1;
28 unsigned short Data2;
29 unsigned short Data3;
30 unsigned char Data4[8];
31 } UUID; // UUID = GUID = CLSID = LIBID = IID
32 #endif // WIN32
33 #endif // UUID_DEFINED
34
35 #ifndef GUID_DEFINED
36 typedef UUID GUID;
37 #define UUID_DEFINED // prevent redefinition
38 #endif // GUID_DEFINED
39
40 typedef unsigned char uchar;
41
42 // ------------------------------------------------------------------
43 // a class to store UUID and it's string representation
44 // ------------------------------------------------------------------
45
46 // uses RPC functions to create/convert Universally Unique Identifiers
47 class WXDLLEXPORT Uuid
48 {
49 private:
50 UUID m_uuid;
51 wxUChar *m_pszUuid; // this string is alloc'd and freed by RPC
52 wxChar *m_pszCForm; // this string is allocated in Set/Create
53
54 void UuidToCForm();
55
56 // function used to set initial state by all ctors
57 void Init() { m_pszUuid = NULL; m_pszCForm = NULL; }
58
59 public:
60 // ctors & dtor
61 Uuid() { Init(); }
62 Uuid(const wxChar *pc) { Init(); Set(pc); }
63 Uuid(const UUID &uuid) { Init(); Set(uuid); }
64 ~Uuid();
65
66 // copy ctor and assignment operator needed for this class
67 Uuid(const Uuid& uuid);
68 Uuid& operator=(const Uuid& uuid);
69
70 // create a brand new UUID
71 void Create();
72
73 // set value of UUID
74 bool Set(const wxChar *pc); // from a string, returns true if ok
75 void Set(const UUID& uuid); // from another UUID (never fails)
76
77 #if wxABI_VERSION >= 20809
78 // comparison operators
79 bool operator==(const Uuid& uuid) const;
80 bool operator!=(const Uuid& uuid) const;
81 #endif // wxABI_VERSION >= 2.8.9
82
83 // accessors
84 operator const UUID*() const { return &m_uuid; }
85 operator const wxChar*() const { return (wxChar *)(m_pszUuid); }
86
87 // return string representation of the UUID in the C form
88 // (as in DEFINE_GUID macro)
89 const wxChar *CForm() const { return m_pszCForm; }
90 };
91
92 #endif //_WX_OLEUUID_H

  ViewVC Help
Powered by ViewVC 1.1.22