IccMAX 2.1.27
Color Profile Tools
|
#include <IccXformFactory.h>
Public Member Functions | |
~CIccXformCreator () | |
Static Public Member Functions | |
static CIccXform * | CreateXform (icXformType xformType, CIccTag *pTag=NULL, CIccCreateXformHintManager *pHintManager=NULL) |
static IIccXformFactory * | PopFactory () |
static void | PushFactory (IIccXformFactory *pFactory) |
Private Member Functions | |
CIccXformCreator () | |
CIccXform * | DoCreateXform (icXformType xformType, CIccTag *pTag=NULL, CIccCreateXformHintManager *pHintManager=NULL) |
IIccXformFactory * | DoPopFactory (bool bAll=false) |
void | DoPushFactory (IIccXformFactory *pFactory) |
Static Private Member Functions | |
static CIccXformCreator * | GetInstance () |
Private Attributes | |
CIccXformFactoryList | factoryStack |
Static Private Attributes | |
static CIccXformCreatorPtr | theXformCreator |
Class: CIccXformCreator
Purpose: CIccXformCreator uses a singleton pattern to provide dynamically upgradeable CIccXform derived object creation based on xform type.
CIccXformCreator::~CIccXformCreator | ( | ) |
References DoPopFactory().
|
inlineprivate |
Only GetInstance() can create the signleton
|
inlinestatic |
Function: CreateXform(xformTypeSig) Create a xform of type xformTypeSig.
Parameter(s): xformType = signature of the ICC xform type for the xform to be created pTag = tag information for created xform pHintManager = contains additional information used to create xform
Returns a new CIccXform object of the given xform type. Each factory in the factoryStack is used until a factory supports the signature type.
References DoCreateXform(), and GetInstance().
|
private |
References IIccXformFactory::CreateXform(), and factoryStack.
Referenced by CreateXform().
|
private |
References factoryStack.
Referenced by ~CIccXformCreator(), and PopFactory().
|
private |
References factoryStack.
Referenced by GetInstance(), and PushFactory().
|
staticprivate |
Function: GetInstance() Private static function to access singleton CiccXformCreator Object.
Parameter(s): None
Returns the singleton CIccXformCreator object. It will allocate a new one and push a single CIccSpecXform Factory object onto the factory stack if the singleton has not been intialized.
References DoPushFactory(), and theXformCreator.
Referenced by CreateXform(), PopFactory(), and PushFactory().
|
inlinestatic |
Function: PopFactory() Remove the top IIccXformFactory from the stack of xform factories tracked by the system.
Parameter(s): None
Returns the top IIccXformFactory from the stack of xform factories tracked by the system. The returned xform factory is no longer owned by the system and needs to be deleted to avoid memory leaks.
Note: The initial CIccSpecXformFactory cannot be popped off the stack.
References DoPopFactory(), and GetInstance().
|
inlinestatic |
Function: PushFactory(pFactory) Add an IIccXformFactory to the stack of xform factories tracked by the system.
Parameter(s): pFactory = pointer to an IIccXformFactory object to add to the system. The pFactory must be created with new, and will be owned CIccXformCreator 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().
|
private |
Referenced by DoCreateXform(), DoPopFactory(), and DoPushFactory().
|
staticprivate |
Referenced by GetInstance().