
/*
 * This file was generated by the SOM Compiler.
 * FileName: scmethod.h.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.19
 *     SOM Emitter emith.dll: 2.31.1.64
 */

/*
 *   COMPONENT_NAME: some
 * 
 *   ORIGINS: 27
 * 
 * 
 *    25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1994,1996
 *   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.10 5/22/96 13:13:27 [12/22/96 21:12:13]
 * 
 */


#ifndef SOM_SOMTMethodEntryC_h
#define SOM_SOMTMethodEntryC_h


/*
 * The SOM_STRICT_IDL macro means that we can ignore stars
 * in our declarations of objects.
 */
#define SOM_STRICT_IDL 1


#include <som.h>
#ifndef SOM_IMPORTEXPORT_some_scmethod
#ifdef SOM_DLL_some
	/* export semantics */
	#if defined(SOM_DEFFILE_some)\
	||(defined(SOM_DEFFILE_BY_DEFAULT)&&!defined(SOM_NODEFFILE_some))\
	|| !defined(SOM_Module_scmethod_Source)
	#define SOM_IMPORTEXPORT_some_scmethod
	#else
	#define SOM_IMPORTEXPORT_some_scmethod SOMDLLEXPORT
	#endif
#else
	#define SOM_IMPORTEXPORT_some_scmethod SOMDLLIMPORT
#endif
#endif

/*
 * -- 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 the class name as an object type
 */
#ifndef SOMTMethodEntryC
#define SOMTMethodEntryC SOMObject
#endif

/*
 * Include Parent Bindings
 */
#ifndef SOM_SOMTCommonEntryC_h
#ifdef SOMLOCALINCLUDES
#include "sccommon.h"
#else
#include <sccommon.h>
#endif
#endif

/*
 * Start of bindings for IDL 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 bindings for IDL types.
 */

#define SOMTMethodEntryC_MajorVersion 2
#define SOMTMethodEntryC_MinorVersion 1

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOM_IMPORTEXPORT_some_scmethod SOMClass  SOMLINK SOMTMethodEntryCNewClass(integer4 somtmajorVersion,
		integer4 somtminorVersion);

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct SOMTMethodEntryCClassDataStructure {
	SOMClass classObject;
	somMToken _get_somtIsVarargs;
	somMToken _get_somtOriginalMethod;
	somMToken _get_somtOriginalClass;
	somMToken _get_somtMethodGroup;
	somMToken somtGetFirstParameter;
	somMToken somtGetNextParameter;
	somMToken somtGetArgList;
	somMToken somtGetParmList;
	somMToken _get_somtIsPrivateMethod;
	somMToken _get_somtIsOneway;
	somMToken _get_somtArgCount;
	somMToken somtGetFirstException;
	somMToken somtGetNextException;
	somMToken _get_somtContextArray;
	somMToken somtGetShortCPrototype;
	somMToken somtGetFullCPrototype;
	somMToken somtGetShortParmList;
	somMToken somtGetFullParmList;
	somMToken somtGetNthParameter;
	somMToken _get_somtCReturnType;
	somMToken somtGetIDLParamList;
	somMToken somtGetShortCParamList;
	somMToken somtGetFullCParamList;
	somMToken somtGetShortParamNameList;
	somMToken somtGetFullParamNameList;
} SOM_IMPORTEXPORT_some_scmethod SOMDLINK SOMTMethodEntryCClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct SOMTMethodEntryCCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_some_scmethod SOMDLINK SOMTMethodEntryCCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_SOMTMethodEntryC (SOMTMethodEntryCClassData.classObject)
#ifndef SOMGD_SOMTMethodEntryC
    #if (defined(_SOMTMethodEntryC) || defined(__SOMTMethodEntryC))
        #undef _SOMTMethodEntryC
        #undef __SOMTMethodEntryC
        #define SOMGD_SOMTMethodEntryC 1
    #else
        #define _SOMTMethodEntryC _SOMCLASS_SOMTMethodEntryC
    #endif /* _SOMTMethodEntryC */
#endif /* SOMGD_SOMTMethodEntryC */
#define SOMTMethodEntryC_classObj _SOMCLASS_SOMTMethodEntryC
#define _SOMMTOKEN_SOMTMethodEntryC(method) ((somMToken)SOMTMethodEntryCClassData.method)

