
/*
 * This file was generated by the SOM Compiler.
 * FileName: scclass.h.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.3
 *     SOM Emitter emith.dll: 2.41
 */

/*
 * 
 *   COMPONENT_NAME: some
 * 
 *   ORIGINS: 27
 * 
 * 
 *   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
 *   All Rights Reserved
 *   Licensed Materials - Property of IBM
 *   US Government Users Restricted Rights - Use, duplication or
 *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 *  @(#) somc/sctypes.h 2.6 9/1/94 19:26:58 [9/21/94 17:47:11]
 * 
 */


#ifndef SOM_SOMTClassEntryC_h
#define SOM_SOMTClassEntryC_h


#include <som.h>

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))



/*
 * Define class data structures as resolution macros
 */
#define SOMTClassEntryCClassData (*resolve_SOMTClassEntryCClassData())
#define SOMTClassEntryCCClassData (*resolve_SOMTClassEntryCCClassData())

/*
 * Define the class name as an object type
 */
#ifndef SOMTClassEntryC
#define SOMTClassEntryC SOMObject
#endif
#include <scentry.h>

/*
 * Start of user-defined types:
 */
#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */
#ifndef SOMTEntryC
    #define SOMTEntryC SOMObject
#endif /* SOMTEntryC */
#ifndef SOMTEmitC
    #define SOMTEmitC SOMObject
#endif /* SOMTEmitC */
#ifndef SOMTMetaClassEntryC
    #define SOMTMetaClassEntryC SOMObject
#endif /* SOMTMetaClassEntryC */
#ifndef SOMTAttributeEntryC
    #define SOMTAttributeEntryC SOMObject
#endif /* SOMTAttributeEntryC */
#ifndef SOMTTypedefEntryC
    #define SOMTTypedefEntryC SOMObject
#endif /* SOMTTypedefEntryC */
#ifndef SOMTBaseClassEntryC
    #define SOMTBaseClassEntryC SOMObject
#endif /* SOMTBaseClassEntryC */
#ifndef SOMTPassthruEntryC
    #define SOMTPassthruEntryC SOMObject
#endif /* SOMTPassthruEntryC */
#ifndef SOMTDataEntryC
    #define SOMTDataEntryC SOMObject
#endif /* SOMTDataEntryC */
#ifndef SOMTMethodEntryC
    #define SOMTMethodEntryC SOMObject
#endif /* SOMTMethodEntryC */
#ifndef SOMTClassEntryC
    #define SOMTClassEntryC SOMObject
#endif /* SOMTClassEntryC */
#ifndef SOMTModuleEntryC
    #define SOMTModuleEntryC SOMObject
#endif /* SOMTModuleEntryC */
#ifndef SOMTParameterEntryC
    #define SOMTParameterEntryC SOMObject
#endif /* SOMTParameterEntryC */
#ifndef SOMTStructEntryC
    #define SOMTStructEntryC SOMObject
#endif /* SOMTStructEntryC */
#ifndef SOMTUnionEntryC
    #define SOMTUnionEntryC SOMObject
#endif /* SOMTUnionEntryC */
#ifndef SOMTEnumEntryC
    #define SOMTEnumEntryC SOMObject
#endif /* SOMTEnumEntryC */
#ifndef SOMTConstEntryC
    #define SOMTConstEntryC SOMObject
#endif /* SOMTConstEntryC */
#ifndef SOMTSequenceEntryC
    #define SOMTSequenceEntryC SOMObject
#endif /* SOMTSequenceEntryC */
#ifndef SOMTStringEntryC
    #define SOMTStringEntryC SOMObject
#endif /* SOMTStringEntryC */
#ifndef SOMTEnumNameEntryC
    #define SOMTEnumNameEntryC SOMObject
#endif /* SOMTEnumNameEntryC */
#ifndef SOMTCommonEntryC
    #define SOMTCommonEntryC SOMObject
#endif /* SOMTCommonEntryC */
#ifndef SOMTUserDefinedTypeEntryC
    #define SOMTUserDefinedTypeEntryC SOMObject
#endif /* SOMTUserDefinedTypeEntryC */

/*
 * End of user-defined types.
 */

#define SOMTClassEntryC_MajorVersion 2
#define SOMTClassEntryC_MinorVersion 1

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define SOMTClassEntryCNewClass c
#define SOMTClassEntryCClassData d
#define SOMTClassEntryCCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define SOMTClassEntryC_classObj SOMTClassEntryCClassData.classObject
#define _SOMTClassEntryC SOMTClassEntryC_classObj

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMClass * SOMLINK SOMTClassEntryCNewClass(integer4 somntmajorVersion,
		integer4 somntminorVersion);

/*
 * Declare the class data structure
 */
SOMEXTERN struct SOMTClassEntryCClassDataStructure {
	SOMClass *classObject;
	somMToken _get_somtSourceFileName;
	somMToken _get_somtMetaClassEntry;
	somMToken _get_somtNewMethodCount;
	somMToken _get_somtLocalInclude;
	somMToken _get_somtPrivateMethodCount;
	somMToken _get_somtStaticMethodCount;
	somMToken _get_somtOverrideMethodCount;
	somMToken _get_somtProcMethodCount;
	somMToken _get_somtVAMethodCount;
	somMToken _get_somtBaseCount;
	somMToken _get_somtExternalDataCount;
	somMToken _get_somtPublicDataCount;
	somMToken _get_somtPrivateDataCount;
	somMToken somtGetFirstBaseClass;
	somMToken somtGetNextBaseClass;
	somMToken somtGetFirstReleaseName;
	somMToken somtGetNextReleaseName;
	somMToken somtGetReleaseNameList;
	somMToken somtGetFirstPassthru;
	somMToken somtGetNextPassthru;
	somMToken somtGetFirstData;
	somMToken somtGetNextData;
	somMToken somtGetFirstMethod;
	somMToken somtGetNextMethod;
	somMToken somtGetFirstInheritedMethod;
	somMToken somtGetNextInheritedMethod;
	somMToken somtFilterNew;
	somMToken somtFilterOverridden;
	somMToken somtFilterPrivOrPub;
	somMToken _get_somtMetaclassFor;
	somMToken _get_somtForwardRef;
	somMToken somtGetFirstAttribute;
	somMToken somtGetNextAttribute;
	somMToken somtGetFirstStruct;
	somMToken somtGetNextStruct;
	somMToken somtGetFirstTypedef;
	somMToken somtGetNextTypedef;
	somMToken somtGetFirstUnion;
	somMToken somtGetNextUnion;
	somMToken somtGetFirstEnum;
	somMToken somtGetNextEnum;
	somMToken somtGetFirstConstant;
	somMToken somtGetNextConstant;
	somMToken somtGetFirstSequence;
	somMToken somtGetNextSequence;
	somMToken _get_somtClassModule;
	somMToken somtGetFirstPubdef;
	somMToken somtGetNextPubdef;
	somMToken somtGetFirstStaticData;
	somMToken somtGetNextStaticData;
}  _SOMTClassEntryCClassData;
SOMEXTERN struct SOMTClassEntryCClassDataStructure * SOMLINK resolve_SOMTClassEntryCClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct SOMTClassEntryCCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _SOMTClassEntryCCClassData;
SOMEXTERN struct SOMTClassEntryCCClassDataStructure * SOMLINK resolve_SOMTClassEntryCCClassData(void);

