LMMS
Loading...
Searching...
No Matches
pluginterfacesupport.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// Project : VST SDK
3//
4// Category : Helpers
5// Filename : public.sdk/source/vst/hosting/pluginterfacesupport.h
6// Created by : Steinberg, 11/20018.
7// Description : VST 3 hostclasses, example implementations for IPlugInterfaceSupport
8//
9//-----------------------------------------------------------------------------
10// LICENSE
11// (c) 2021, Steinberg Media Technologies GmbH, All Rights Reserved
12//-----------------------------------------------------------------------------
13// Redistribution and use in source and binary forms, with or without modification,
14// are permitted provided that the following conditions are met:
15//
16// * Redistributions of source code must retain the above copyright notice,
17// this list of conditions and the following disclaimer.
18// * Redistributions in binary form must reproduce the above copyright notice,
19// this list of conditions and the following disclaimer in the documentation
20// and/or other materials provided with the distribution.
21// * Neither the name of the Steinberg Media Technologies nor the names of its
22// contributors may be used to endorse or promote products derived from this
23// software without specific prior written permission.
24//
25// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
26// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
27// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
29// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
30// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
32// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
33// OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
34// OF THE POSSIBILITY OF SUCH DAMAGE.
35//-----------------------------------------------------------------------------
36
37#pragma once
38
40
41#include <vector>
42#include "base/source/fobject.h"
43
44namespace Steinberg {
45namespace Vst {
46
47//------------------------------------------------------------------------
52{
53public:
55
56 //--- IPlugInterfaceSupport ---------
57 tresult PLUGIN_API isPlugInterfaceSupported (const TUID _iid) SMTG_OVERRIDE;
58
59 void addPlugInterfaceSupported (const TUID _iid);
60 bool removePlugInterfaceSupported (const TUID _iid);
61
67
68private:
69 std::vector<FUID> mFUIDArray;
70};
71
72//------------------------------------------------------------------------
73} // namespace Vst
74} // namespace Steinberg
FObject()
default constructor...
Definition fobject.h:85
Definition ivstpluginterfacesupport.h:54
void addPlugInterfaceSupported(const TUID _iid)
Definition pluginterfacesupport.cpp:112
std::vector< FUID > mFUIDArray
Definition pluginterfacesupport.h:69
tresult PLUGIN_API isPlugInterfaceSupported(const TUID _iid) SMTG_OVERRIDE
Definition pluginterfacesupport.cpp:103
bool removePlugInterfaceSupported(const TUID _iid)
Definition pluginterfacesupport.cpp:118
PlugInterfaceSupport()
Definition pluginterfacesupport.cpp:50
#define DEFINE_INTERFACES
Definition fobject.h:378
#define DEF_INTERFACE(InterfaceName)
Definition fobject.h:385
#define OBJ_METHODS(className, baseClass)
Definition fobject.h:339
#define END_DEFINE_INTERFACES(BaseClass)
Definition fobject.h:391
#define REFCOUNT_METHODS(BaseClass)
Definition fobject.h:351
#define SMTG_OVERRIDE
Definition fplatform.h:241
Definition ivstattributes.h:28
Definition baseiids.cpp:43
int8 TUID[16]
plain UID type
Definition funknown.h:210
int32 tresult
Definition ftypes.h:76