/*
 * New and Renew macros for SOMTMethodEntryC
 */
#define SOMTMethodEntryCNew() \
   ( _SOMTMethodEntryC ? \
	_somNew(_SOMTMethodEntryC) \
	: ( SOMTMethodEntryCNewClass(\
		SOMTMethodEntryC_MajorVersion, \
		SOMTMethodEntryC_MinorVersion),\
	   _somNew(_SOMTMethodEntryC)))
#define SOMTMethodEntryCRenew(buf) \
   ( _SOMTMethodEntryC ? \
	_somRenew(_SOMTMethodEntryC, buf) \
	: ( SOMTMethodEntryCNewClass(\
		SOMTMethodEntryC_MajorVersion, \
		SOMTMethodEntryC_MinorVersion),\
	   _somRenew(_SOMTMethodEntryC, buf)))

/*
 * New Method: _get_somtIsVarargs
 */
typedef boolean   SOMLINK somTP_SOMTMethodEntryC__get_somtIsVarargs(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC__get_somtIsVarargs *somTD_SOMTMethodEntryC__get_somtIsVarargs;
/*
 *  Returns 1 (true) if this method definition has a variable length
 *  parameter list.
 */
#define somMD_SOMTMethodEntryC__get_somtIsVarargs "::SOMTMethodEntryC::_get_somtIsVarargs"
#define SOMTMethodEntryC__get_somtIsVarargs(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, _get_somtIsVarargs) \
	(somSelf))
#ifndef SOMGD_get_somtIsVarargs
    #if (defined(_get_somtIsVarargs) || defined(__get_somtIsVarargs))
        #undef _get_somtIsVarargs
        #undef __get_somtIsVarargs
        #define SOMGD_get_somtIsVarargs 1
    #else
        #define __get_somtIsVarargs SOMTMethodEntryC__get_somtIsVarargs
    #endif /* __get_somtIsVarargs */
#endif /* SOMGD_get_somtIsVarargs */

/*
 * New Method: _get_somtOriginalMethod
 */
typedef SOMTMethodEntryC   SOMLINK somTP_SOMTMethodEntryC__get_somtOriginalMethod(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC__get_somtOriginalMethod *somTD_SOMTMethodEntryC__get_somtOriginalMethod;
/*
 *  If this is an override method definition (<SOMTOverrideMethodE>)
 *  then this is the method definition entry that orginially
 *  introduced the method.
 */
#define somMD_SOMTMethodEntryC__get_somtOriginalMethod "::SOMTMethodEntryC::_get_somtOriginalMethod"
#define SOMTMethodEntryC__get_somtOriginalMethod(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, _get_somtOriginalMethod) \
	(somSelf))
#ifndef SOMGD_get_somtOriginalMethod
    #if (defined(_get_somtOriginalMethod) || defined(__get_somtOriginalMethod))
        #undef _get_somtOriginalMethod
        #undef __get_somtOriginalMethod
        #define SOMGD_get_somtOriginalMethod 1
    #else
        #define __get_somtOriginalMethod SOMTMethodEntryC__get_somtOriginalMethod
    #endif /* __get_somtOriginalMethod */
#endif /* SOMGD_get_somtOriginalMethod */

/*
 * New Method: _get_somtOriginalClass
 */
typedef SOMTClassEntryC   SOMLINK somTP_SOMTMethodEntryC__get_somtOriginalClass(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC__get_somtOriginalClass *somTD_SOMTMethodEntryC__get_somtOriginalClass;
/*
 *  If this is an override method definition (<SOMTOverrideMethodE>)
 *  then this is the class definition entry that orginially
 *  introduced the method.
 */
#define somMD_SOMTMethodEntryC__get_somtOriginalClass "::SOMTMethodEntryC::_get_somtOriginalClass"
#define SOMTMethodEntryC__get_somtOriginalClass(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, _get_somtOriginalClass) \
	(somSelf))
#ifndef SOMGD_get_somtOriginalClass
    #if (defined(_get_somtOriginalClass) || defined(__get_somtOriginalClass))
        #undef _get_somtOriginalClass
        #undef __get_somtOriginalClass
        #define SOMGD_get_somtOriginalClass 1
    #else
        #define __get_somtOriginalClass SOMTMethodEntryC__get_somtOriginalClass
    #endif /* __get_somtOriginalClass */
