Mercurial > vba-linux
comparison src/win32/7zip/7z/CPP/Windows/PropVariant.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:8ced16adf2e1 | 1:f9f4f1b99eed |
---|---|
1 // Windows/PropVariant.h | |
2 | |
3 #ifndef __WINDOWS_PROPVARIANT_H | |
4 #define __WINDOWS_PROPVARIANT_H | |
5 | |
6 #include "../Common/MyWindows.h" | |
7 #include "../Common/Types.h" | |
8 | |
9 namespace NWindows { | |
10 namespace NCOM { | |
11 | |
12 class CPropVariant : public tagPROPVARIANT | |
13 { | |
14 public: | |
15 CPropVariant() { vt = VT_EMPTY; wReserved1 = 0; } | |
16 ~CPropVariant() { Clear(); } | |
17 CPropVariant(const PROPVARIANT& varSrc); | |
18 CPropVariant(const CPropVariant& varSrc); | |
19 CPropVariant(BSTR bstrSrc); | |
20 CPropVariant(LPCOLESTR lpszSrc); | |
21 CPropVariant(bool bSrc) { vt = VT_BOOL; wReserved1 = 0; boolVal = (bSrc ? VARIANT_TRUE : VARIANT_FALSE); }; | |
22 CPropVariant(UInt32 value) { vt = VT_UI4; wReserved1 = 0; ulVal = value; } | |
23 CPropVariant(UInt64 value) { vt = VT_UI8; wReserved1 = 0; uhVal = *(ULARGE_INTEGER*)&value; } | |
24 CPropVariant(const FILETIME &value) { vt = VT_FILETIME; wReserved1 = 0; filetime = value; } | |
25 CPropVariant(Int32 value) { vt = VT_I4; wReserved1 = 0; lVal = value; } | |
26 CPropVariant(Byte value) { vt = VT_UI1; wReserved1 = 0; bVal = value; } | |
27 CPropVariant(Int16 value) { vt = VT_I2; wReserved1 = 0; iVal = value; } | |
28 // CPropVariant(LONG value, VARTYPE vtSrc = VT_I4) { vt = vtSrc; lVal = value; } | |
29 | |
30 CPropVariant& operator=(const CPropVariant& varSrc); | |
31 CPropVariant& operator=(const PROPVARIANT& varSrc); | |
32 CPropVariant& operator=(BSTR bstrSrc); | |
33 CPropVariant& operator=(LPCOLESTR lpszSrc); | |
34 CPropVariant& operator=(bool bSrc); | |
35 CPropVariant& operator=(UInt32 value); | |
36 CPropVariant& operator=(UInt64 value); | |
37 CPropVariant& operator=(const FILETIME &value); | |
38 | |
39 CPropVariant& operator=(Int32 value); | |
40 CPropVariant& operator=(Byte value); | |
41 CPropVariant& operator=(Int16 value); | |
42 // CPropVariant& operator=(LONG value); | |
43 | |
44 HRESULT Clear(); | |
45 HRESULT Copy(const PROPVARIANT* pSrc); | |
46 HRESULT Attach(PROPVARIANT* pSrc); | |
47 HRESULT Detach(PROPVARIANT* pDest); | |
48 | |
49 HRESULT InternalClear(); | |
50 void InternalCopy(const PROPVARIANT* pSrc); | |
51 | |
52 int Compare(const CPropVariant &a1); | |
53 }; | |
54 | |
55 }} | |
56 | |
57 #endif |