Imported Upstream version 9.20
[platform/upstream/7zip.git] / CPP / 7zip / Compress / BranchRegister.cpp
1 // BranchRegister.cpp\r
2 \r
3 #include "StdAfx.h"\r
4 \r
5 #include "../Common/RegisterCodec.h"\r
6 \r
7 #include "BranchMisc.h"\r
8 \r
9 #define CREATE_CODEC(x) \\r
10   static void *CreateCodec ## x() { return (void *)(ICompressFilter *)(new C ## x ## _Decoder); } \\r
11   static void *CreateCodec ## x ## Out() { return (void *)(ICompressFilter *)(new C ## x ## _Encoder); }\r
12 \r
13 CREATE_CODEC(BC_PPC)\r
14 CREATE_CODEC(BC_IA64)\r
15 CREATE_CODEC(BC_ARM)\r
16 CREATE_CODEC(BC_ARMT)\r
17 CREATE_CODEC(BC_SPARC)\r
18 \r
19 #define METHOD_ITEM(x, id1, id2, name) { CreateCodec ## x, CreateCodec ## x ## Out, 0x03030000 + (id1 * 256) + id2, name, 1, true  }\r
20 \r
21 static CCodecInfo g_CodecsInfo[] =\r
22 {\r
23   METHOD_ITEM(BC_PPC,   0x02, 0x05, L"PPC"),\r
24   METHOD_ITEM(BC_IA64,  0x04, 1, L"IA64"),\r
25   METHOD_ITEM(BC_ARM,   0x05, 1, L"ARM"),\r
26   METHOD_ITEM(BC_ARMT,  0x07, 1, L"ARMT"),\r
27   METHOD_ITEM(BC_SPARC, 0x08, 0x05, L"SPARC")\r
28 };\r
29 \r
30 REGISTER_CODECS(Branch)\r