/*
 * New and Renew macros for SOMTClassEntryC
 */
#define SOMTClassEntryCNew() \
   (_somNew(_SOMTClassEntryC ? _SOMTClassEntryC : SOMTClassEntryCNewClass(SOMTClassEntryC_MajorVersion, SOMTClassEntryC_MinorVersion)))
#define SOMTClassEntryCRenew(buf) \
   (_somRenew(_SOMTClassEntryC ? _SOMTClassEntryC : SOMTClassEntryCNewClass(SOMTClassEntryC_MajorVersion, SOMTClassEntryC_MinorVersion), buf))

/*
 * Override method: somDumpSelfInt
 */
#define SOMTClassEntryC_somDumpSelfInt(somSelf,level) \
	SOMObject_somDumpSelfInt(somSelf,level)

/*
 * Override method: somtSetSymbolsOnEntry
 */
#define SOMTClassEntryC_somtSetSymbolsOnEntry(somSelf,emitter,prefix) \
	SOMTEntryC_somtSetSymbolsOnEntry(somSelf,emitter,prefix)

/*
 * Override method: somtSetEntryStruct
 */
#define SOMTClassEntryC_somtSetEntryStruct(somSelf,es) \
	SOMTEntryC_somtSetEntryStruct(somSelf,es)

/*
 * Override method: _get_somtCScopedName
 */
#define SOMTClassEntryC__get_somtCScopedName(somSelf) \
	SOMTEntryC__get_somtCScopedName(somSelf)

/*
 * Override method: _get_somtIDLScopedName
 */
#define SOMTClassEntryC__get_somtIDLScopedName(somSelf) \
	SOMTEntryC__get_somtIDLScopedName(somSelf)

/*
 * New Method: _get_somtSourceFileName
 */
typedef string   (SOMLINK * somTD_SOMTClassEntryC__get_somtSourceFileName)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtSourceFileName "::SOMTClassEntryC::somtSourceFileName"
#define SOMTClassEntryC__get_somtSourceFileName(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtSourceFileName) \
	(somSelf))
#ifndef SOMGD_get_somtSourceFileName
    #if (defined(_get_somtSourceFileName) || defined(__get_somtSourceFileName))
        #undef _get_somtSourceFileName
        #undef __get_somtSourceFileName
        #define SOMGD_get_somtSourceFileName 1
    #else
        #define __get_somtSourceFileName SOMTClassEntryC__get_somtSourceFileName
    #endif /* __get_somtSourceFileName */
#endif /* SOMGD_get_somtSourceFileName */

/*
 * New Method: _get_somtMetaClassEntry
 */
typedef SOMTMetaClassEntryC*   (SOMLINK * somTD_SOMTClassEntryC__get_somtMetaClassEntry)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtMetaClassEntry "::SOMTClassEntryC::somtMetaClassEntry"
#define SOMTClassEntryC__get_somtMetaClassEntry(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtMetaClassEntry) \
	(somSelf))
#ifndef SOMGD_get_somtMetaClassEntry
    #if (defined(_get_somtMetaClassEntry) || defined(__get_somtMetaClassEntry))
        #undef _get_somtMetaClassEntry
        #undef __get_somtMetaClassEntry
        #define SOMGD_get_somtMetaClassEntry 1
    #else
        #define __get_somtMetaClassEntry SOMTClassEntryC__get_somtMetaClassEntry
    #endif /* __get_somtMetaClassEntry */
#endif /* SOMGD_get_somtMetaClassEntry */

/*
 * New Method: _get_somtClassModule
 */
typedef SOMTModuleEntryC*   (SOMLINK * somTD_SOMTClassEntryC__get_somtClassModule)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtClassModule "::SOMTClassEntryC::somtClassModule"
#define SOMTClassEntryC__get_somtClassModule(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtClassModule) \
	(somSelf))
#ifndef SOMGD_get_somtClassModule
    #if (defined(_get_somtClassModule) || defined(__get_somtClassModule))
        #undef _get_somtClassModule
        #undef __get_somtClassModule
        #define SOMGD_get_somtClassModule 1
    #else
        #define __get_somtClassModule SOMTClassEntryC__get_somtClassModule
    #endif /* __get_somtClassModule */
#endif /* SOMGD_get_somtClassModule */

/*
 * New Method: _get_somtNewMethodCount
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC__get_somtNewMethodCount)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtNewMethodCount "::SOMTClassEntryC::somtNewMethodCount"
#define SOMTClassEntryC__get_somtNewMethodCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtNewMethodCount) \
	(somSelf))
#ifndef SOMGD_get_somtNewMethodCount
    #if (defined(_get_somtNewMethodCount) || defined(__get_somtNewMethodCount))
        #undef _get_somtNewMethodCount
        #undef __get_somtNewMethodCount
        #define SOMGD_get_somtNewMethodCount 1
    #else
        #define __get_somtNewMethodCount SOMTClassEntryC__get_somtNewMethodCount
    #endif /* __get_somtNewMethodCount */
#endif /* SOMGD_get_somtNewMethodCount */

/*
 * New Method: _get_somtLocalInclude
 */
typedef boolean   (SOMLINK * somTD_SOMTClassEntryC__get_somtLocalInclude)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtLocalInclude "::SOMTClassEntryC::somtLocalInclude"
#define SOMTClassEntryC__get_somtLocalInclude(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtLocalInclude) \
	(somSelf))
#ifndef SOMGD_get_somtLocalInclude
    #if (defined(_get_somtLocalInclude) || defined(__get_somtLocalInclude))
        #undef _get_somtLocalInclude
        #undef __get_somtLocalInclude
        #define SOMGD_get_somtLocalInclude 1
    #else
        #define __get_somtLocalInclude SOMTClassEntryC__get_somtLocalInclude
    #endif /* __get_somtLocalInclude */
#endif /* SOMGD_get_somtLocalInclude */

