2
3
4
5
6
7
14
15
16
24typedef GBL_RESULT (*GblOpaqueCopyFn)(
void* pOpaque,
void** ppNewOpaque);
26typedef GBL_RESULT (*GblOpaqueFreeFn)(
void* pOpaque);
35
36
37
38
39
40
46
47
48
59
60
61
#define GBL_CLASS_CAST(cType, klass)
#define GBL_TYPEID(instanceStruct)
#define GBL_CLASS_DERIVE(...)
GBL_RESULT GblOpaque_free(void *pOpaque, GblType type)
Frees an opaque structure with the given type using its vtable.
GBL_RESULT GblOpaque_copy(void *pOpaque, GblType type, void **ppNewOpaque)
Copies an opaque structure with the given type into ppNewOpaque, using its vtable.
GblType GblOpaque_register(const char *pName, const GblOpaqueVTable *pVTable)
Registers an opaque subtype with the virtual table given by pVTable.
GblType GblOpaque_type(void)
Returns the GblType UUID for GblOpaque.
const GblOpaqueVTable * pVTable
Pointer to the virtual table structure.
Virtual table structure for a GblOpaqueClass.
GblOpaqueCopyFn pFnCopy
Copy method.
GblOpaqueFreeFn pFnFree
Free method.