#endif /* SOMGD_get_somtOriginalClass */

/*
 * New Method: _get_somtMethodGroup
 */
typedef SOMTEntryC   SOMLINK somTP_SOMTMethodEntryC__get_somtMethodGroup(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC__get_somtMethodGroup *somTD_SOMTMethodEntryC__get_somtMethodGroup;
/*
 *  The group this method is defined in within a class definition.
 */
#define somMD_SOMTMethodEntryC__get_somtMethodGroup "::SOMTMethodEntryC::_get_somtMethodGroup"
#define SOMTMethodEntryC__get_somtMethodGroup(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, _get_somtMethodGroup) \
	(somSelf))
#ifndef SOMGD_get_somtMethodGroup
    #if (defined(_get_somtMethodGroup) || defined(__get_somtMethodGroup))
        #undef _get_somtMethodGroup
        #undef __get_somtMethodGroup
        #define SOMGD_get_somtMethodGroup 1
    #else
        #define __get_somtMethodGroup SOMTMethodEntryC__get_somtMethodGroup
    #endif /* __get_somtMethodGroup */
#endif /* SOMGD_get_somtMethodGroup */

/*
 * New Method: _get_somtIsPrivateMethod
 */
typedef boolean   SOMLINK somTP_SOMTMethodEntryC__get_somtIsPrivateMethod(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC__get_somtIsPrivateMethod *somTD_SOMTMethodEntryC__get_somtIsPrivateMethod;
/*
 *  Whether or not the method is private.
 */
#define somMD_SOMTMethodEntryC__get_somtIsPrivateMethod "::SOMTMethodEntryC::_get_somtIsPrivateMethod"
#define SOMTMethodEntryC__get_somtIsPrivateMethod(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, _get_somtIsPrivateMethod) \
	(somSelf))
#ifndef SOMGD_get_somtIsPrivateMethod
    #if (defined(_get_somtIsPrivateMethod) || defined(__get_somtIsPrivateMethod))
        #undef _get_somtIsPrivateMethod
        #undef __get_somtIsPrivateMethod
        #define SOMGD_get_somtIsPrivateMethod 1
    #else
        #define __get_somtIsPrivateMethod SOMTMethodEntryC__get_somtIsPrivateMethod
    #endif /* __get_somtIsPrivateMethod */
#endif /* SOMGD_get_somtIsPrivateMethod */

/*
 * New Method: _get_somtIsOneway
 */
typedef boolean   SOMLINK somTP_SOMTMethodEntryC__get_somtIsOneway(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC__get_somtIsOneway *somTD_SOMTMethodEntryC__get_somtIsOneway;
/*
 *  Whether or not the method is oneway.
 */
#define somMD_SOMTMethodEntryC__get_somtIsOneway "::SOMTMethodEntryC::_get_somtIsOneway"
#define SOMTMethodEntryC__get_somtIsOneway(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, _get_somtIsOneway) \
	(somSelf))
#ifndef SOMGD_get_somtIsOneway
    #if (defined(_get_somtIsOneway) || defined(__get_somtIsOneway))
        #undef _get_somtIsOneway
        #undef __get_somtIsOneway
        #define SOMGD_get_somtIsOneway 1
    #else
        #define __get_somtIsOneway SOMTMethodEntryC__get_somtIsOneway
    #endif /* __get_somtIsOneway */
#endif /* SOMGD_get_somtIsOneway */

/*
 * New Method: _get_somtArgCount
 */
typedef short   SOMLINK somTP_SOMTMethodEntryC__get_somtArgCount(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC__get_somtArgCount *somTD_SOMTMethodEntryC__get_somtArgCount;
/*
 *  The number of arguments for the method.
 */
#define somMD_SOMTMethodEntryC__get_somtArgCount "::SOMTMethodEntryC::_get_somtArgCount"
#define SOMTMethodEntryC__get_somtArgCount(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, _get_somtArgCount) \
	(somSelf))