/*
 * New Method: _get_somtPrivateMethodCount
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC__get_somtPrivateMethodCount)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtPrivateMethodCount "::SOMTClassEntryC::somtPrivateMethodCount"
#define SOMTClassEntryC__get_somtPrivateMethodCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtPrivateMethodCount) \
	(somSelf))
#ifndef SOMGD_get_somtPrivateMethodCount
    #if (defined(_get_somtPrivateMethodCount) || defined(__get_somtPrivateMethodCount))
        #undef _get_somtPrivateMethodCount
        #undef __get_somtPrivateMethodCount
        #define SOMGD_get_somtPrivateMethodCount 1
    #else
        #define __get_somtPrivateMethodCount SOMTClassEntryC__get_somtPrivateMethodCount
    #endif /* __get_somtPrivateMethodCount */
#endif /* SOMGD_get_somtPrivateMethodCount */

/*
 * New Method: _get_somtStaticMethodCount
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC__get_somtStaticMethodCount)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtStaticMethodCount "::SOMTClassEntryC::somtStaticMethodCount"
#define SOMTClassEntryC__get_somtStaticMethodCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtStaticMethodCount) \
	(somSelf))
#ifndef SOMGD_get_somtStaticMethodCount
    #if (defined(_get_somtStaticMethodCount) || defined(__get_somtStaticMethodCount))
        #undef _get_somtStaticMethodCount
        #undef __get_somtStaticMethodCount
        #define SOMGD_get_somtStaticMethodCount 1
    #else
        #define __get_somtStaticMethodCount SOMTClassEntryC__get_somtStaticMethodCount
    #endif /* __get_somtStaticMethodCount */
#endif /* SOMGD_get_somtStaticMethodCount */

/*
 * New Method: _get_somtOverrideMethodCount
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC__get_somtOverrideMethodCount)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtOverrideMethodCount "::SOMTClassEntryC::somtOverrideMethodCount"
#define SOMTClassEntryC__get_somtOverrideMethodCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtOverrideMethodCount) \
	(somSelf))
#ifndef SOMGD_get_somtOverrideMethodCount
    #if (defined(_get_somtOverrideMethodCount) || defined(__get_somtOverrideMethodCount))
        #undef _get_somtOverrideMethodCount
        #undef __get_somtOverrideMethodCount
        #define SOMGD_get_somtOverrideMethodCount 1
    #else
        #define __get_somtOverrideMethodCount SOMTClassEntryC__get_somtOverrideMethodCount
    #endif /* __get_somtOverrideMethodCount */
#endif /* SOMGD_get_somtOverrideMethodCount */

/*
 * New Method: _get_somtProcMethodCount
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC__get_somtProcMethodCount)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtProcMethodCount "::SOMTClassEntryC::somtProcMethodCount"
#define SOMTClassEntryC__get_somtProcMethodCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtProcMethodCount) \
	(somSelf))
#ifndef SOMGD_get_somtProcMethodCount
    #if (defined(_get_somtProcMethodCount) || defined(__get_somtProcMethodCount))
        #undef _get_somtProcMethodCount
        #undef __get_somtProcMethodCount
        #define SOMGD_get_somtProcMethodCount 1
    #else
        #define __get_somtProcMethodCount SOMTClassEntryC__get_somtProcMethodCount
    #endif /* __get_somtProcMethodCount */
#endif /* SOMGD_get_somtProcMethodCount */

/*
 * New Method: _get_somtVAMethodCount
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC__get_somtVAMethodCount)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtVAMethodCount "::SOMTClassEntryC::somtVAMethodCount"
#define SOMTClassEntryC__get_somtVAMethodCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtVAMethodCount) \
	(somSelf))
#ifndef SOMGD_get_somtVAMethodCount
    #if (defined(_get_somtVAMethodCount) || defined(__get_somtVAMethodCount))
        #undef _get_somtVAMethodCount
        #undef __get_somtVAMethodCount
        #define SOMGD_get_somtVAMethodCount 1
    #else
        #define __get_somtVAMethodCount SOMTClassEntryC__get_somtVAMethodCount
    #endif /* __get_somtVAMethodCount */
#endif /* SOMGD_get_somtVAMethodCount */

/*
 * New Method: _get_somtBaseCount
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC__get_somtBaseCount)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtBaseCount "::SOMTClassEntryC::somtBaseCount"
#define SOMTClassEntryC__get_somtBaseCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtBaseCount) \
	(somSelf))
#ifndef SOMGD_get_somtBaseCount
    #if (defined(_get_somtBaseCount) || defined(__get_somtBaseCount))
        #undef _get_somtBaseCount
        #undef __get_somtBaseCount
        #define SOMGD_get_somtBaseCount 1
    #else
        #define __get_somtBaseCount SOMTClassEntryC__get_somtBaseCount
    #endif /* __get_somtBaseCount */
#endif /* SOMGD_get_somtBaseCount */

/*
 * New Method: _get_somtExternalDataCount
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC__get_somtExternalDataCount)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtExternalDataCount "::SOMTClassEntryC::somtExternalDataCount"
#define SOMTClassEntryC__get_somtExternalDataCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtExternalDataCount) \
	(somSelf))
#ifndef SOMGD_get_somtExternalDataCount
    #if (defined(_get_somtExternalDataCount) || defined(__get_somtExternalDataCount))
        #undef _get_somtExternalDataCount
        #undef __get_somtExternalDataCount
        #define SOMGD_get_somtExternalDataCount 1
    #else
        #define __get_somtExternalDataCount SOMTClassEntryC__get_somtExternalDataCount
    #endif /* __get_somtExternalDataCount */
#endif /* SOMGD_get_somtExternalDataCount */

/*
 * New Method: _get_somtPublicDataCount
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC__get_somtPublicDataCount)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtPublicDataCount "::SOMTClassEntryC::somtPublicDataCount"
#define SOMTClassEntryC__get_somtPublicDataCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtPublicDataCount) \
	(somSelf))
#ifndef SOMGD_get_somtPublicDataCount
    #if (defined(_get_somtPublicDataCount) || defined(__get_somtPublicDataCount))
        #undef _get_somtPublicDataCount
        #undef __get_somtPublicDataCount
        #define SOMGD_get_somtPublicDataCount 1
    #else
        #define __get_somtPublicDataCount SOMTClassEntryC__get_somtPublicDataCount
    #endif /* __get_somtPublicDataCount */
#endif /* SOMGD_get_somtPublicDataCount */

