Wwise SDK 2021.1.14
|
C++ PluginInfo Generator. More...
#include <PluginInfoGenerator.h>
Classes | |
struct | GenerateConstructor |
Generates the constructor for our particular type. More... |
|
struct | GenerateConstructorArray |
Recursively generates the constructors and interface pointer updater for all the Interfaces. More... |
|
struct | InterfaceInfo |
Compile-time dictionary about a particular interface type. More... |
|
Public Types | |
enum | : size_t { k_interfaceCount = CountInterfaces() } |
Public Member Functions | |
PluginInfoGenerator (PluginRegistration *in_pluginRegistration, uint32_t in_pluginFlags=0) | |
PluginInfoGenerator (const AkUInt32 *in_companyID, const AkUInt32 *in_pluginID, const AkPluginType *in_pluginType, uint32_t in_pluginFlags=0) | |
~PluginInfoGenerator () | |
Static Public Member Functions | |
template<InterfaceType in_interface = (InterfaceType)(AK_WWISE_PLUGIN_INTERFACE_TYPE_NUM - 1)> | |
static constexpr size_t | CountInterfaces () |
Count the number of interfaces we are currently using. More... |
|
template<InterfaceType in_interfaceType> | |
static constexpr InterfaceArrayItem | GenerateInterface () |
Generates the InterfaceArrayItem for our particular type. More... |
|
template<InterfaceType in_interfaceType> | |
static constexpr void | GenerateInterfaceArray (InterfaceArrayItem out_interfaces[k_interfaceCount], int in_count, InterfaceArrayItem) |
Recursively generates an interface array of all the Interfaces pointers. More... |
|
static constexpr InterfaceArrayItem * | GenerateInterfaceArray (InterfaceArrayItem out_interfaces[k_interfaceCount]) |
static InterfaceArrayItem * | Instantiate (PluginInfo *in_pluginInfo) |
Plug-in instance constructor, as shared with the host. More... |
|
static void | Disembody (InterfaceArrayItem *in_instance) |
Plug-in instance destructor, as shared to the host. More... |
|
Public Attributes | |
InterfaceArrayItem | m_interfaceArray [k_interfaceCount] |
Current array of interfaces, used in the bridge between host and plug-in. More... |
|
PluginInfo | m_pluginInfo |
The unique m_pluginInfo used in the ak_wwise_plugin_container for that particular plug-in. More... |
|
Static Public Attributes | |
static PluginInfoGenerator * | g_instance = nullptr |
The unique generator instance for this particular plug-in. More... |
|
C++ PluginInfo Generator.
Retrieves the list of plug-in interfaces required by a plug-in through derivation, and automatically creates a related ak_wwise_plugin_info structure.
Compared to a manually generated C version, the generated structure is done through a function that fills all the required data. Since it's a static global function called only once, and contains only value stores, the cost is, so far, quite minimal.
PluginT | The plug-in class that needs to be instantiated in order to use that plug-in. |
Definition at line 328 of file PluginInfoGenerator.h.