#ifndef SOMGD_get_somtArgCount
    #if (defined(_get_somtArgCount) || defined(__get_somtArgCount))
        #undef _get_somtArgCount
        #undef __get_somtArgCount
        #define SOMGD_get_somtArgCount 1
    #else
        #define __get_somtArgCount SOMTMethodEntryC__get_somtArgCount
    #endif /* __get_somtArgCount */
#endif /* SOMGD_get_somtArgCount */

/*
 * New Method: somtGetFirstParameter
 */
typedef SOMTParameterEntryC   SOMLINK somTP_SOMTMethodEntryC_somtGetFirstParameter(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC_somtGetFirstParameter *somTD_SOMTMethodEntryC_somtGetFirstParameter;
/*
 *  Returns the first formal parameter entry for this method if it
 *  has one and NULL otherwise.  Note: the target object parameter is
 *  not included, therefore the first parameter is really the second
 *  parameter from a SOM runtime perspective.
 */
#define somMD_SOMTMethodEntryC_somtGetFirstParameter "::SOMTMethodEntryC::somtGetFirstParameter"
#define SOMTMethodEntryC_somtGetFirstParameter(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, somtGetFirstParameter) \
	(somSelf))
#ifndef SOMGD_somtGetFirstParameter
    #if (defined(_somtGetFirstParameter) || defined(__somtGetFirstParameter))
        #undef _somtGetFirstParameter
        #undef __somtGetFirstParameter
        #define SOMGD_somtGetFirstParameter 1
    #else
        #define _somtGetFirstParameter SOMTMethodEntryC_somtGetFirstParameter
    #endif /* _somtGetFirstParameter */
#endif /* SOMGD_somtGetFirstParameter */

/*
 * New Method: somtGetNextParameter
 */
typedef SOMTParameterEntryC   SOMLINK somTP_SOMTMethodEntryC_somtGetNextParameter(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC_somtGetNextParameter *somTD_SOMTMethodEntryC_somtGetNextParameter;
/*
 *  Returns the next formal parameter entry for this method if it has
 *  one and NULL otherwise.
 */
#define somMD_SOMTMethodEntryC_somtGetNextParameter "::SOMTMethodEntryC::somtGetNextParameter"
#define SOMTMethodEntryC_somtGetNextParameter(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, somtGetNextParameter) \
	(somSelf))
#ifndef SOMGD_somtGetNextParameter
    #if (defined(_somtGetNextParameter) || defined(__somtGetNextParameter))
        #undef _somtGetNextParameter
        #undef __somtGetNextParameter
        #define SOMGD_somtGetNextParameter 1
    #else
        #define _somtGetNextParameter SOMTMethodEntryC_somtGetNextParameter
    #endif /* _somtGetNextParameter */
#endif /* SOMGD_somtGetNextParameter */

/*
 * New Method: somtGetIDLParamList
 */
typedef string   SOMLINK somTP_SOMTMethodEntryC_somtGetIDLParamList(SOMTMethodEntryC somSelf, 
		string buffer);
typedef somTP_SOMTMethodEntryC_somtGetIDLParamList *somTD_SOMTMethodEntryC_somtGetIDLParamList;
/*
 *  Returns the formal parameter list (in IDL syntax) for this method.
 *  The parameter list is built in <buffer> and the address of <buffer>
 *  is returned.
 *  Parameters are delimited with newlines.
 *  The method receiver and any implicit method arguments are NOT included.
 */
#define somMD_SOMTMethodEntryC_somtGetIDLParamList "::SOMTMethodEntryC::somtGetIDLParamList"
#define SOMTMethodEntryC_somtGetIDLParamList(somSelf,buffer) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, somtGetIDLParamList) \
	(somSelf,buffer))
#ifndef SOMGD_somtGetIDLParamList
    #if (defined(_somtGetIDLParamList) || defined(__somtGetIDLParamList))
        #undef _somtGetIDLParamList
        #undef __somtGetIDLParamList
        #define SOMGD_somtGetIDLParamList 1
    #else
        #define _somtGetIDLParamList SOMTMethodEntryC_somtGetIDLParamList
    #endif /* _somtGetIDLParamList */
#endif /* SOMGD_somtGetIDLParamList */

/*
 * New Method: somtGetShortCParamList
 */
typedef string   SOMLINK somTP_SOMTMethodEntryC_somtGetShortCParamList(SOMTMethodEntryC somSelf, 
		string buffer, 
		string selfParm, 
		string varargsParm);
