Index: third_party/lzma/v4_65/files/CPP/Windows/PropVariant.cpp |
diff --git a/third_party/lzma/v4_65/files/CPP/Windows/PropVariant.cpp b/third_party/lzma/v4_65/files/CPP/Windows/PropVariant.cpp |
deleted file mode 100644 |
index ae2e6cd1b56d2cac926f5d732cc5c0b3287a45c3..0000000000000000000000000000000000000000 |
--- a/third_party/lzma/v4_65/files/CPP/Windows/PropVariant.cpp |
+++ /dev/null |
@@ -1,312 +0,0 @@ |
-// Windows/PropVariant.cpp |
- |
-#include "StdAfx.h" |
- |
-#include "PropVariant.h" |
- |
-#include "../Common/Defs.h" |
- |
-namespace NWindows { |
-namespace NCOM { |
- |
-CPropVariant::CPropVariant(const PROPVARIANT& varSrc) |
-{ |
- vt = VT_EMPTY; |
- InternalCopy(&varSrc); |
-} |
- |
-CPropVariant::CPropVariant(const CPropVariant& varSrc) |
-{ |
- vt = VT_EMPTY; |
- InternalCopy(&varSrc); |
-} |
- |
-CPropVariant::CPropVariant(BSTR bstrSrc) |
-{ |
- vt = VT_EMPTY; |
- *this = bstrSrc; |
-} |
- |
-CPropVariant::CPropVariant(LPCOLESTR lpszSrc) |
-{ |
- vt = VT_EMPTY; |
- *this = lpszSrc; |
-} |
- |
-CPropVariant& CPropVariant::operator=(const CPropVariant& varSrc) |
-{ |
- InternalCopy(&varSrc); |
- return *this; |
-} |
-CPropVariant& CPropVariant::operator=(const PROPVARIANT& varSrc) |
-{ |
- InternalCopy(&varSrc); |
- return *this; |
-} |
- |
-CPropVariant& CPropVariant::operator=(BSTR bstrSrc) |
-{ |
- *this = (LPCOLESTR)bstrSrc; |
- return *this; |
-} |
- |
-CPropVariant& CPropVariant::operator=(LPCOLESTR lpszSrc) |
-{ |
- InternalClear(); |
- vt = VT_BSTR; |
- wReserved1 = 0; |
- bstrVal = ::SysAllocString(lpszSrc); |
- if (bstrVal == NULL && lpszSrc != NULL) |
- { |
- vt = VT_ERROR; |
- scode = E_OUTOFMEMORY; |
- } |
- return *this; |
-} |
- |
- |
-CPropVariant& CPropVariant::operator=(bool bSrc) |
-{ |
- if (vt != VT_BOOL) |
- { |
- InternalClear(); |
- vt = VT_BOOL; |
- } |
- boolVal = bSrc ? VARIANT_TRUE : VARIANT_FALSE; |
- return *this; |
-} |
- |
-CPropVariant& CPropVariant::operator=(UInt32 value) |
-{ |
- if (vt != VT_UI4) |
- { |
- InternalClear(); |
- vt = VT_UI4; |
- } |
- ulVal = value; |
- return *this; |
-} |
- |
-CPropVariant& CPropVariant::operator=(UInt64 value) |
-{ |
- if (vt != VT_UI8) |
- { |
- InternalClear(); |
- vt = VT_UI8; |
- } |
- uhVal.QuadPart = value; |
- return *this; |
-} |
- |
-CPropVariant& CPropVariant::operator=(const FILETIME &value) |
-{ |
- if (vt != VT_FILETIME) |
- { |
- InternalClear(); |
- vt = VT_FILETIME; |
- } |
- filetime = value; |
- return *this; |
-} |
- |
-CPropVariant& CPropVariant::operator=(Int32 value) |
-{ |
- if (vt != VT_I4) |
- { |
- InternalClear(); |
- vt = VT_I4; |
- } |
- lVal = value; |
- |
- return *this; |
-} |
- |
-CPropVariant& CPropVariant::operator=(Byte value) |
-{ |
- if (vt != VT_UI1) |
- { |
- InternalClear(); |
- vt = VT_UI1; |
- } |
- bVal = value; |
- return *this; |
-} |
- |
-CPropVariant& CPropVariant::operator=(Int16 value) |
-{ |
- if (vt != VT_I2) |
- { |
- InternalClear(); |
- vt = VT_I2; |
- } |
- iVal = value; |
- return *this; |
-} |
- |
-/* |
-CPropVariant& CPropVariant::operator=(LONG value) |
-{ |
- if (vt != VT_I4) |
- { |
- InternalClear(); |
- vt = VT_I4; |
- } |
- lVal = value; |
- return *this; |
-} |
-*/ |
- |
-static HRESULT MyPropVariantClear(PROPVARIANT *propVariant) |
-{ |
- switch(propVariant->vt) |
- { |
- case VT_UI1: |
- case VT_I1: |
- case VT_I2: |
- case VT_UI2: |
- case VT_BOOL: |
- case VT_I4: |
- case VT_UI4: |
- case VT_R4: |
- case VT_INT: |
- case VT_UINT: |
- case VT_ERROR: |
- case VT_FILETIME: |
- case VT_UI8: |
- case VT_R8: |
- case VT_CY: |
- case VT_DATE: |
- propVariant->vt = VT_EMPTY; |
- propVariant->wReserved1 = 0; |
- return S_OK; |
- } |
- return ::VariantClear((VARIANTARG *)propVariant); |
-} |
- |
-HRESULT CPropVariant::Clear() |
-{ |
- return MyPropVariantClear(this); |
-} |
- |
-HRESULT CPropVariant::Copy(const PROPVARIANT* pSrc) |
-{ |
- ::VariantClear((tagVARIANT *)this); |
- switch(pSrc->vt) |
- { |
- case VT_UI1: |
- case VT_I1: |
- case VT_I2: |
- case VT_UI2: |
- case VT_BOOL: |
- case VT_I4: |
- case VT_UI4: |
- case VT_R4: |
- case VT_INT: |
- case VT_UINT: |
- case VT_ERROR: |
- case VT_FILETIME: |
- case VT_UI8: |
- case VT_R8: |
- case VT_CY: |
- case VT_DATE: |
- memmove((PROPVARIANT*)this, pSrc, sizeof(PROPVARIANT)); |
- return S_OK; |
- } |
- return ::VariantCopy((tagVARIANT *)this, (tagVARIANT *)(pSrc)); |
-} |
- |
- |
-HRESULT CPropVariant::Attach(PROPVARIANT* pSrc) |
-{ |
- HRESULT hr = Clear(); |
- if (FAILED(hr)) |
- return hr; |
- memcpy(this, pSrc, sizeof(PROPVARIANT)); |
- pSrc->vt = VT_EMPTY; |
- return S_OK; |
-} |
- |
-HRESULT CPropVariant::Detach(PROPVARIANT* pDest) |
-{ |
- HRESULT hr = MyPropVariantClear(pDest); |
- if (FAILED(hr)) |
- return hr; |
- memcpy(pDest, this, sizeof(PROPVARIANT)); |
- vt = VT_EMPTY; |
- return S_OK; |
-} |
- |
-HRESULT CPropVariant::InternalClear() |
-{ |
- HRESULT hr = Clear(); |
- if (FAILED(hr)) |
- { |
- vt = VT_ERROR; |
- scode = hr; |
- } |
- return hr; |
-} |
- |
-void CPropVariant::InternalCopy(const PROPVARIANT* pSrc) |
-{ |
- HRESULT hr = Copy(pSrc); |
- if (FAILED(hr)) |
- { |
- vt = VT_ERROR; |
- scode = hr; |
- } |
-} |
- |
-int CPropVariant::Compare(const CPropVariant &a) |
-{ |
- if (vt != a.vt) |
- return 0; // it's mean some bug |
- switch (vt) |
- { |
- case VT_EMPTY: |
- return 0; |
- |
- /* |
- case VT_I1: |
- return MyCompare(cVal, a.cVal); |
- */ |
- case VT_UI1: |
- return MyCompare(bVal, a.bVal); |
- |
- case VT_I2: |
- return MyCompare(iVal, a.iVal); |
- case VT_UI2: |
- return MyCompare(uiVal, a.uiVal); |
- |
- case VT_I4: |
- return MyCompare(lVal, a.lVal); |
- /* |
- case VT_INT: |
- return MyCompare(intVal, a.intVal); |
- */ |
- case VT_UI4: |
- return MyCompare(ulVal, a.ulVal); |
- /* |
- case VT_UINT: |
- return MyCompare(uintVal, a.uintVal); |
- */ |
- case VT_I8: |
- return MyCompare(hVal.QuadPart, a.hVal.QuadPart); |
- case VT_UI8: |
- return MyCompare(uhVal.QuadPart, a.uhVal.QuadPart); |
- |
- case VT_BOOL: |
- return -MyCompare(boolVal, a.boolVal); |
- |
- case VT_FILETIME: |
- return ::CompareFileTime(&filetime, &a.filetime); |
- case VT_BSTR: |
- return 0; // Not implemented |
- // return MyCompare(aPropVarint.cVal); |
- |
- default: |
- return 0; |
- } |
-} |
- |
-}} |