summaryrefslogtreecommitdiffstats
path: root/other-licenses/7zstub/src/CPP/7zip/IDecl.h
blob: 5a34b0e441911b3d6eabaf3c9a62ddf3bc7041be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// IDecl.h

#ifndef __IDECL_H
#define __IDECL_H

#include "../Common/MyUnknown.h"

#define k_7zip_GUID_Data1 0x23170F69
#define k_7zip_GUID_Data2 0x40C1

#define k_7zip_GUID_Data3_Common  0x278A

#define k_7zip_GUID_Data3_Decoder 0x2790
#define k_7zip_GUID_Data3_Encoder 0x2791
#define k_7zip_GUID_Data3_Hasher  0x2792


#define DECL_INTERFACE_SUB(i, base, groupId, subId) \
  DEFINE_GUID(IID_ ## i, \
    k_7zip_GUID_Data1, \
    k_7zip_GUID_Data2, \
    k_7zip_GUID_Data3_Common, \
    0, 0, 0, (groupId), 0, (subId), 0, 0); \
  struct i: public base

#define DECL_INTERFACE(i, groupId, subId) DECL_INTERFACE_SUB(i, IUnknown, groupId, subId)

#endif