Version

menu_open
AK.Wwise::Plugin::PluginInfoGenerator< PluginT > Struct Template Reference

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 ()=default
 

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 InterfaceArrayItemGenerateInterfaceArray (InterfaceArrayItem out_interfaces[k_interfaceCount])
 
static InterfaceArrayItemInstantiate (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]
 Array of all used interfaces for the plug-in. More...
 
PluginInfo m_pluginInfo
 The unique m_pluginInfo used in the ak_wwise_plugin_container for that particular plug-in. More...
 

Detailed Description

template<typename PluginT>
struct AK.Wwise::Plugin::PluginInfoGenerator< PluginT >

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.

Template Parameters
PluginTThe plug-in class that needs to be instantiated in order to use that plug-in.

Definition at line 327 of file PluginInfoGenerator.h.


Cette page a-t-elle été utile ?

Besoin d'aide ?

Des questions ? Des problèmes ? Besoin de plus d'informations ? Contactez-nous, nous pouvons vous aider !

Visitez notre page d'Aide

Décrivez-nous de votre projet. Nous sommes là pour vous aider.

Enregistrez votre projet et nous vous aiderons à démarrer sans aucune obligation !

Partir du bon pied avec Wwise