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) |
|