VST 3 SDK  VST 3.6.7
SDK for developing VST Plug-in
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes
CPluginFactory Class Reference

Default Class Factory implementation. More...

#include <pluginfactoryvst3.h>

+ Inheritance diagram for CPluginFactory:

Public Member Functions

 CPluginFactory (const PFactoryInfo &info)
 
virtual ~CPluginFactory ()
 
bool registerClass (const PClassInfo *info, FUnknown *(*createFunc)(void *), void *context=0)
 Registers a Plug-in class with classInfo version 1, returns true for success. More...
 
bool registerClass (const PClassInfo2 *info, FUnknown *(*createFunc)(void *), void *context=0)
 Registers a Plug-in class with classInfo version 2, returns true for success. More...
 
bool registerClass (const PClassInfoW *info, FUnknown *(*createFunc)(void *), void *context=0)
 Registers a Plug-in class with classInfo Unicode version, returns true for success. More...
 
bool isClassRegistered (const FUID &cid)
 Check if a class for a given classId is already registered. More...
 
DECLARE_FUNKNOWN_METHODS tresult getFactoryInfo (PFactoryInfo *info) SMTG_OVERRIDE
 
int32 countClasses () SMTG_OVERRIDE
 
tresult getClassInfo (int32 index, PClassInfo *info) SMTG_OVERRIDE
 
tresult createInstance (FIDString cid, FIDString _iid, void **obj) SMTG_OVERRIDE
 
tresult getClassInfo2 (int32 index, PClassInfo2 *info) SMTG_OVERRIDE
 
tresult getClassInfoUnicode (int32 index, PClassInfoW *info) SMTG_OVERRIDE
 
tresult setHostContext (FUnknown *context) SMTG_OVERRIDE
 
- Public Member Functions inherited from FUnknown
virtual tresult queryInterface (const TUID _iid, void **obj)=0
 
virtual uint32 addRef ()=0
 
virtual uint32 release ()=0
 

Protected Member Functions

bool growClasses ()
 

Protected Attributes

PFactoryInfo factoryInfo
 
PClassEntry * classes
 
int32 classCount
 
int32 maxClassCount
 

Additional Inherited Members

- Static Public Attributes inherited from IPluginFactory3
static const FUID iid
 
- Static Public Attributes inherited from IPluginFactory2
static const FUID iid
 
- Static Public Attributes inherited from IPluginFactory
static const FUID iid
 
- Static Public Attributes inherited from FUnknown
static const FUID iid
 

Detailed Description

Default Class Factory implementation.

See also
Macros for defining the class factory

Constructor & Destructor Documentation

CPluginFactory ( const PFactoryInfo info)
virtual ~CPluginFactory ( )
virtual

Member Function Documentation

bool registerClass ( const PClassInfo info,
FUnknown *(*)(void *)  createFunc,
void *  context = 0 
)

Registers a Plug-in class with classInfo version 1, returns true for success.

bool registerClass ( const PClassInfo2 info,
FUnknown *(*)(void *)  createFunc,
void *  context = 0 
)

Registers a Plug-in class with classInfo version 2, returns true for success.

bool registerClass ( const PClassInfoW info,
FUnknown *(*)(void *)  createFunc,
void *  context = 0 
)

Registers a Plug-in class with classInfo Unicode version, returns true for success.

bool isClassRegistered ( const FUID cid)

Check if a class for a given classId is already registered.

DECLARE_FUNKNOWN_METHODS tresult getFactoryInfo ( PFactoryInfo info)
virtual

Implements IPluginFactory.

int32 countClasses ( )
virtual

Implements IPluginFactory.

tresult getClassInfo ( int32  index,
PClassInfo info 
)
virtual

Implements IPluginFactory.

tresult createInstance ( FIDString  cid,
FIDString  _iid,
void **  obj 
)
virtual

Implements IPluginFactory.

tresult getClassInfo2 ( int32  index,
PClassInfo2 info 
)
virtual

Implements IPluginFactory2.

tresult getClassInfoUnicode ( int32  index,
PClassInfoW info 
)
virtual

Implements IPluginFactory3.

tresult setHostContext ( FUnknown context)
virtual

Implements IPluginFactory3.

bool growClasses ( )
protected

Field Documentation

PFactoryInfo factoryInfo
protected
PClassEntry* classes
protected
int32 classCount
protected
int32 maxClassCount
protected
Empty

Copyright ©2017 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.