typedef somTP_SOMTMethodEntryC_somtGetShortCParamList *somTD_SOMTMethodEntryC_somtGetShortCParamList;
/*
 *  Returns the formal parameter list (in ANSI C function prototype
 *  form, with types) for this method. The parameter list is built in
 *  <buffer> and the address of <buffer> is returned.
 *  Parameters are delimited with newlines.
 *  If this method takes a variable number of arguments then the
 *  final parameter substring is replaced by <varargsParm>, unless
 *  <varargsParm> is NULL in which case the final parameter is
 *  removed.
 *  If <selfParm> is not null then it is added as an initial
 *  parameter. (The <selfParm> string may actually contain multiple
 *  parameters, delimited by newline characters.)
 *  The method receiver and any implicit method arguments are NOT
 *  included.
 *  The types of the method parameters are given in C form (with pointer
 *  stars, where needed) rather than in the IDL form.
 */
#define somMD_SOMTMethodEntryC_somtGetShortCParamList "::SOMTMethodEntryC::somtGetShortCParamList"
#define SOMTMethodEntryC_somtGetShortCParamList(somSelf,buffer,selfParm,varargsParm) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, somtGetShortCParamList) \
	(somSelf,buffer,selfParm,varargsParm))
#ifndef SOMGD_somtGetShortCParamList
    #if (defined(_somtGetShortCParamList) || defined(__somtGetShortCParamList))
        #undef _somtGetShortCParamList
        #undef __somtGetShortCParamList
        #define SOMGD_somtGetShortCParamList 1
    #else
        #define _somtGetShortCParamList SOMTMethodEntryC_somtGetShortCParamList
    #endif /* _somtGetShortCParamList */
#endif /* SOMGD_somtGetShortCParamList */

/*
 * New Method: somtGetFullCParamList
 */
typedef string   SOMLINK somTP_SOMTMethodEntryC_somtGetFullCParamList(SOMTMethodEntryC somSelf, 
		string buffer, 
		string varargsParm);
typedef somTP_SOMTMethodEntryC_somtGetFullCParamList *somTD_SOMTMethodEntryC_somtGetFullCParamList;
/*
 *  Same as somtGetShortCParamList except that the method receiver and
 *  any implicit method arguments (Environment and Context) are included.
 *  The types of the method parameters are given in C form (with pointer
 *  stars, where needed) rather than in the IDL form.
 */
#define somMD_SOMTMethodEntryC_somtGetFullCParamList "::SOMTMethodEntryC::somtGetFullCParamList"
#define SOMTMethodEntryC_somtGetFullCParamList(somSelf,buffer,varargsParm) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, somtGetFullCParamList) \
	(somSelf,buffer,varargsParm))
#ifndef SOMGD_somtGetFullCParamList
    #if (defined(_somtGetFullCParamList) || defined(__somtGetFullCParamList))
        #undef _somtGetFullCParamList
        #undef __somtGetFullCParamList
        #define SOMGD_somtGetFullCParamList 1
    #else
        #define _somtGetFullCParamList SOMTMethodEntryC_somtGetFullCParamList
    #endif /* _somtGetFullCParamList */
#endif /* SOMGD_somtGetFullCParamList */

/*
 * New Method: somtGetShortParamNameList
 */
typedef string   SOMLINK somTP_SOMTMethodEntryC_somtGetShortParamNameList(SOMTMethodEntryC somSelf, 
		string buffer, 
		string selfParm, 
		string varargsParm);
typedef somTP_SOMTMethodEntryC_somtGetShortParamNameList *somTD_SOMTMethodEntryC_somtGetShortParamNameList;
/*
 *  Returns the parameter list for this method in call form (without
 *  types). The argument list is built in <buffer> and the address of
 *  <buffer> is returned. Parameters are delimited with newlines.
 *  If this method takes a variable number of arguments then the
 *  final parameter is replaced by <varargsParm>, unless
 *  <varargsParm> is NULL in which case the final parameter is removed.
 *  If <selfParm> is not null then it is added as an initial
 *  parameter. (The <selfParm> string may actually contain multiple
 *  parameters, delimited by newline characters.)
 *  The method receiver and any implicit method arguments are NOT
 *  included.
 */
