KCMS CMM Reference Manual

Public Members

The KcsTags class provides the following public members.

Table 7-1 KcsTags Public Members

Public Member 

Description 

KcsAttributeSet *copy(KcsStatus *status);

A non-shared copy of the object. 

static KcsTags *
createAttributeSet(KcsStatus *status);

Creates a blank attribute set. 

static KcsTags *
createAttributeSet(KcsChunkSet *ChunkSet,
 	KcsStatus *status);

Creates an attribute set from a chunk set. 

static KcsTags *
createAttributeSet(KcsStatus *aStat,
 	KcsChunkSet *aCS,
 	KcsChunkId aChunkId);

Creates an attributes set from a chunk set and chunk Id. 

KcsStatus
getAttribute(KcsAttributeName tag,
 	KcsAttributeValue *value,
	KcsAliasUsage aAliasUse =
 		KcsIndirectThroughAlias);

Given a valid attribute, loads the value.

static KcsStatus
 getAttributeInfo(KcsAttributeName aTag,
 	KcsAttributeType *aType,
 	unsigned long *count,
 	unsigned long *sizeOfType,
 	KcsTags *tags = NULL);

Given a valid aTag, populates the supplied parameters with the type and the count (the number of tokens that make up the attribute) of the attribute associated with the supplied aTag.

static unsigned long
getAttrSize(KcsAttributeType aTagType);

Returns the size in bytes of the attribute type. 

static unsigned long
getAttrSize(KcsAttributeValue *aVal);

Returns the attribute size. 

static long
getICProfSeqDescInfo(
 	icProfileSequenceDesc *aDesc,
 	icDescStruct **aDescPtrs,
 	long nPtrs);

Returns information about an ICC profile sequence description. 

static long getICTextDescInfo(

	icTextDescription *aDesc,
 	long *aASCIILength = NULL,
 	icUInt8Number **aASCIIPtr = NULL,
 	icInt32Number *aUniCodeCode = NULL,
 	long *aUniCodeLength = NULL,
 	icInt8Number **aUniCodePtr = NULL,
 	icInt16Number *aScriptCodeCode =
 		NULL,
 	long *aScriptCodeLength = NULL,
 	icInt8Number **aScriptCodePtr =
 		NULL);

Given an ICC text description, returns the parameters contained in it. 

static long
 KcsTags::getICTextDescSize(
 	long aASCIILength,
 	long aUniCodeLength,
 	long aScriptCodeLength);

Returns the size of an ICC text description attribute. 

static long
 getICUcrBgCounts(icUcrBg *aUcrBg,
 	icUInt32Number *aUcrCount = NULL,
 	icUInt32Number *aBgCount = NULL);

Returns the number of Ucrdatasets in an ICC Ucr Bg curve. 

unsigned long getLargestAttrValSize();

Returns the size of the largest attribute. 

KcsStatus
getTag(long ordinal,
 	KcsAttributeName *aTag);

Sets the parameter aName to position ordinal in the internal attribute array pointed to by the member handle tagHandle.

virtual Boolean 
isReadOnly(KcsAttributeName name);

Returns True if an attribute is read only. Read-only attributes are: icSigNumTag, icSigListTag, KcsAttrNumber, KcsAttrAttributesSet, and KcsPixelLayoutSupported.

KcsStatus
KcsAttrCompose(const long count,
 	KcsTags **sequence);

Given a count and a sequence of KcsAttributeSet objects, combines the attributes according to the rules in the current KcsAttributeSet object and populates its attributes accordingly. See the ICC profile format specification for the profile sequence attribute.

typedef enum {
	/* ... */
} KcsAttribute;

ICC attributes. 

KcsStatus 
KcsClassify(const long count,
 	KcsTags **sequence,
 	KcsAttributeName tag);

Attribute composition rule. Classifies the attributes. 

KcsStatus 
KcsCommon(const long count,
 	KcsTags **sequence,
 	KcsAttributeName tag);

Attribute composition rule. Returns status on whether there are common attributes in two profiles. 

KcsStatus 
KcsConcatenate(const long count,
 	KcsTags **sequence,
 	KcsAttributeName tag);

Attribute composition rule. Concatenates attributes. 

KcsStatus 
KcsNever(const long count,
 	KcsTags **sequence,
 	KcsAttributeName tag);

Attribute composition rule. Attribute composition never propagates. 

KcsTags(KcsChunkSet *ChunkSet,
 	KcsChunkId chunkId,
 	KcsStatus *status));

Allows you to create an attribute's object from a chunk. A chunk constructor. 

KcsTags(char *buffer,
 	unsigned long sizeOfBuf,
 	KcsStatus *status);

Allows a user to create an attribute's object from data found in the character buffer supplied as an input parameter. A character buffer constructor. 

KcsTags(KcsStatus *status);

Constructor that allows a user to create an empty attributes object. 

~KcsTags();

Destructor. 

KcsStatus 
KcsUseCSInRight(const long count,
 	KcsTags **sequence,
 	KcsAttributeName tag);

Composition rule. 

KcsStatus 
KcsUseLeft(const long count,
 	KcsTags **sequence,
 	KcsAttributeName tag);

Composition rule. 

KcsStatus 
KcsUseRight(const long count,
 	KcsTags **sequence,
 	KcsAttributeName tag);

Composition rule. 

long
 returnCurrentNumberOfAttributes(void);

Returns the current number of attributes stored in the attribute array. 

KcsStatus save();

Saves the attributes.  

KcsStatus saveTags();

Saves the attributes.  

KcsStatus 
setAttribute(KcsAttributeName aName,
 	void *data);

Stores an association of name-to-attribute in the attribute array.

KcsStatus
setAttribute(KcsAttributeName tag,
 	KcsAttributeType aType, void *data); 

Stores an association of tag-to-attribute in the attribute array.

KcsStatus
setAttribute(KcsAttributeName tag,
 	KcsAttributeType aType,
 	const char *value);

Stores an association of tag-to-attribute in the attribute array. The information is supplied in a character string.

KcsStatus
setAttribute(KcsAttributeName tag,
 	const KcsAttributeValue *value,
 	KcsAliasUsage aAliasUse =
 		KcsIndirectThroughAlias);

Stores an association of tag-to-attribute in the attribute array. If you use the KcsAttributeValue structure as a parameter and pass in NULL as its value, the attribute will be deleted if it is stored; otherwise an error is returned.

static long
KcsTags::setICTextDesc(
 	icTextDescription *aDesc, long aSize,
 	icUInt32Number aASCIILength = 1,
 	icUInt8Number *aASCIIPtr = NULL,
 	icUInt32Number aUniCodeCode = 0,
 	icUInt32Number aUniCodeLength = 1,
 	icUInt8Number *aUniCodePtr = NULL,
 	icUInt16Number aScriptCodeCode = 0,
 	icUInt8Number aScriptCodeLength = 1,
 	icUInt8Number *aScriptCodePtr =
 		NULL);

Puts the various arguments into an ICC text description structure.