/*
 * New Method: _get_somtPrivateDataCount
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC__get_somtPrivateDataCount)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtPrivateDataCount "::SOMTClassEntryC::somtPrivateDataCount"
#define SOMTClassEntryC__get_somtPrivateDataCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtPrivateDataCount) \
	(somSelf))
#ifndef SOMGD_get_somtPrivateDataCount
    #if (defined(_get_somtPrivateDataCount) || defined(__get_somtPrivateDataCount))
        #undef _get_somtPrivateDataCount
        #undef __get_somtPrivateDataCount
        #define SOMGD_get_somtPrivateDataCount 1
    #else
        #define __get_somtPrivateDataCount SOMTClassEntryC__get_somtPrivateDataCount
    #endif /* __get_somtPrivateDataCount */
#endif /* SOMGD_get_somtPrivateDataCount */

/*
 * New Method: _get_somtMetaclassFor
 */
typedef SOMTClassEntryC*   (SOMLINK * somTD_SOMTClassEntryC__get_somtMetaclassFor)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtMetaclassFor "::SOMTClassEntryC::somtMetaclassFor"
#define SOMTClassEntryC__get_somtMetaclassFor(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtMetaclassFor) \
	(somSelf))
#ifndef SOMGD_get_somtMetaclassFor
    #if (defined(_get_somtMetaclassFor) || defined(__get_somtMetaclassFor))
        #undef _get_somtMetaclassFor
        #undef __get_somtMetaclassFor
        #define SOMGD_get_somtMetaclassFor 1
    #else
        #define __get_somtMetaclassFor SOMTClassEntryC__get_somtMetaclassFor
    #endif /* __get_somtMetaclassFor */
#endif /* SOMGD_get_somtMetaclassFor */

/*
 * New Method: _get_somtForwardRef
 */
typedef boolean   (SOMLINK * somTD_SOMTClassEntryC__get_somtForwardRef)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC__get_somtForwardRef "::SOMTClassEntryC::somtForwardRef"
#define SOMTClassEntryC__get_somtForwardRef(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, _get_somtForwardRef) \
	(somSelf))
#ifndef SOMGD_get_somtForwardRef
    #if (defined(_get_somtForwardRef) || defined(__get_somtForwardRef))
        #undef _get_somtForwardRef
        #undef __get_somtForwardRef
        #define SOMGD_get_somtForwardRef 1
    #else
        #define __get_somtForwardRef SOMTClassEntryC__get_somtForwardRef
    #endif /* __get_somtForwardRef */
#endif /* SOMGD_get_somtForwardRef */

/*
 * New Method: somtGetFirstBaseClass
 */
typedef SOMTBaseClassEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstBaseClass)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstBaseClass "::SOMTClassEntryC::somtGetFirstBaseClass"
#define SOMTClassEntryC_somtGetFirstBaseClass(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstBaseClass) \
	(somSelf))
#ifndef SOMGD_somtGetFirstBaseClass
    #if (defined(_somtGetFirstBaseClass) || defined(__somtGetFirstBaseClass))
        #undef _somtGetFirstBaseClass
        #undef __somtGetFirstBaseClass
        #define SOMGD_somtGetFirstBaseClass 1
    #else
        #define _somtGetFirstBaseClass SOMTClassEntryC_somtGetFirstBaseClass
    #endif /* _somtGetFirstBaseClass */
#endif /* SOMGD_somtGetFirstBaseClass */

/*
 * New Method: somtGetNextBaseClass
 */
typedef SOMTBaseClassEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextBaseClass)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextBaseClass "::SOMTClassEntryC::somtGetNextBaseClass"
#define SOMTClassEntryC_somtGetNextBaseClass(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextBaseClass) \
	(somSelf))
#ifndef SOMGD_somtGetNextBaseClass
    #if (defined(_somtGetNextBaseClass) || defined(__somtGetNextBaseClass))
        #undef _somtGetNextBaseClass
        #undef __somtGetNextBaseClass
        #define SOMGD_somtGetNextBaseClass 1
    #else
        #define _somtGetNextBaseClass SOMTClassEntryC_somtGetNextBaseClass
    #endif /* _somtGetNextBaseClass */
#endif /* SOMGD_somtGetNextBaseClass */

/*
 * New Method: somtGetFirstReleaseName
 */
typedef string   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstReleaseName)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstReleaseName "::SOMTClassEntryC::somtGetFirstReleaseName"
#define SOMTClassEntryC_somtGetFirstReleaseName(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstReleaseName) \
	(somSelf))
#ifndef SOMGD_somtGetFirstReleaseName
    #if (defined(_somtGetFirstReleaseName) || defined(__somtGetFirstReleaseName))
        #undef _somtGetFirstReleaseName
        #undef __somtGetFirstReleaseName
        #define SOMGD_somtGetFirstReleaseName 1
    #else
        #define _somtGetFirstReleaseName SOMTClassEntryC_somtGetFirstReleaseName
    #endif /* _somtGetFirstReleaseName */
#endif /* SOMGD_somtGetFirstReleaseName */

/*
 * New Method: somtGetNextReleaseName
 */
typedef string   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextReleaseName)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextReleaseName "::SOMTClassEntryC::somtGetNextReleaseName"
#define SOMTClassEntryC_somtGetNextReleaseName(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextReleaseName) \
	(somSelf))
#ifndef SOMGD_somtGetNextReleaseName
    #if (defined(_somtGetNextReleaseName) || defined(__somtGetNextReleaseName))
        #undef _somtGetNextReleaseName
        #undef __somtGetNextReleaseName
        #define SOMGD_somtGetNextReleaseName 1
    #else
        #define _somtGetNextReleaseName SOMTClassEntryC_somtGetNextReleaseName
    #endif /* _somtGetNextReleaseName */
#endif /* SOMGD_somtGetNextReleaseName */

/*
 * New Method: somtGetReleaseNameList
 */
typedef long   (SOMLINK * somTD_SOMTClassEntryC_somtGetReleaseNameList)(SOMTClassEntryC *somSelf,
		string buffer);
#define somMD_SOMTClassEntryC_somtGetReleaseNameList "::SOMTClassEntryC::somtGetReleaseNameList"
#define SOMTClassEntryC_somtGetReleaseNameList(somSelf,buffer) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetReleaseNameList) \
	(somSelf,buffer))
#ifndef SOMGD_somtGetReleaseNameList
    #if (defined(_somtGetReleaseNameList) || defined(__somtGetReleaseNameList))
        #undef _somtGetReleaseNameList
        #undef __somtGetReleaseNameList
        #define SOMGD_somtGetReleaseNameList 1
    #else
        #define _somtGetReleaseNameList SOMTClassEntryC_somtGetReleaseNameList
    #endif /* _somtGetReleaseNameList */
#endif /* SOMGD_somtGetReleaseNameList */

