Mercurial > vba-linux
comparison src/win32/7zip/7z/CPP/7zip/Common/RegisterArc.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:8ced16adf2e1 | 1:f9f4f1b99eed |
---|---|
1 // RegisterArc.h | |
2 | |
3 #ifndef __REGISTERARC_H | |
4 #define __REGISTERARC_H | |
5 | |
6 #include "../Archive/IArchive.h" | |
7 #include "DeclareArcs.h" | |
8 | |
9 typedef IInArchive * (*CreateInArchiveP)(); | |
10 typedef IOutArchive * (*CreateOutArchiveP)(); | |
11 | |
12 struct CArcInfo | |
13 { | |
14 const wchar_t *Name; | |
15 const wchar_t *Ext; | |
16 const wchar_t *AddExt; | |
17 Byte ClassId; | |
18 Byte Signature[16]; | |
19 int SignatureSize; | |
20 bool KeepName; | |
21 CreateInArchiveP CreateInArchive; | |
22 CreateOutArchiveP CreateOutArchive; | |
23 }; | |
24 | |
25 void RegisterArc(const CArcInfo *arcInfo); | |
26 | |
27 #define REGISTER_ARC(x) CRegister##x::CRegister##x() { RegisterArc(&g_ArcInfo); } \ | |
28 CRegister##x g_RegisterArc##x; | |
29 | |
30 #define REGISTER_ARCN(x,n) CRegister##x##n::CRegister##x##n() { RegisterArc(&g_ArcInfo##n); } \ | |
31 CRegister##x##n g_RegisterArc##n##x; | |
32 | |
33 #endif |