IccMAX 2.1.27
Color Profile Tools
|
#include <IccMpeFactory.h>
Public Member Functions | |
~CIccMpeCreator () | |
Static Public Member Functions | |
static CIccMultiProcessElement * | CreateElement (icElemTypeSignature elemTypeSig) |
static bool | GetElementSigName (std::string &elemName, icElemTypeSignature elemTypeSig) |
static IIccMpeFactory * | PopFactory () |
static void | PushFactory (IIccMpeFactory *pFactory) |
Private Member Functions | |
CIccMpeCreator () | |
CIccMultiProcessElement * | DoCreateElement (icElemTypeSignature elemTypeSig) |
bool | DoGetElementSigName (std::string &elemName, icElemTypeSignature elemTypeSig) |
IIccMpeFactory * | DoPopFactory (bool bAll=false) |
void | DoPushFactory (IIccMpeFactory *pFactory) |
Static Private Member Functions | |
static CIccMpeCreator * | GetInstance () |
Private Attributes | |
CIccMpeFactoryList | factoryStack |
Static Private Attributes | |
static CIccMpeCreatorPtr | theElementCreator |
Class: CIccMpeCreator
Purpose: CIccMpeCreator uses a singleton pattern to provide dynamically upgradeable CIccProcessElement derived object creation based on element signature.
CIccMpeCreator::~CIccMpeCreator | ( | ) |
References DoPopFactory().
|
inlineprivate |
Only GetInstance() can create the singleton
|
inlinestatic |
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.
References DoCreateElement(), and GetInstance().
Referenced by CIccMultiProcessElement::Create().
|
private |
References IIccMpeFactory::CreateElement(), and factoryStack.
Referenced by CreateElement().
|
private |
References factoryStack, and IIccMpeFactory::GetElementSigName().
Referenced by GetElementSigName().
|
private |
References factoryStack.
Referenced by ~CIccMpeCreator(), and PopFactory().
|
private |
References factoryStack.
Referenced by GetInstance(), and PushFactory().
|
inlinestatic |
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.
References DoGetElementSigName(), and GetInstance().
Referenced by CIccInfo::GetElementTypeSigName().
|
staticprivate |
Function: GetInstance() Private static function to access singleton CiccElementCreator Object.
Parameter(s): None
Returns the singleton CIccMpeCreator object. It will allocate a new one and push a single CIccSpecElement Factory object onto the factory stack if the singleton has not been intialized.
References DoPushFactory(), and theElementCreator.
Referenced by CreateElement(), GetElementSigName(), PopFactory(), and PushFactory().
|
inlinestatic |
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.
References DoPopFactory(), and GetInstance().
|
inlinestatic |
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.
References DoPushFactory(), and GetInstance().
Referenced by main().
|
private |
Referenced by DoCreateElement(), DoGetElementSigName(), DoPopFactory(), and DoPushFactory().
|
staticprivate |
Referenced by GetInstance().