Index: third_party/lzma/v4_65/files/CPP/7zip/Archive/ArchiveExports.cpp |
diff --git a/third_party/lzma/v4_65/files/CPP/7zip/Archive/ArchiveExports.cpp b/third_party/lzma/v4_65/files/CPP/7zip/Archive/ArchiveExports.cpp |
deleted file mode 100644 |
index ae388d67535542026a1a8440aced60abbf21d6f6..0000000000000000000000000000000000000000 |
--- a/third_party/lzma/v4_65/files/CPP/7zip/Archive/ArchiveExports.cpp |
+++ /dev/null |
@@ -1,130 +0,0 @@ |
-// ArchiveExports.cpp |
- |
-#include "StdAfx.h" |
- |
-#include "../../Common/ComTry.h" |
-#include "../../Common/Types.h" |
-#include "../../Windows/PropVariant.h" |
-#include "../Common/RegisterArc.h" |
- |
-#include "IArchive.h" |
-#include "../ICoder.h" |
-#include "../IPassword.h" |
- |
-static const unsigned int kNumArcsMax = 32; |
-static unsigned int g_NumArcs = 0; |
-static const CArcInfo *g_Arcs[kNumArcsMax]; |
-void RegisterArc(const CArcInfo *arcInfo) |
-{ |
- if (g_NumArcs < kNumArcsMax) |
- g_Arcs[g_NumArcs++] = arcInfo; |
-} |
- |
-DEFINE_GUID(CLSID_CArchiveHandler, |
-0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00); |
- |
-#define CLS_ARC_ID_ITEM(cls) ((cls).Data4[5]) |
- |
-static inline HRESULT SetPropString(const char *s, unsigned int size, PROPVARIANT *value) |
-{ |
- if ((value->bstrVal = ::SysAllocStringByteLen(s, size)) != 0) |
- value->vt = VT_BSTR; |
- return S_OK; |
-} |
- |
-static inline HRESULT SetPropGUID(const GUID &guid, PROPVARIANT *value) |
-{ |
- return SetPropString((const char *)&guid, sizeof(GUID), value); |
-} |
- |
-int FindFormatCalssId(const GUID *clsID) |
-{ |
- GUID cls = *clsID; |
- CLS_ARC_ID_ITEM(cls) = 0; |
- if (cls != CLSID_CArchiveHandler) |
- return -1; |
- Byte id = CLS_ARC_ID_ITEM(*clsID); |
- for (unsigned i = 0; i < g_NumArcs; i++) |
- if (g_Arcs[i]->ClassId == id) |
- return (int)i; |
- return -1; |
-} |
- |
-STDAPI CreateArchiver(const GUID *clsid, const GUID *iid, void **outObject) |
-{ |
- COM_TRY_BEGIN |
- { |
- int needIn = (*iid == IID_IInArchive); |
- int needOut = (*iid == IID_IOutArchive); |
- if (!needIn && !needOut) |
- return E_NOINTERFACE; |
- int formatIndex = FindFormatCalssId(clsid); |
- if (formatIndex < 0) |
- return CLASS_E_CLASSNOTAVAILABLE; |
- |
- const CArcInfo &arc = *g_Arcs[formatIndex]; |
- if (needIn) |
- { |
- *outObject = arc.CreateInArchive(); |
- ((IInArchive *)*outObject)->AddRef(); |
- } |
- else |
- { |
- if (!arc.CreateOutArchive) |
- return CLASS_E_CLASSNOTAVAILABLE; |
- *outObject = arc.CreateOutArchive(); |
- ((IOutArchive *)*outObject)->AddRef(); |
- } |
- } |
- COM_TRY_END |
- return S_OK; |
-} |
- |
-STDAPI GetHandlerProperty2(UInt32 formatIndex, PROPID propID, PROPVARIANT *value) |
-{ |
- if (formatIndex >= g_NumArcs) |
- return E_INVALIDARG; |
- const CArcInfo &arc = *g_Arcs[formatIndex]; |
- NWindows::NCOM::CPropVariant prop; |
- switch(propID) |
- { |
- case NArchive::kName: |
- prop = arc.Name; |
- break; |
- case NArchive::kClassID: |
- { |
- GUID clsId = CLSID_CArchiveHandler; |
- CLS_ARC_ID_ITEM(clsId) = arc.ClassId; |
- return SetPropGUID(clsId, value); |
- } |
- case NArchive::kExtension: |
- if (arc.Ext != 0) |
- prop = arc.Ext; |
- break; |
- case NArchive::kAddExtension: |
- if (arc.AddExt != 0) |
- prop = arc.AddExt; |
- break; |
- case NArchive::kUpdate: |
- prop = (bool)(arc.CreateOutArchive != 0); |
- break; |
- case NArchive::kKeepName: |
- prop = arc.KeepName; |
- break; |
- case NArchive::kStartSignature: |
- return SetPropString((const char *)arc.Signature, arc.SignatureSize, value); |
- } |
- prop.Detach(value); |
- return S_OK; |
-} |
- |
-STDAPI GetHandlerProperty(PROPID propID, PROPVARIANT *value) |
-{ |
- return GetHandlerProperty2(0, propID, value); |
-} |
- |
-STDAPI GetNumberOfFormats(UINT32 *numFormats) |
-{ |
- *numFormats = g_NumArcs; |
- return S_OK; |
-} |