carb::PluginRegistryEntry2
Defined in carb/Types.h
Structs
- carb::PluginRegistryEntry2::Interface2: Entry in an array of interfaces implemented by the plugin. 
- 
struct PluginRegistryEntry2
- Defines a struct to be filled by a plugin to provide the framework with all information about it. This struct is automatically created and filled by the macro CARB_PLUGIN_IMPL. - Public Members - 
size_t sizeofThisStruct
- Must reflect - sizeof(PluginRegistryEntry2); used as a version for this struct.
 - 
PluginImplDesc implDesc
- Textual information about the plugin (name, desc, etc). 
 - 
Interface2 *interfaces
- Pointer to an array of interfaces implemented by the plugin. 
 - 
size_t interfaceCount
- Number of interfaces in the - interfacesarray.
 - 
struct Interface2
- Entry in an array of interfaces implemented by the plugin. - Public Members - 
size_t sizeofThisStruct
- Must reflect - sizeof(Interface2); used as a version for this struct.
 - 
InterfaceDesc desc
- An interface in the plugin. 
 - 
size_t size
- Required size for the interface (must be the maximum size for all supported versions) 
 - 
size_t align
- Required alignment for the interface. 
 - 
void (*Constructor)(void *p)
- Constructor function for this interface within the plugin (auto-generated by CARB_PLUGIN_IMPL). - Called by the framework to construct the interface. - Param p
- The buffer (guaranteed to be at least - sizebytes) to construct the interface into.
 
 - 
void (*Destructor)(void *p)
- Destructor function for this interface within the plugin (auto-generated by CARB_PLUGIN_IMPL). - This union member is selected if - VersionedConstructoris- nullptr.- Called by the framework to destruct the interface before unloading the plugin. - Param p
- The buffer previously passed to Constructor that contains the interface. 
 
 - 
void (*VersionedDestructor)(Version v, void *p)
- Versioned destructor for this interface within the plugin. - This union member is selected if - VersionedConstructoris not- nullptr.- This function is typically the user-provided function destroyInterface; if that function is not provided no destruction happens. - Param v
- The version of the interface, as set in the - vparameter for VersionedConstructor before that function returns.
- Param p
- The interface buffer that was originally passed to VersionedConstructor. Destructor with version 
 
 - 
union carb::PluginRegistryEntry2::Interface2::[anonymous] [anonymous]
 - 
bool (*VersionedConstructor)(Version *v, void *p)
- Versioned constructor function for this interface within the plugin. - This function is typically fillInterface(carb::Version*, void*). - Warning - This function must not fail when - desc.versionis requested.- Param v
- When called, the version requested. Before returning, the function should write the version that is being constructed into - p.
- Param p
- A buffer (guaranteed to be at least - sizebytes) to construct the interface into.
- Retval `true`
- if the requested version was available and constructed into - p.
- Retval `false`
- if the requested version is not available. 
 
 
- 
size_t sizeofThisStruct
 
- 
size_t sizeofThisStruct