This commit is contained in:
Igor Pavlov
2005-05-30 00:00:00 +00:00
committed by Kornel Lesiński
parent 8c1b5c7b7e
commit 3c510ba80b
926 changed files with 40559 additions and 23519 deletions

View File

@@ -2,52 +2,28 @@
#include "StdAfx.h"
#define INITGUID
#include "Common/MyInitGuid.h"
#include "Common/ComTry.h"
#include "Coder.h"
#include "x86.h"
#include "PPC.h"
#include "Alpha.h"
#include "IA64.h"
#include "ARM.h"
#include "ARMThumb.h"
#include "M68.h"
#include "x86_2.h"
#include "SPARC.h"
#include "../../ICoder.h"
#define MY_CreateClass(n) \
#define MY_CreateClass0(n) \
if (*clsid == CLSID_CCompressConvert ## n ## _Encoder) { \
if (!correctInterface) \
return E_NOINTERFACE; \
coder = (ICompressCoder *)new C ## n ## _Encoder(); \
filter = (ICompressFilter *)new C ## n ## _Encoder(); \
} else if (*clsid == CLSID_CCompressConvert ## n ## _Decoder){ \
if (!correctInterface) \
return E_NOINTERFACE; \
coder = (ICompressCoder *)new C ## n ## _Decoder(); \
filter = (ICompressFilter *)new C ## n ## _Decoder(); \
}
/*
#define MyOBJECT_ENTRY(Name) \
OBJECT_ENTRY(CLSID_CCompressConvert ## Name ## _Encoder, C ## Name ## _Encoder) \
OBJECT_ENTRY(CLSID_CCompressConvert ## Name ## _Decoder, C ## Name ## _Decoder) \
BEGIN_OBJECT_MAP(ObjectMap)
MyOBJECT_ENTRY(BCJ_x86)
MyOBJECT_ENTRY(BCJ2_x86)
MyOBJECT_ENTRY(BC_PPC_B)
MyOBJECT_ENTRY(BC_Alpha)
MyOBJECT_ENTRY(BC_IA64)
MyOBJECT_ENTRY(BC_ARM)
MyOBJECT_ENTRY(BC_ARMThumb)
MyOBJECT_ENTRY(BC_M68_B)
END_OBJECT_MAP()
*/
extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
@@ -61,22 +37,19 @@ STDAPI CreateObject(
{
COM_TRY_BEGIN
*outObject = 0;
int correctInterface = (*interfaceID == IID_ICompressCoder);
CMyComPtr<ICompressCoder> coder;
MY_CreateClass(BCJ_x86)
int correctInterface = (*interfaceID == IID_ICompressFilter);
CMyComPtr<ICompressFilter> filter;
MY_CreateClass0(BCJ_x86)
else
MY_CreateClass(BC_PPC_B)
MY_CreateClass0(BC_ARM)
else
MY_CreateClass(BC_Alpha)
MY_CreateClass0(BC_PPC_B)
else
MY_CreateClass(BC_IA64)
MY_CreateClass0(BC_IA64)
else
MY_CreateClass(BC_ARM)
MY_CreateClass0(BC_ARMThumb)
else
MY_CreateClass(BC_ARMThumb)
else
MY_CreateClass(BC_M68_B)
MY_CreateClass0(BC_SPARC)
else
{
CMyComPtr<ICompressCoder2> coder2;
@@ -98,8 +71,9 @@ STDAPI CreateObject(
*outObject = coder2.Detach();
return S_OK;
}
*outObject = coder.Detach();
*outObject = filter.Detach();
return S_OK;
COM_TRY_END
}
@@ -123,11 +97,12 @@ static CBranchMethodItem g_Methods[] =
METHOD_ITEM(BCJ_x86, 0x01, 0x03, L"BCJ", 1),
METHOD_ITEM(BCJ2_x86, 0x01, 0x1B, L"BCJ2", 4),
METHOD_ITEM(BC_PPC_B, 0x02, 0x05, L"BC_PPC_B", 1),
METHOD_ITEM(BC_Alpha, 0x03, 1, L"BC_Alpha", 1),
// METHOD_ITEM(BC_Alpha, 0x03, 1, L"BC_Alpha", 1),
METHOD_ITEM(BC_IA64, 0x04, 1, L"BC_IA64", 1),
METHOD_ITEM(BC_ARM, 0x05, 1, L"BC_ARM", 1),
METHOD_ITEM(BC_M68_B, 0x06, 5, L"BC_M68_B", 1),
METHOD_ITEM(BC_ARMThumb, 0x07, 1, L"BC_ARMThumb", 1)
// METHOD_ITEM(BC_M68_B, 0x06, 5, L"BC_M68_B", 1),
METHOD_ITEM(BC_ARMThumb, 0x07, 1, L"BC_ARMThumb", 1),
METHOD_ITEM(BC_SPARC, 0x08, 0x05, L"BC_SPARC", 1)
};
STDAPI GetNumberOfMethods(UINT32 *numMethods)
@@ -175,4 +150,3 @@ STDAPI GetMethodProperty(UINT32 index, PROPID propID, PROPVARIANT *value)
}
return S_OK;
}