#define somMD_SOMTMethodEntryC_somtGetShortParamNameList "::SOMTMethodEntryC::somtGetShortParamNameList"
#define SOMTMethodEntryC_somtGetShortParamNameList(somSelf,buffer,selfParm,varargsParm) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, somtGetShortParamNameList) \
	(somSelf,buffer,selfParm,varargsParm))
#ifndef SOMGD_somtGetShortParamNameList
    #if (defined(_somtGetShortParamNameList) || defined(__somtGetShortParamNameList))
        #undef _somtGetShortParamNameList
        #undef __somtGetShortParamNameList
        #define SOMGD_somtGetShortParamNameList 1
    #else
        #define _somtGetShortParamNameList SOMTMethodEntryC_somtGetShortParamNameList
    #endif /* _somtGetShortParamNameList */
#endif /* SOMGD_somtGetShortParamNameList */

/*
 * New Method: somtGetFullParamNameList
 */
typedef string   SOMLINK somTP_SOMTMethodEntryC_somtGetFullParamNameList(SOMTMethodEntryC somSelf, 
		string buffer, 
		string varargsParm);
typedef somTP_SOMTMethodEntryC_somtGetFullParamNameList *somTD_SOMTMethodEntryC_somtGetFullParamNameList;
/*
 *  Same as somtGetParamNameList except that the method receiver and
 *  any implicit method arguments (Environment and Context) are included.
 */
#define somMD_SOMTMethodEntryC_somtGetFullParamNameList "::SOMTMethodEntryC::somtGetFullParamNameList"
#define SOMTMethodEntryC_somtGetFullParamNameList(somSelf,buffer,varargsParm) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, somtGetFullParamNameList) \
	(somSelf,buffer,varargsParm))
#ifndef SOMGD_somtGetFullParamNameList
    #if (defined(_somtGetFullParamNameList) || defined(__somtGetFullParamNameList))
        #undef _somtGetFullParamNameList
        #undef __somtGetFullParamNameList
        #define SOMGD_somtGetFullParamNameList 1
    #else
        #define _somtGetFullParamNameList SOMTMethodEntryC_somtGetFullParamNameList
    #endif /* _somtGetFullParamNameList */
#endif /* SOMGD_somtGetFullParamNameList */

/*
 * New Method: somtGetNthParameter
 */
typedef SOMTParameterEntryC   SOMLINK somTP_SOMTMethodEntryC_somtGetNthParameter(SOMTMethodEntryC somSelf, 
		short n);
typedef somTP_SOMTMethodEntryC_somtGetNthParameter *somTD_SOMTMethodEntryC_somtGetNthParameter;
/*
 *  Returns the object representing the nth explicit method parameter.
 */
#define somMD_SOMTMethodEntryC_somtGetNthParameter "::SOMTMethodEntryC::somtGetNthParameter"
#define SOMTMethodEntryC_somtGetNthParameter(somSelf,n) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, somtGetNthParameter) \
	(somSelf,n))
#ifndef SOMGD_somtGetNthParameter
    #if (defined(_somtGetNthParameter) || defined(__somtGetNthParameter))
        #undef _somtGetNthParameter
        #undef __somtGetNthParameter
        #define SOMGD_somtGetNthParameter 1
    #else
        #define _somtGetNthParameter SOMTMethodEntryC_somtGetNthParameter
    #endif /* _somtGetNthParameter */
#endif /* SOMGD_somtGetNthParameter */

/*
 * New Method: somtGetFirstException
 */
typedef SOMTStructEntryC   SOMLINK somTP_SOMTMethodEntryC_somtGetFirstException(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC_somtGetFirstException *somTD_SOMTMethodEntryC_somtGetFirstException;
/*
 *  The first exception this method raises.
 */
#define somMD_SOMTMethodEntryC_somtGetFirstException "::SOMTMethodEntryC::somtGetFirstException"
#define SOMTMethodEntryC_somtGetFirstException(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, somtGetFirstException) \
	(somSelf))
#ifndef SOMGD_somtGetFirstException
    #if (defined(_somtGetFirstException) || defined(__somtGetFirstException))
        #undef _somtGetFirstException
        #undef __somtGetFirstException
        #define SOMGD_somtGetFirstException 1
    #else
        #define _somtGetFirstException SOMTMethodEntryC_somtGetFirstException
    #endif /* _somtGetFirstException */
