Interface Technology Basics: IPluginFactory Class Reference
Author: Steinberg

Interface Technology Basics VST 3.7 SDK for developing VST plug-in

Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
IPluginFactory Class Referenceabstract
Basic Interfaces

Class factory that any plug-in defines for creating class instances: IPluginFactory. More...

`#include <ipluginbase.h>`

Inheritance diagram for IPluginFactory:

## Public Member Functions
virtual tresult | getFactoryInfo (PFactoryInfo *info)=0
| Fill a PFactoryInfo structure with information about the plug-in vendor.
virtual int32 | countClasses ()=0
| Returns the number of exported classes by this factory.
virtual tresult | getClassInfo (int32 index, PClassInfo *info)=0
| Fill a PClassInfo structure with information about the class at the specified index.
virtual tresult | createInstance (FIDString cid, FIDString _iid, void **obj)=0
| Create a new class instance.
Public Member Functions inherited from FUnknown
virtual tresult | queryInterface (const TUID _iid, void **obj)=0
| Query for a pointer to the specified interface.
virtual uint32 | addRef ()=0
| Adds a reference and returns the new reference count.
virtual uint32 | release ()=0
| Releases a reference and returns the new reference count.

## Static Public Attributes
static const FUID | iid
Static Public Attributes inherited from FUnknown
static const FUID | iid

## Detailed Description

Class factory that any plug-in defines for creating class instances: IPluginFactory.

- [plug imp]

From the host's point of view a plug-in module is a factory which can create a certain kind of object(s). The interface IPluginFactory provides methods to get information about the classes exported by the plug-in and a mechanism to create instances of these classes (that usually define the IPluginBase interface).

An implementation is provided in public.sdk/source/common/pluginfactory.cpp

See also
  GetPluginFactory

## Member Function Documentation

## ◆ getFactoryInfo()

virtual tresult getFactoryInfo | ( | PFactoryInfo * | info | ) |
| pure virtual

Fill a PFactoryInfo structure with information about the plug-in vendor.

## ◆ countClasses()

virtual int32 countClasses | ( |  | ) |
| pure virtual

Returns the number of exported classes by this factory.

If you are using the CPluginFactory implementation provided by the SDK, it returns the number of classes you registered with CPluginFactory::registerClass.

## ◆ getClassInfo()

virtual tresult getClassInfo | ( | int32 | index,
|  | PClassInfo * | info )
| pure virtual

Fill a PClassInfo structure with information about the class at the specified index.

## ◆ createInstance()

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

Create a new class instance.

## Member Data Documentation

## ◆ iid

const::Steinberg::FUID iid
| static

Empty

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