/*
 * New Method: somtGetFirstPassthru
 */
typedef SOMTPassthruEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstPassthru)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstPassthru "::SOMTClassEntryC::somtGetFirstPassthru"
#define SOMTClassEntryC_somtGetFirstPassthru(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstPassthru) \
	(somSelf))
#ifndef SOMGD_somtGetFirstPassthru
    #if (defined(_somtGetFirstPassthru) || defined(__somtGetFirstPassthru))
        #undef _somtGetFirstPassthru
        #undef __somtGetFirstPassthru
        #define SOMGD_somtGetFirstPassthru 1
    #else
        #define _somtGetFirstPassthru SOMTClassEntryC_somtGetFirstPassthru
    #endif /* _somtGetFirstPassthru */
#endif /* SOMGD_somtGetFirstPassthru */

/*
 * New Method: somtGetNextPassthru
 */
typedef SOMTPassthruEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextPassthru)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextPassthru "::SOMTClassEntryC::somtGetNextPassthru"
#define SOMTClassEntryC_somtGetNextPassthru(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextPassthru) \
	(somSelf))
#ifndef SOMGD_somtGetNextPassthru
    #if (defined(_somtGetNextPassthru) || defined(__somtGetNextPassthru))
        #undef _somtGetNextPassthru
        #undef __somtGetNextPassthru
        #define SOMGD_somtGetNextPassthru 1
    #else
        #define _somtGetNextPassthru SOMTClassEntryC_somtGetNextPassthru
    #endif /* _somtGetNextPassthru */
#endif /* SOMGD_somtGetNextPassthru */

/*
 * New Method: somtGetFirstData
 */
typedef SOMTDataEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstData)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstData "::SOMTClassEntryC::somtGetFirstData"
#define SOMTClassEntryC_somtGetFirstData(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstData) \
	(somSelf))
#ifndef SOMGD_somtGetFirstData
    #if (defined(_somtGetFirstData) || defined(__somtGetFirstData))
        #undef _somtGetFirstData
        #undef __somtGetFirstData
        #define SOMGD_somtGetFirstData 1
    #else
        #define _somtGetFirstData SOMTClassEntryC_somtGetFirstData
    #endif /* _somtGetFirstData */
#endif /* SOMGD_somtGetFirstData */

/*
 * New Method: somtGetNextData
 */
typedef SOMTDataEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextData)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextData "::SOMTClassEntryC::somtGetNextData"
#define SOMTClassEntryC_somtGetNextData(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextData) \
	(somSelf))
#ifndef SOMGD_somtGetNextData
    #if (defined(_somtGetNextData) || defined(__somtGetNextData))
        #undef _somtGetNextData
        #undef __somtGetNextData
        #define SOMGD_somtGetNextData 1
    #else
        #define _somtGetNextData SOMTClassEntryC_somtGetNextData
    #endif /* _somtGetNextData */
#endif /* SOMGD_somtGetNextData */

/*
 * New Method: somtGetFirstStaticData
 */
typedef SOMTDataEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstStaticData)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstStaticData "::SOMTClassEntryC::somtGetFirstStaticData"
#define SOMTClassEntryC_somtGetFirstStaticData(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstStaticData) \
	(somSelf))
#ifndef SOMGD_somtGetFirstStaticData
    #if (defined(_somtGetFirstStaticData) || defined(__somtGetFirstStaticData))
        #undef _somtGetFirstStaticData
        #undef __somtGetFirstStaticData
        #define SOMGD_somtGetFirstStaticData 1
    #else
        #define _somtGetFirstStaticData SOMTClassEntryC_somtGetFirstStaticData
    #endif /* _somtGetFirstStaticData */
#endif /* SOMGD_somtGetFirstStaticData */

/*
 * New Method: somtGetNextStaticData
 */
typedef SOMTDataEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextStaticData)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextStaticData "::SOMTClassEntryC::somtGetNextStaticData"
#define SOMTClassEntryC_somtGetNextStaticData(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextStaticData) \
	(somSelf))
#ifndef SOMGD_somtGetNextStaticData
    #if (defined(_somtGetNextStaticData) || defined(__somtGetNextStaticData))
        #undef _somtGetNextStaticData
        #undef __somtGetNextStaticData
        #define SOMGD_somtGetNextStaticData 1
    #else
        #define _somtGetNextStaticData SOMTClassEntryC_somtGetNextStaticData
    #endif /* _somtGetNextStaticData */
#endif /* SOMGD_somtGetNextStaticData */

/*
 * New Method: somtGetFirstMethod
 */
typedef SOMTMethodEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstMethod)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstMethod "::SOMTClassEntryC::somtGetFirstMethod"
#define SOMTClassEntryC_somtGetFirstMethod(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstMethod) \
	(somSelf))
#ifndef SOMGD_somtGetFirstMethod
    #if (defined(_somtGetFirstMethod) || defined(__somtGetFirstMethod))
        #undef _somtGetFirstMethod
        #undef __somtGetFirstMethod
        #define SOMGD_somtGetFirstMethod 1
    #else
        #define _somtGetFirstMethod SOMTClassEntryC_somtGetFirstMethod
    #endif /* _somtGetFirstMethod */
#endif /* SOMGD_somtGetFirstMethod */

/*
 * New Method: somtGetNextMethod
 */
typedef SOMTMethodEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextMethod)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextMethod "::SOMTClassEntryC::somtGetNextMethod"
#define SOMTClassEntryC_somtGetNextMethod(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextMethod) \
	(somSelf))
#ifndef SOMGD_somtGetNextMethod
    #if (defined(_somtGetNextMethod) || defined(__somtGetNextMethod))
        #undef _somtGetNextMethod
        #undef __somtGetNextMethod
        #define SOMGD_somtGetNextMethod 1
    #else
        #define _somtGetNextMethod SOMTClassEntryC_somtGetNextMethod
    #endif /* _somtGetNextMethod */
#endif /* SOMGD_somtGetNextMethod */

/*
 * New Method: somtGetFirstInheritedMethod
 */
typedef SOMTMethodEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstInheritedMethod)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstInheritedMethod "::SOMTClassEntryC::somtGetFirstInheritedMethod"
#define SOMTClassEntryC_somtGetFirstInheritedMethod(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstInheritedMethod) \
	(somSelf))
#ifndef SOMGD_somtGetFirstInheritedMethod
    #if (defined(_somtGetFirstInheritedMethod) || defined(__somtGetFirstInheritedMethod))
        #undef _somtGetFirstInheritedMethod
        #undef __somtGetFirstInheritedMethod
        #define SOMGD_somtGetFirstInheritedMethod 1
    #else
        #define _somtGetFirstInheritedMethod SOMTClassEntryC_somtGetFirstInheritedMethod
    #endif /* _somtGetFirstInheritedMethod */
