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