Mercurial > vba-linux
view src/win32/7zip/7z/CPP/7zip/Common/RegisterCodec.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
line wrap: on
line source
1 // RegisterCodec.h3 #ifndef __REGISTERCODEC_H4 #define __REGISTERCODEC_H6 #include "../Common/MethodId.h"7 #include "DeclareCodecs.h"9 typedef void * (*CreateCodecP)();10 struct CCodecInfo11 {12 CreateCodecP CreateDecoder;13 CreateCodecP CreateEncoder;14 CMethodId Id;15 const wchar_t *Name;16 UInt32 NumInStreams;17 bool IsFilter;18 };20 void RegisterCodec(const CCodecInfo *codecInfo);22 #define REGISTER_CODEC(x) CRegisterCodec##x::CRegisterCodec##x() { RegisterCodec(&g_CodecInfo); } \23 CRegisterCodec##x g_RegisterCodec##x;25 #define REGISTER_CODECS(x) CRegisterCodecs##x::CRegisterCodecs##x() { \26 for(int i=0;i<sizeof(g_CodecsInfo)/sizeof(*g_CodecsInfo);i++) \27 RegisterCodec(&g_CodecsInfo[i]); } \28 CRegisterCodecs##x g_RegisterCodecs##x;30 #endif