#endif /* SOMGD_somtGetFirstInheritedMethod */

/*
 * New Method: somtGetNextInheritedMethod
 */
typedef SOMTMethodEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextInheritedMethod)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextInheritedMethod "::SOMTClassEntryC::somtGetNextInheritedMethod"
#define SOMTClassEntryC_somtGetNextInheritedMethod(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextInheritedMethod) \
	(somSelf))
#ifndef SOMGD_somtGetNextInheritedMethod
    #if (defined(_somtGetNextInheritedMethod) || defined(__somtGetNextInheritedMethod))
        #undef _somtGetNextInheritedMethod
        #undef __somtGetNextInheritedMethod
        #define SOMGD_somtGetNextInheritedMethod 1
    #else
        #define _somtGetNextInheritedMethod SOMTClassEntryC_somtGetNextInheritedMethod
    #endif /* _somtGetNextInheritedMethod */
#endif /* SOMGD_somtGetNextInheritedMethod */

/*
 * New Method: somtGetFirstAttribute
 */
typedef SOMTAttributeEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstAttribute)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstAttribute "::SOMTClassEntryC::somtGetFirstAttribute"
#define SOMTClassEntryC_somtGetFirstAttribute(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstAttribute) \
	(somSelf))
#ifndef SOMGD_somtGetFirstAttribute
    #if (defined(_somtGetFirstAttribute) || defined(__somtGetFirstAttribute))
        #undef _somtGetFirstAttribute
        #undef __somtGetFirstAttribute
        #define SOMGD_somtGetFirstAttribute 1
    #else
        #define _somtGetFirstAttribute SOMTClassEntryC_somtGetFirstAttribute
    #endif /* _somtGetFirstAttribute */
#endif /* SOMGD_somtGetFirstAttribute */

/*
 * New Method: somtGetNextAttribute
 */
typedef SOMTAttributeEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextAttribute)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextAttribute "::SOMTClassEntryC::somtGetNextAttribute"
#define SOMTClassEntryC_somtGetNextAttribute(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextAttribute) \
	(somSelf))
#ifndef SOMGD_somtGetNextAttribute
    #if (defined(_somtGetNextAttribute) || defined(__somtGetNextAttribute))
        #undef _somtGetNextAttribute
        #undef __somtGetNextAttribute
        #define SOMGD_somtGetNextAttribute 1
    #else
        #define _somtGetNextAttribute SOMTClassEntryC_somtGetNextAttribute
    #endif /* _somtGetNextAttribute */
#endif /* SOMGD_somtGetNextAttribute */

/*
 * New Method: somtGetFirstStruct
 */
typedef SOMTStructEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstStruct)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstStruct "::SOMTClassEntryC::somtGetFirstStruct"
#define SOMTClassEntryC_somtGetFirstStruct(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstStruct) \
	(somSelf))
#ifndef SOMGD_somtGetFirstStruct
    #if (defined(_somtGetFirstStruct) || defined(__somtGetFirstStruct))
        #undef _somtGetFirstStruct
        #undef __somtGetFirstStruct
        #define SOMGD_somtGetFirstStruct 1
    #else
        #define _somtGetFirstStruct SOMTClassEntryC_somtGetFirstStruct
    #endif /* _somtGetFirstStruct */
#endif /* SOMGD_somtGetFirstStruct */

/*
 * New Method: somtGetNextStruct
 */
typedef SOMTStructEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextStruct)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextStruct "::SOMTClassEntryC::somtGetNextStruct"
#define SOMTClassEntryC_somtGetNextStruct(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextStruct) \
	(somSelf))
#ifndef SOMGD_somtGetNextStruct
    #if (defined(_somtGetNextStruct) || defined(__somtGetNextStruct))
        #undef _somtGetNextStruct
        #undef __somtGetNextStruct
        #define SOMGD_somtGetNextStruct 1
    #else
        #define _somtGetNextStruct SOMTClassEntryC_somtGetNextStruct
    #endif /* _somtGetNextStruct */
#endif /* SOMGD_somtGetNextStruct */

/*
 * New Method: somtGetFirstTypedef
 */
typedef SOMTTypedefEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstTypedef)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstTypedef "::SOMTClassEntryC::somtGetFirstTypedef"
#define SOMTClassEntryC_somtGetFirstTypedef(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstTypedef) \
	(somSelf))
#ifndef SOMGD_somtGetFirstTypedef
    #if (defined(_somtGetFirstTypedef) || defined(__somtGetFirstTypedef))
        #undef _somtGetFirstTypedef
        #undef __somtGetFirstTypedef
        #define SOMGD_somtGetFirstTypedef 1
    #else
        #define _somtGetFirstTypedef SOMTClassEntryC_somtGetFirstTypedef
    #endif /* _somtGetFirstTypedef */
#endif /* SOMGD_somtGetFirstTypedef */

/*
 * New Method: somtGetNextTypedef
 */
typedef SOMTTypedefEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextTypedef)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextTypedef "::SOMTClassEntryC::somtGetNextTypedef"
#define SOMTClassEntryC_somtGetNextTypedef(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextTypedef) \
	(somSelf))
#ifndef SOMGD_somtGetNextTypedef
    #if (defined(_somtGetNextTypedef) || defined(__somtGetNextTypedef))
        #undef _somtGetNextTypedef
        #undef __somtGetNextTypedef
        #define SOMGD_somtGetNextTypedef 1
    #else
        #define _somtGetNextTypedef SOMTClassEntryC_somtGetNextTypedef
    #endif /* _somtGetNextTypedef */
#endif /* SOMGD_somtGetNextTypedef */

/*
 * New Method: somtGetFirstUnion
 */
typedef SOMTUnionEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstUnion)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstUnion "::SOMTClassEntryC::somtGetFirstUnion"
#define SOMTClassEntryC_somtGetFirstUnion(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstUnion) \
	(somSelf))
#ifndef SOMGD_somtGetFirstUnion
    #if (defined(_somtGetFirstUnion) || defined(__somtGetFirstUnion))
        #undef _somtGetFirstUnion
        #undef __somtGetFirstUnion
        #define SOMGD_somtGetFirstUnion 1
    #else
        #define _somtGetFirstUnion SOMTClassEntryC_somtGetFirstUnion
    #endif /* _somtGetFirstUnion */
#endif /* SOMGD_somtGetFirstUnion */

/*
 * New Method: somtGetNextUnion
 */