#endif /* SOMGD_somtGetFirstException */

/*
 * New Method: somtGetNextException
 */
typedef SOMTStructEntryC   SOMLINK somTP_SOMTMethodEntryC_somtGetNextException(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC_somtGetNextException *somTD_SOMTMethodEntryC_somtGetNextException;
/*
 *  The next exception this method raises,
 *  relative to the previous call to this method or to
 *  somtGetFirstException.
 */
#define somMD_SOMTMethodEntryC_somtGetNextException "::SOMTMethodEntryC::somtGetNextException"
#define SOMTMethodEntryC_somtGetNextException(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, somtGetNextException) \
	(somSelf))
#ifndef SOMGD_somtGetNextException
    #if (defined(_somtGetNextException) || defined(__somtGetNextException))
        #undef _somtGetNextException
        #undef __somtGetNextException
        #define SOMGD_somtGetNextException 1
    #else
        #define _somtGetNextException SOMTMethodEntryC_somtGetNextException
    #endif /* _somtGetNextException */
#endif /* SOMGD_somtGetNextException */

/*
 * New Method: _get_somtContextArray
 */
typedef string*   SOMLINK somTP_SOMTMethodEntryC__get_somtContextArray(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC__get_somtContextArray *somTD_SOMTMethodEntryC__get_somtContextArray;
/*
 *  An array of the context string-literals for the method.
 */
#define somMD_SOMTMethodEntryC__get_somtContextArray "::SOMTMethodEntryC::_get_somtContextArray"
#define SOMTMethodEntryC__get_somtContextArray(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, _get_somtContextArray) \
	(somSelf))
#ifndef SOMGD_get_somtContextArray
    #if (defined(_get_somtContextArray) || defined(__get_somtContextArray))
        #undef _get_somtContextArray
        #undef __get_somtContextArray
        #define SOMGD_get_somtContextArray 1
    #else
        #define __get_somtContextArray SOMTMethodEntryC__get_somtContextArray
    #endif /* __get_somtContextArray */
#endif /* SOMGD_get_somtContextArray */

/*
 * New Method: _get_somtCReturnType
 */
typedef string   SOMLINK somTP_SOMTMethodEntryC__get_somtCReturnType(SOMTMethodEntryC somSelf);
typedef somTP_SOMTMethodEntryC__get_somtCReturnType *somTD_SOMTMethodEntryC__get_somtCReturnType;
/*
 *  The C datatype the method returns. This may not correspond to the
 *  IDL data type (in particular, pointer stars may be added).
 */
#define somMD_SOMTMethodEntryC__get_somtCReturnType "::SOMTMethodEntryC::_get_somtCReturnType"
#define SOMTMethodEntryC__get_somtCReturnType(somSelf) \
    (SOM_Resolve(somSelf, SOMTMethodEntryC, _get_somtCReturnType) \
	(somSelf))
#ifndef SOMGD_get_somtCReturnType
    #if (defined(_get_somtCReturnType) || defined(__get_somtCReturnType))
        #undef _get_somtCReturnType
        #undef __get_somtCReturnType
        #define SOMGD_get_somtCReturnType 1
    #else
        #define __get_somtCReturnType SOMTMethodEntryC__get_somtCReturnType
    #endif /* __get_somtCReturnType */
#endif /* SOMGD_get_somtCReturnType */

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define SOMTMethodEntryC_somDumpSelfInt SOMObject_somDumpSelfInt
#define SOMTMethodEntryC_somtSetSymbolsOnEntry SOMTEntryC_somtSetSymbolsOnEntry

