#include <IccMpeFactory.h>
Public Member Functions | |
~CIccMpeCreator () | |
Static Public Member Functions | |
CIccMultiProcessElement * | CreateElement (icElemTypeSignature elemTypeSig) |
bool | GetElementSigName (std::string &elemName, icElemTypeSignature elemTypeSig) |
void | PushFactory (IIccMpeFactory *pFactory) |
IIccMpeFactory * | PopFactory () |
Purpose: CIccMpeCreator uses a singleton pattern to provide dynamically upgradeable CIccProcessElement derived object creation based on element signature.
|
|
|
Function: CreateElement(elemTypeSig) Create a element of type elemTypeSig. Parameter(s): elemTypeSig = signature of the ICC element type for the element to be created Returns a new CIccProcessElement object of the given signature type. Each factory in the factoryStack is used until a factory supports the signature type. |
|
Function: GetElementSigName(elemTypeSig) Get display name of elemTypeSig. Parameter(s): elemName = string to put element name into elemTypeSig = signature of the ICC element type to get a name for Returns true if element type is recognized by any factory, false if all factories do not create elemTypeSig elements. If element type is not recognized by any factories a suitable display name will be placed in elemName. |
|
Function: PopFactory() Remove the top IIccMpeFactory from the stack of element factories tracked by the system. Parameter(s): None Returns the top IIccMpeFactory from the stack of element factories tracked by the system. The returned element factory is no longer owned by the system and needs to be deleted to avoid memory leaks. Note: The initial CIccBasicElemFactory cannot be popped off the stack. |
|
Function: PushFactory(pFactory) Add an IIccMpeFactory to the stack of element factories tracked by the system. Parameter(s): pFactory = pointer to an IIccMpeFactory object to add to the system. The pFactory must be created with new, and will be owned CIccMpeCreator until popped off the stack using PopFactory(). Any factories not popped off will be taken care of properly on application shutdown. |