typedef SOMTUnionEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextUnion)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextUnion "::SOMTClassEntryC::somtGetNextUnion"
#define SOMTClassEntryC_somtGetNextUnion(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextUnion) \
	(somSelf))
#ifndef SOMGD_somtGetNextUnion
    #if (defined(_somtGetNextUnion) || defined(__somtGetNextUnion))
        #undef _somtGetNextUnion
        #undef __somtGetNextUnion
        #define SOMGD_somtGetNextUnion 1
    #else
        #define _somtGetNextUnion SOMTClassEntryC_somtGetNextUnion
    #endif /* _somtGetNextUnion */
#endif /* SOMGD_somtGetNextUnion */

/*
 * New Method: somtGetFirstEnum
 */
typedef SOMTEnumEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstEnum)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstEnum "::SOMTClassEntryC::somtGetFirstEnum"
#define SOMTClassEntryC_somtGetFirstEnum(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstEnum) \
	(somSelf))
#ifndef SOMGD_somtGetFirstEnum
    #if (defined(_somtGetFirstEnum) || defined(__somtGetFirstEnum))
        #undef _somtGetFirstEnum
        #undef __somtGetFirstEnum
        #define SOMGD_somtGetFirstEnum 1
    #else
        #define _somtGetFirstEnum SOMTClassEntryC_somtGetFirstEnum
    #endif /* _somtGetFirstEnum */
#endif /* SOMGD_somtGetFirstEnum */

/*
 * New Method: somtGetNextEnum
 */
typedef SOMTEnumEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextEnum)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextEnum "::SOMTClassEntryC::somtGetNextEnum"
#define SOMTClassEntryC_somtGetNextEnum(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextEnum) \
	(somSelf))
#ifndef SOMGD_somtGetNextEnum
    #if (defined(_somtGetNextEnum) || defined(__somtGetNextEnum))
        #undef _somtGetNextEnum
        #undef __somtGetNextEnum
        #define SOMGD_somtGetNextEnum 1
    #else
        #define _somtGetNextEnum SOMTClassEntryC_somtGetNextEnum
    #endif /* _somtGetNextEnum */
#endif /* SOMGD_somtGetNextEnum */

/*
 * New Method: somtGetFirstConstant
 */
typedef SOMTConstEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstConstant)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstConstant "::SOMTClassEntryC::somtGetFirstConstant"
#define SOMTClassEntryC_somtGetFirstConstant(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstConstant) \
	(somSelf))
#ifndef SOMGD_somtGetFirstConstant
    #if (defined(_somtGetFirstConstant) || defined(__somtGetFirstConstant))
        #undef _somtGetFirstConstant
        #undef __somtGetFirstConstant
        #define SOMGD_somtGetFirstConstant 1
    #else
        #define _somtGetFirstConstant SOMTClassEntryC_somtGetFirstConstant
    #endif /* _somtGetFirstConstant */
#endif /* SOMGD_somtGetFirstConstant */

/*
 * New Method: somtGetNextConstant
 */
typedef SOMTConstEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextConstant)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextConstant "::SOMTClassEntryC::somtGetNextConstant"
#define SOMTClassEntryC_somtGetNextConstant(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextConstant) \
	(somSelf))
#ifndef SOMGD_somtGetNextConstant
    #if (defined(_somtGetNextConstant) || defined(__somtGetNextConstant))
        #undef _somtGetNextConstant
        #undef __somtGetNextConstant
        #define SOMGD_somtGetNextConstant 1
    #else
        #define _somtGetNextConstant SOMTClassEntryC_somtGetNextConstant
    #endif /* _somtGetNextConstant */
#endif /* SOMGD_somtGetNextConstant */

/*
 * New Method: somtGetFirstSequence
 */
typedef SOMTSequenceEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstSequence)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstSequence "::SOMTClassEntryC::somtGetFirstSequence"
#define SOMTClassEntryC_somtGetFirstSequence(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstSequence) \
	(somSelf))
#ifndef SOMGD_somtGetFirstSequence
    #if (defined(_somtGetFirstSequence) || defined(__somtGetFirstSequence))
        #undef _somtGetFirstSequence
        #undef __somtGetFirstSequence
        #define SOMGD_somtGetFirstSequence 1
    #else
        #define _somtGetFirstSequence SOMTClassEntryC_somtGetFirstSequence
    #endif /* _somtGetFirstSequence */
#endif /* SOMGD_somtGetFirstSequence */

/*
 * New Method: somtGetNextSequence
 */
typedef SOMTSequenceEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextSequence)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextSequence "::SOMTClassEntryC::somtGetNextSequence"
#define SOMTClassEntryC_somtGetNextSequence(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextSequence) \
	(somSelf))
#ifndef SOMGD_somtGetNextSequence
    #if (defined(_somtGetNextSequence) || defined(__somtGetNextSequence))
        #undef _somtGetNextSequence
        #undef __somtGetNextSequence
        #define SOMGD_somtGetNextSequence 1
    #else
        #define _somtGetNextSequence SOMTClassEntryC_somtGetNextSequence
    #endif /* _somtGetNextSequence */
#endif /* SOMGD_somtGetNextSequence */

/*
 * New Method: somtGetFirstPubdef
 */
typedef SOMTEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetFirstPubdef)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetFirstPubdef "::SOMTClassEntryC::somtGetFirstPubdef"
#define SOMTClassEntryC_somtGetFirstPubdef(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetFirstPubdef) \
	(somSelf))
#ifndef SOMGD_somtGetFirstPubdef
    #if (defined(_somtGetFirstPubdef) || defined(__somtGetFirstPubdef))
        #undef _somtGetFirstPubdef
        #undef __somtGetFirstPubdef
        #define SOMGD_somtGetFirstPubdef 1
    #else
        #define _somtGetFirstPubdef SOMTClassEntryC_somtGetFirstPubdef
    #endif /* _somtGetFirstPubdef */
#endif /* SOMGD_somtGetFirstPubdef */

/*
 * New Method: somtGetNextPubdef
 */
typedef SOMTEntryC*   (SOMLINK * somTD_SOMTClassEntryC_somtGetNextPubdef)(SOMTClassEntryC *somSelf);
#define somMD_SOMTClassEntryC_somtGetNextPubdef "::SOMTClassEntryC::somtGetNextPubdef"
#define SOMTClassEntryC_somtGetNextPubdef(somSelf) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtGetNextPubdef) \
	(somSelf))
#ifndef SOMGD_somtGetNextPubdef
    #if (defined(_somtGetNextPubdef) || defined(__somtGetNextPubdef))
        #undef _somtGetNextPubdef
        #undef __somtGetNextPubdef
        #define SOMGD_somtGetNextPubdef 1
    #else
        #define _somtGetNextPubdef SOMTClassEntryC_somtGetNextPubdef
    #endif /* _somtGetNextPubdef */
