KCMS CMM Developer's Guide

Example

The following example shows you how to use the entry points when creating a KcsXform derivative.


Example 7-1 KcsXform Class Entry Points Example

extern long

KcsDLOpenXfrmCount = 0;  /* Global initialization */ KcsStatus

KcsInitXfrm(long libMajor, long libMinor, long *myMajor, long *myMinor) { 	//

Set up the return values 	*myMajor = KCS_MAJOR_VERSION; 	*myMinor =

KCS_MINOR_VERSION;  	//Check the major version 	if (libMajor !=

KCS_MAJOR_VERSION) 		return (KCS_CMM_MAJOR_VERSION_MISMATCH);  	//Currently,

if minor version of library is less than the KCMS  	// minor version, return

an error. 	if (libMinor < KCS_MINOR_VERSION) 		return

(KCS_CMM_MINOR_VERSION_MISMATCH);  	//Library guarantees if your minor version

number is greater than 	//KCMS minor version number, it will handle it. No

more init. 	return(KCS_SUCCESS); }  KcsXform * KcsCreateXfrm(KcsStatus *aStat,

KcsChunkSet *aCS,  	KcsChunkId aChunkId, KcsAttributeSet *aAttrSet) {

	//Create the new derivative 	return(new KcsTechUCP(aStat, KcsLoadAllow, aCS,

aChunkId,  		aAttrSet)); }  /* Global clean up */ KcsStatus KcsCleanupXfrm() {

	KcsStatus sStat; 	return(KCS_SUCCESS);

}