Class factory that any Plug-in defines for creating class instances. More...
#include <ipluginbase.h>
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. | |
Static Public Attributes | |
static const FUID | iid |
Class factory that any Plug-in defines for creating class instances.
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
virtual tresult getFactoryInfo | ( | PFactoryInfo * | info | ) | [pure virtual] |
Fill a PFactoryInfo structure with information about the Plug-in vendor.
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.
virtual tresult getClassInfo | ( | int32 | index, | |
PClassInfo * | info | |||
) | [pure virtual] |
Fill a PClassInfo structure with information about the class at the specified index.
Create a new class instance.
Reimplemented from FUnknown.
Reimplemented in IPluginFactory2, and IPluginFactory3.