IccMAX 2.1.27
Color Profile Tools
|
#include <IccTagFactory.h>
Public Member Functions | |
~CIccTagCreator () | |
Static Public Member Functions | |
static CIccTag * | CreateTag (icTagTypeSignature tagTypeSig) |
static icTagSignature | GetTagNameSig (const icChar *szName) |
static const icChar * | GetTagSigName (icTagSignature tagTypeSig) |
static icTagTypeSignature | GetTagTypeNameSig (const icChar *szName) |
static const icChar * | GetTagTypeSigName (icTagTypeSignature tagTypeSig) |
static IIccTagFactory * | PopFactory () |
static void | PushFactory (IIccTagFactory *pFactory) |
Private Member Functions | |
CIccTagCreator () | |
CIccTag * | DoCreateTag (icTagTypeSignature tagTypeSig) |
icTagSignature | DoGetTagNameSig (const icChar *szName) |
const icChar * | DoGetTagSigName (icTagSignature tagSig) |
icTagTypeSignature | DoGetTagTypeNameSig (const icChar *szName) |
const icChar * | DoGetTagTypeSigName (icTagTypeSignature tagTypeSig) |
IIccTagFactory * | DoPopFactory (bool bAll=false) |
void | DoPushFactory (IIccTagFactory *pFactory) |
Static Private Member Functions | |
static CIccTagCreator * | GetInstance () |
Private Attributes | |
CIccTagFactoryList | factoryStack |
Static Private Attributes | |
static CIccTagCreatorPtr | theTagCreator |
Class: CIccTagCreator
Purpose: CIccTagCreator uses a singleton pattern to provide dynamically upgradeable CIccTag derived object creation based on tag signature.
CIccTagCreator::~CIccTagCreator | ( | ) |
References DoPopFactory().
|
inlineprivate |
Only GetInstance() can create the signleton
|
inlinestatic |
Function: CreateTag(tagTypeSig) Create a tag of type tagTypeSig.
Parameter(s): tagTypeSig = signature of the ICC tag type for the tag to be created
Returns a new CIccTag object of the given signature type. Each factory in the factoryStack is used until a factory supports the signature type.
References DoCreateTag(), and GetInstance().
Referenced by CIccTag::Create(), and CIccTagArray::Read().
|
private |
References IIccTagFactory::CreateTag(), and factoryStack.
Referenced by CreateTag().
|
private |
References factoryStack, and IIccTagFactory::GetTagNameSig().
Referenced by GetTagNameSig().
|
private |
References factoryStack, and IIccTagFactory::GetTagSigName().
Referenced by GetTagSigName().
|
private |
References factoryStack, and IIccTagFactory::GetTagTypeNameSig().
Referenced by GetTagTypeNameSig().
|
private |
References factoryStack, and IIccTagFactory::GetTagTypeSigName().
Referenced by GetTagTypeSigName().
|
private |
References factoryStack.
Referenced by ~CIccTagCreator(), and PopFactory().
|
private |
References factoryStack.
Referenced by GetInstance(), and PushFactory().
|
staticprivate |
Function: GetInstance() Private static function to access singleton CiccTagCreator Object.
Parameter(s): None
Returns the singleton CIccTagCreator object. It will allocate a new one and push a single CIccSpecTag Factory object onto the factory stack if the singleton has not been intialized.
References DoPushFactory(), and theTagCreator.
Referenced by CreateTag(), GetTagNameSig(), GetTagSigName(), GetTagTypeNameSig(), GetTagTypeSigName(), PopFactory(), and PushFactory().
|
inlinestatic |
Function: GetTagNameSig(szTagName) Get signature from tag display name.
Parameter(s): szTagName = name of tag
Returns tag signature of tag if tag name is recognized by the factory, icSigUnknownTag if the tag name is not recognized.
References DoGetTagNameSig(), and GetInstance().
Referenced by icGetTagNameSig().
|
inlinestatic |
Function: GetTagSigName(tagSig) Get display name of tagSig.
Parameter(s): tagSig = signature of the ICC tag to get a name for
Returns ptr to string containing name of tag type if it is recognized by any factory, NULL if all factories do not create tagTypeSig tags.
References DoGetTagSigName(), and GetInstance().
Referenced by CIccInfo::GetTagSigName(), and icGetTagSigName().
|
inlinestatic |
Function: GetTagTypeNameSig(szTypeName) Get signature based on display name of tag type.
Parameter(s): szTypeName = name of the ICC tag type to get a signature for
Returns tag type signature of tag type name if type name is recognized by the factory, icSigUnknownType if the type name is not recognized.
References DoGetTagTypeNameSig(), and GetInstance().
Referenced by icGetTypeNameTagSig().
|
inlinestatic |
Function: GetTagTypeSigName(tagTypeSig) Get display name of tagTypeSig.
Parameter(s): tagTypeSig = signature of the ICC tag type to get a name for
Returns ptr to string containing name of tag type if it is recognized by any factory, NULL if all factories do not create tagTypeSig tags.
References DoGetTagTypeSigName(), and GetInstance().
Referenced by CIccInfo::GetTagTypeSigName(), and icGetTagSigTypeName().
|
inlinestatic |
Function: PopFactory() Remove the top IIccTagFactory from the stack of tag factories tracked by the system.
Parameter(s): None
Returns the top IIccTagFactory from the stack of tag factories tracked by the system. The returned tag factory is no longer owned by the system and needs to be deleted to avoid memory leaks.
Note: The initial CIccSpecTagFactory cannot be popped off the stack.
References DoPopFactory(), and GetInstance().
|
inlinestatic |
Function: PushFactory(pFactory) Add an IIccTagFactory to the stack of tag factories tracked by the system.
Parameter(s): pFactory = pointer to an IIccTagFactory object to add to the system. The pFactory must be created with new, and will be owned CIccTagCreator 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 DoCreateTag(), DoGetTagNameSig(), DoGetTagSigName(), DoGetTagTypeNameSig(), DoGetTagTypeSigName(), DoPopFactory(), and DoPushFactory().
|
staticprivate |
Referenced by GetInstance().