Go to the documentation of this file.
30 #ifndef DILIGENT_INTERFACE_NAME
31 # error Interface name is undefined
34 #pragma push_macro("THIS")
35 #pragma push_macro("THIS_")
36 #pragma push_macro("VIRTUAL")
37 #pragma push_macro("CONST")
38 #pragma push_macro("PURE")
39 #pragma push_macro("REF")
40 #pragma push_macro("METHOD")
50 #if DILIGENT_C_INTERFACE
52 # define THIS struct DILIGENT_INTERFACE_NAME*
53 # define THIS_ struct DILIGENT_INTERFACE_NAME*,
58 # define METHOD(Name) (DILIGENT_CALL_TYPE * Name)
71 # define DILIGENT_END_INTERFACE\
72 typedef struct DILIGENT_CONCATENATE(DILIGENT_INTERFACE_NAME, Methods) DILIGENT_CONCATENATE(DILIGENT_INTERFACE_NAME, Methods); \
73 typedef struct DILIGENT_CONCATENATE(DILIGENT_INTERFACE_NAME, Vtbl) \
75 DILIGENT_CONCATENATE(DILIGENT_INTERFACE_NAME, InclusiveMethods);\
76 } DILIGENT_CONCATENATE(DILIGENT_INTERFACE_NAME, Vtbl);
83 # define VIRTUAL virtual
87 # define METHOD(Name) DILIGENT_CALL_TYPE Name
88 # define DILIGENT_END_INTERFACE