#endif /* SOMGD_somtGetNextPubdef */

/*
 * New Method: somtFilterNew
 */
typedef boolean   (SOMLINK * somTD_SOMTClassEntryC_somtFilterNew)(SOMTClassEntryC *somSelf,
		SOMTMethodEntryC* entry);
#define somMD_SOMTClassEntryC_somtFilterNew "::SOMTClassEntryC::somtFilterNew"
#define SOMTClassEntryC_somtFilterNew(somSelf,entry) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtFilterNew) \
	(somSelf,entry))
#ifndef SOMGD_somtFilterNew
    #if (defined(_somtFilterNew) || defined(__somtFilterNew))
        #undef _somtFilterNew
        #undef __somtFilterNew
        #define SOMGD_somtFilterNew 1
    #else
        #define _somtFilterNew SOMTClassEntryC_somtFilterNew
    #endif /* _somtFilterNew */
#endif /* SOMGD_somtFilterNew */

/*
 * New Method: somtFilterOverridden
 */
typedef boolean   (SOMLINK * somTD_SOMTClassEntryC_somtFilterOverridden)(SOMTClassEntryC *somSelf,
		SOMTMethodEntryC* entry);
#define somMD_SOMTClassEntryC_somtFilterOverridden "::SOMTClassEntryC::somtFilterOverridden"
#define SOMTClassEntryC_somtFilterOverridden(somSelf,entry) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtFilterOverridden) \
	(somSelf,entry))
#ifndef SOMGD_somtFilterOverridden
    #if (defined(_somtFilterOverridden) || defined(__somtFilterOverridden))
        #undef _somtFilterOverridden
        #undef __somtFilterOverridden
        #define SOMGD_somtFilterOverridden 1
    #else
        #define _somtFilterOverridden SOMTClassEntryC_somtFilterOverridden
    #endif /* _somtFilterOverridden */
#endif /* SOMGD_somtFilterOverridden */

/*
 * New Method: somtFilterPrivOrPub
 */
typedef boolean   (SOMLINK * somTD_SOMTClassEntryC_somtFilterPrivOrPub)(SOMTClassEntryC *somSelf,
		SOMTCommonEntryC* entry);
#define somMD_SOMTClassEntryC_somtFilterPrivOrPub "::SOMTClassEntryC::somtFilterPrivOrPub"
#define SOMTClassEntryC_somtFilterPrivOrPub(somSelf,entry) \
    (SOM_Resolve(somSelf, SOMTClassEntryC, somtFilterPrivOrPub) \
	(somSelf,entry))
#ifndef SOMGD_somtFilterPrivOrPub
    #if (defined(_somtFilterPrivOrPub) || defined(__somtFilterPrivOrPub))
        #undef _somtFilterPrivOrPub
        #undef __somtFilterPrivOrPub
        #define SOMGD_somtFilterPrivOrPub 1
    #else
        #define _somtFilterPrivOrPub SOMTClassEntryC_somtFilterPrivOrPub
    #endif /* _somtFilterPrivOrPub */
#endif /* SOMGD_somtFilterPrivOrPub */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define SOMTClassEntryC__get_somtEntryName SOMTEntryC__get_somtEntryName
#define SOMTClassEntryC__set_somtEntryName SOMTEntryC__set_somtEntryName
#define SOMTClassEntryC__get_somtElementType SOMTEntryC__get_somtElementType
#define SOMTClassEntryC__set_somtElementType SOMTEntryC__set_somtElementType
#define SOMTClassEntryC__get_somtElementTypeName SOMTEntryC__get_somtElementTypeName
#define SOMTClassEntryC__get_somtEntryComment SOMTEntryC__get_somtEntryComment
#define SOMTClassEntryC__get_somtSourceLineNumber SOMTEntryC__get_somtSourceLineNumber
#define SOMTClassEntryC__get_somtTypeCode SOMTEntryC__get_somtTypeCode
#define SOMTClassEntryC__get_somtIsReference SOMTEntryC__get_somtIsReference
#define SOMTClassEntryC_somtGetModifierValue SOMTEntryC_somtGetModifierValue
#define SOMTClassEntryC_somtGetFirstModifier SOMTEntryC_somtGetFirstModifier
#define SOMTClassEntryC_somtGetNextModifier SOMTEntryC_somtGetNextModifier
#define SOMTClassEntryC_somtFormatModifier SOMTEntryC_somtFormatModifier
#define SOMTClassEntryC_somtGetModifierList SOMTEntryC_somtGetModifierList
#define SOMTClassEntryC_somDefaultInit SOMObject_somDefaultInit
#define SOMTClassEntryC_somDestruct SOMObject_somDestruct
#define SOMTClassEntryC_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define SOMTClassEntryC_somDefaultAssign SOMObject_somDefaultAssign
#define SOMTClassEntryC_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define SOMTClassEntryC_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define SOMTClassEntryC_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define SOMTClassEntryC_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define SOMTClassEntryC_somDefaultVAssign SOMObject_somDefaultVAssign
#define SOMTClassEntryC_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define SOMTClassEntryC_somInit SOMObject_somInit
#define SOMTClassEntryC_somFree SOMObject_somFree
#define SOMTClassEntryC_somUninit SOMObject_somUninit
#define SOMTClassEntryC_somGetClass SOMObject_somGetClass
#define SOMTClassEntryC_somGetClassName SOMObject_somGetClassName
#define SOMTClassEntryC_somGetSize SOMObject_somGetSize
#define SOMTClassEntryC_somIsA SOMObject_somIsA
#define SOMTClassEntryC_somIsInstanceOf SOMObject_somIsInstanceOf
#define SOMTClassEntryC_somRespondsTo SOMObject_somRespondsTo
#define SOMTClassEntryC_somDispatch SOMObject_somDispatch
#define SOMTClassEntryC_somClassDispatch SOMObject_somClassDispatch
#define SOMTClassEntryC_somCastObj SOMObject_somCastObj
#define SOMTClassEntryC_somResetObj SOMObject_somResetObj
#define SOMTClassEntryC_somDispatchV SOMObject_somDispatchV
#define SOMTClassEntryC_somDispatchL SOMObject_somDispatchL
#define SOMTClassEntryC_somDispatchA SOMObject_somDispatchA
#define SOMTClassEntryC_somDispatchD SOMObject_somDispatchD
#define SOMTClassEntryC_somPrintSelf SOMObject_somPrintSelf
#define SOMTClassEntryC_somDumpSelf SOMObject_somDumpSelf
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_SOMTClassEntryC_h */