#ifndef SOM_DONT_USE_INHERITED_MACROS
#define SOMTMethodEntryC__get_somtTypeObj SOMTCommonEntryC__get_somtTypeObj
#define SOMTMethodEntryC__get_somtPtrs SOMTCommonEntryC__get_somtPtrs
#define SOMTMethodEntryC__get_somtArrayDimsString SOMTCommonEntryC__get_somtArrayDimsString
#define SOMTMethodEntryC_somtGetFirstArrayDimension SOMTCommonEntryC_somtGetFirstArrayDimension
#define SOMTMethodEntryC_somtGetNextArrayDimension SOMTCommonEntryC_somtGetNextArrayDimension
#define SOMTMethodEntryC__get_somtSourceText SOMTCommonEntryC__get_somtSourceText
#define SOMTMethodEntryC__get_somtType SOMTCommonEntryC__get_somtType
#define SOMTMethodEntryC__get_somtVisibility SOMTCommonEntryC__get_somtVisibility
#define SOMTMethodEntryC_somtIsArray SOMTCommonEntryC_somtIsArray
#define SOMTMethodEntryC_somtIsPointer SOMTCommonEntryC_somtIsPointer
#define SOMTMethodEntryC__get_somtEntryName SOMTEntryC__get_somtEntryName
#define SOMTMethodEntryC__set_somtEntryName SOMTEntryC__set_somtEntryName
#define SOMTMethodEntryC__get_somtElementType SOMTEntryC__get_somtElementType
#define SOMTMethodEntryC__set_somtElementType SOMTEntryC__set_somtElementType
#define SOMTMethodEntryC__get_somtElementTypeName SOMTEntryC__get_somtElementTypeName
#define SOMTMethodEntryC__get_somtEntryComment SOMTEntryC__get_somtEntryComment
#define SOMTMethodEntryC__get_somtSourceLineNumber SOMTEntryC__get_somtSourceLineNumber
#define SOMTMethodEntryC__get_somtTypeCode SOMTEntryC__get_somtTypeCode
#define SOMTMethodEntryC__get_somtIsReference SOMTEntryC__get_somtIsReference
#define SOMTMethodEntryC__get_somtIDLScopedName SOMTEntryC__get_somtIDLScopedName
#define SOMTMethodEntryC__get_somtCScopedName SOMTEntryC__get_somtCScopedName
#define SOMTMethodEntryC_somtGetModifierValue SOMTEntryC_somtGetModifierValue
#define SOMTMethodEntryC_somtGetFirstModifier SOMTEntryC_somtGetFirstModifier
#define SOMTMethodEntryC_somtGetNextModifier SOMTEntryC_somtGetNextModifier
#define SOMTMethodEntryC_somtFormatModifier SOMTEntryC_somtFormatModifier
#define SOMTMethodEntryC_somtGetModifierList SOMTEntryC_somtGetModifierList
#define SOMTMethodEntryC_somtSetEntryStruct SOMTEntryC_somtSetEntryStruct
#define SOMTMethodEntryC_somInit SOMObject_somInit
#define SOMTMethodEntryC_somUninit SOMObject_somUninit
#define SOMTMethodEntryC_somPrintSelf SOMObject_somPrintSelf
#define SOMTMethodEntryC_somDumpSelf SOMObject_somDumpSelf
#define SOMTMethodEntryC_somDefaultInit SOMObject_somDefaultInit
#define SOMTMethodEntryC_somDestruct SOMObject_somDestruct
#define SOMTMethodEntryC_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define SOMTMethodEntryC_somDefaultAssign SOMObject_somDefaultAssign
#define SOMTMethodEntryC_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define SOMTMethodEntryC_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define SOMTMethodEntryC_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define SOMTMethodEntryC_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define SOMTMethodEntryC_somDefaultVAssign SOMObject_somDefaultVAssign
#define SOMTMethodEntryC_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define SOMTMethodEntryC_somFree SOMObject_somFree
#define SOMTMethodEntryC_somGetClass SOMObject_somGetClass
#define SOMTMethodEntryC_somGetClassName SOMObject_somGetClassName
#define SOMTMethodEntryC_somGetSize SOMObject_somGetSize
#define SOMTMethodEntryC_somIsA SOMObject_somIsA
#define SOMTMethodEntryC_somIsInstanceOf SOMObject_somIsInstanceOf
#define SOMTMethodEntryC_somRespondsTo SOMObject_somRespondsTo
#define SOMTMethodEntryC_somDispatch SOMObject_somDispatch
#define SOMTMethodEntryC_somClassDispatch SOMObject_somClassDispatch
#define SOMTMethodEntryC_somCastObj SOMObject_somCastObj
#define SOMTMethodEntryC_somResetObj SOMObject_somResetObj
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_SOMTMethodEntryC_h */
