KCMS CMM Developer's Guide

Example

Example 5-1 shows you how to use the entry points when creating a KcsProfile instance.


Example 5-1 KcsProfile Class Entry Points Example

/* Required entry points

*/ extern long KcsDLOpenProfCount = 0;  /* Construct a profile object using

KcsIO */ KcsProfile * KcsCreateProf(KcsStatus *aStat, KcsIO *aIO) { 	//Create

the new derivative 	return (new KcsProfileKCMS(aStat, aIO)); } /* Construct an

in-memory profile object using the ids */ KcsProfile *

KcsCreateProfBlnk(KcsStatus *aStat, KcsId aCmmId,  	KcsVersion aCmmVersion,

KcsId aProfId,  	KcsVersion aProfVersion) { 	//Create the new derivative

	return(new KcsProfileKCMS (aStat, aCmmId, aCmmVersion,  		aProfId,

aProfVersion)); } /* Optional entry points */ KcsStatus KcsInitProf(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); }  KcsStatus

KcsCleanupProf() { 	/* Clean up is performed in the destructor */ 	return;

}