Wwise Version
arrow_right Table of Contents
Wwise SDK 2021.1.4
PluginInfoGenerator.h File Reference

Wwise Authoring Plug-ins - C++ class helper to automatically determine the plug-in interfaces used in a class. More...

#include "PluginContainer.h"
#include <array>
#include <memory>

Go to the source code of this file.

Classes

struct   AK.Wwise::Plugin::PluginInfoTLS< bool >
  The interface information of the plug-in currently being instantiated. More...
 
class   AK.Wwise::Plugin::CBaseInterfaceGlue< CInterface >
  PluginInfoGenerator: For each plug-in interface type, provides a single static instance used throughout this plug-in container. More...
 
class   AK.Wwise::Plugin::CBaseInstanceGlue< CInterface, CInstance >
  PluginInfoGenerator: Associates an existing C Interface with a variable that can be used. Derives from the instance that uses it. More...
 
class   AK.Wwise::Plugin::HostInterfaceGlue< CPPInstance, in_baseInstance >
  PluginInfoGenerator: Base class for every C++ instance that retrieves a service from the Wwise Authoring host. More...
 
class   AK.Wwise::Plugin::HostInterfaceGlue< CPPInstance, true >
 
struct   AK.Wwise::Plugin::KnownInterfaceClass< in_interfaceType, in_interfaceVersion >
  PluginInfoGenerator: Compile-time dictionary of known interface-version. More...
 
class   AK.Wwise::Plugin::RequestedHostInterface< T >
  PluginInfoGenerator: Requests a host-provided service, and optionally receives a variable containing the default instance. More...
 
struct   AK.Wwise::Plugin::LatestInterfaceVersion< in_interfaceType >
  PluginInfoGenerator: Defines a compile-time dictionary with the latest version known to the SDK for each interface. More...
 
struct   AK.Wwise::Plugin::KnownInterfaceClass< AK_WWISE_PLUGIN_INTERFACE_TYPE_PLUGIN_CONTAINER, 1 >
 
struct   AK.Wwise::Plugin::LatestInterfaceVersion< AK_WWISE_PLUGIN_INTERFACE_TYPE_PLUGIN_CONTAINER >
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >
  C++ PluginInfo Generator. More...
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >::InterfaceInfo< in_interfaceType >
  Compile-time dictionary about a particular interface type. More...
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >::InterfaceInfo< in_interfaceType >::VersionPack< in_versions >
  Compile-time container of version numbers. More...
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >::InterfaceInfo< in_interfaceType >::ToInterfaceClassImpl< bool >
  Casts the plug-in class to the requested interface class. More...
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >::GenerateConstructor< in_interfaceType >
  Generates the constructor for our particular type. More...
 
struct   AK.Wwise::Plugin::PluginInfoGenerator< PluginT >::GenerateConstructorArray< in_interfaceType >
  Recursively generates the constructors and interface pointer updater for all the Interfaces. More...
 

Namespaces

namespace   AK
  Audiokinetic namespace.
 
namespace   AK.Wwise
 
  AK::Wwise::Plugin
 

Macros

#define  AK_WWISESDK_VERSION_NATIVE_COMBINED   ((AK_WWISESDK_VERSION_MAJOR << 19) | (AK_WWISESDK_VERSION_MINOR << 16) | AK_WWISESDK_VERSION_SUBMINOR)
  The specific version for native plug-in interfaces. Must be identical down to the build number. More...
 
#define  AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_CLASS(in_name)
  PluginInfoGenerator: Defines a C++ known interface-version to Type dictionary entry. More...
 
#define  AK_WWISE_PLUGIN_SPECIALIZE_HOST_INTERFACE(in_name, in_varname, ...)
  PluginInfoGenerator: Creates a C++ host specialization for interface class specified in in_name, and creates a variable instance named m_ followed by in_varname. More...
 
#define  AK_WWISE_PLUGIN_SPECIALIZE_HOST_INTERFACE_NO_BASE_INSTANCE(in_name, in_varname)
  PluginInfoGenerator: Creates a C++ host specialization for interface class specified in in_name. More...
 
#define  AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_VERSION(in_interface)
  PluginInfoGenerator: Creates a C++ link to the latest version known to the SDK for each interface. More...
 
#define  AK_PLUGIN_USERGENERATEDPLUGININFO_NAMESPACE_NAME   AK_PLUGIN_USERGENERATEDPLUGININFO_NAMESPACE_NAME1(UserGeneratedPluginInfo, __COUNTER__)
  Creates an unique PluginInfo instance for the plug-in registration. More...
 
#define  AK_DECLARE_PLUGIN_CONTAINER(ContainerName)   extern AK::Wwise::Plugin::PluginContainer& GetPluginContainer ## ContainerName()
  (C++) Declares the plug-in container. More...
 
#define  AK_DEFINE_PLUGIN_CONTAINER(ContainerName)
  (C++) Defines the unique plug-in container. More...
 
#define  AK_EXPORT_PLUGIN_CONTAINER(ContainerName)
  (C++) Exports the plug-in container for a shared library. More...
 
#define  AK_ADD_PLUGIN_CLASS_TO_CONTAINER(ContainerName, WwiseClassName, AudioEngineRegisteredName)
  (C++) Adds a Wwise Authoring plug-in and a Sound Engine plug-in to a plug-in container. More...
 
#define  AK_ADD_PLUGIN_CLASSID_TO_CONTAINER(ContainerName, WwiseClassName, CompanyID, PluginID, Type)
  (C++) Adds a plug-in to a plug-in container. More...
 
#define  AK_AUDIOPLUGIN_USERGENERATEDPLUGININFO_NAMESPACE_NAME   AK_PLUGIN_USERGENERATEDPLUGININFO_NAMESPACE_NAME
 
#define  DECLARE_AUDIOPLUGIN_CONTAINER(x)   AK_DECLARE_PLUGIN_CONTAINER(x)
 
#define  DEFINE_AUDIOPLUGIN_CONTAINER(x)   AK_DEFINE_PLUGIN_CONTAINER(x)
 
#define  EXPORT_AUDIOPLUGIN_CONTAINER(x)   AK_EXPORT_PLUGIN_CONTAINER(x)
 
#define  ADD_AUDIOPLUGIN_CLASS_TO_CONTAINER(x, y, z)   AK_ADD_PLUGIN_CLASS_TO_CONTAINER(x, y, z)
 
#define  ADD_AUDIOPLUGIN_CLASSID_TO_CONTAINER(x, y, a, b, c)   AK_ADD_PLUGIN_CLASSID_TO_CONTAINER(x, y, a, b, c)
 

Typedefs

using  AK::Wwise::Plugin::InterfaceType = decltype(BaseInterface::m_interface)
  PluginInfoGenerator: Type for the m_interface value in BaseInterface. More...
 
using  AK::Wwise::Plugin::InterfaceTypeValue = std::underlying_type< InterfaceType >::type
  PluginInfoGenerator: Underlying storage type for the m_interface value in BaseInterface. More...
 
using  AK::Wwise::Plugin::InterfaceVersion = decltype(BaseInterface::m_version)
  PluginInfoGenerator: Type for the m_version value in BaseInterface. More...
 

Detailed Description

Wwise Authoring Plug-ins - C++ class helper to automatically determine the plug-in interfaces used in a class.

Definition in file PluginInfoGenerator.h.