Version
menu_open
Wwise SDK 2023.1.4
TestService.h
Go to the documentation of this file.
1 /*******************************************************************************
2 The content of this file includes portions of the AUDIOKINETIC Wwise Technology
3 released in source code form as part of the SDK installer package.
4 
5 Commercial License Usage
6 
7 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
8 may use this file in accordance with the end user license agreement provided
9 with the software or, alternatively, in accordance with the terms contained in a
10 written agreement between you and Audiokinetic Inc.
11 
12 Apache License Usage
13 
14 Alternatively, this file may be used under the Apache License, Version 2.0 (the
15 "Apache License"); you may not use this file except in compliance with the
16 Apache License. You may obtain a copy of the Apache License at
17 http://www.apache.org/licenses/LICENSE-2.0.
18 
19 Unless required by applicable law or agreed to in writing, software distributed
20 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
21 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
22 the specific language governing permissions and limitations under the License.
23 
24  Copyright (c) 2024 Audiokinetic Inc.
25 *******************************************************************************/
26 #pragma once
27 
28 #include "PluginInfoGenerator.h"
29 
31 #ifdef __cplusplus
33 #endif
34 {
35 #ifndef __cplusplus
36  ak_wwise_plugin_test_service_interface m_baseInterface;
37 #endif
38 
39 #ifdef __cplusplus
43  {}
44 #endif
45 
46  uint32_t(*TestCall)(const struct ak_wwise_plugin_test_service_instance_v2* in_this);
47  uint32_t(*NewCall)(const struct ak_wwise_plugin_test_service_instance_v2* in_this);
48 };
49 
50 
51 #define AK_WWISE_PLUGIN_TESTSERVICE_V2_ID() \
52  AK_WWISE_PLUGIN_TEST_SERVICE_INTERFACE_FROM_ID(AK_WWISE_PLUGIN_INTERFACE_TYPE_TESTSERVICE, 2)
53 #define AK_WWISE_PLUGIN_TESTSERVICE_V2_CTOR() \
54 { \
55  .m_baseInterface = AK_WWISE_PLUGIN_TESTSERVICE_V2_ID() \
56 }
57 
58 
59 #ifdef __cplusplus
60 namespace AK::Wwise::Plugin
61 {
62  namespace V2
63  {
65 
66  /// \copydoc ak_wwise_plugin_test_service_v2
67  class TestService : public CBaseInstanceGlue<CTestService>
68  {
69  public:
72 
73  /**
74  * \brief The interface type, as requested by this plug-in.
75  */
76  enum : InterfaceTypeValue
77  {
78  /**
79  * \brief The interface type, as requested by this plug-in.
80  */
82  };
83  /**
84  * \brief The interface version, as requested by this plug-in.
85  */
86  enum : InterfaceVersion
87  {
88  /**
89  * \brief The interface version, as requested by this plug-in.
90  */
92  };
93 
94  inline uint32_t TestCall() const
95  {
96  return g_cinterface->TestCall(this);
97  }
98 
99  inline uint32_t NewCall() const
100  {
101  return g_cinterface->NewCall(this);
102  }
103  };
104 
106 
107  } // of namespace V2
108 
109  /// Latest version of the C TestService interface.
111  /// Latest version of the C++ TestService interface.
113  /// Latest version of the requested C++ TestService interface.
115 
119 } // of namespace AK::Wwise::Plugin
120 
121 #endif
V2::TestService TestService
Latest version of the C++ TestService interface.
Definition: TestService.h:112
static GluedInterface * g_cinterface
The unique instance of the CInterface interface. Defined at nullptr first, overridden by the Host onc...
RequestedHostInterface< TestService > RequestTestService
Definition: TestService.h:105
decltype(BaseInterface::m_version) InterfaceVersion
PluginInfoGenerator: Type for the m_version value in BaseInterface.
@ AK_WWISE_PLUGIN_INTERFACE_TYPE_TESTSERVICE
@ k_interfaceVersion
The interface version, as requested by this plug-in.
Definition: TestService.h:91
ak_wwise_plugin_test_service_v2 CTestService
Definition: TestService.h:64
uint32_t(* NewCall)(const struct ak_wwise_plugin_test_service_instance_v2 *in_this)
Definition: TestService.h:47
Wwise Authoring Plug-ins - C++ class helper to automatically determine the plug-in interfaces used in...
PluginInfoGenerator: Associates an existing C Interface with a variable that can be used....
std::underlying_type< InterfaceType >::type InterfaceTypeValue
PluginInfoGenerator: Underlying storage type for the m_interface value in BaseInterface.
AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_VERSION(AudioPlugin)
Interface description and base class for every Wwise Authoring plug-in interface.
ak_wwise_plugin_test_service_instance_v2 Instance
Definition: TestService.h:40
uint32_t(* TestCall)(const struct ak_wwise_plugin_test_service_instance_v2 *in_this)
Definition: TestService.h:46
@ k_interfaceType
The interface type, as requested by this plug-in.
Definition: TestService.h:81
#define AK_WWISE_PLUGIN_SPECIALIZE_HOST_INTERFACE(in_name, in_varname,...)
PluginInfoGenerator: Creates a C++ host specialization for interface class specified in in_name,...
AK_WWISE_PLUGIN_SPECIALIZE_INTERFACE_CLASS(AudioPlugin)

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise