
/*
 * This file was generated by the SOM Compiler.
 * FileName: sctmplt.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.
 * 
 */


#ifndef SOM_SOMTTemplateOutputC_h
#define SOM_SOMTTemplateOutputC_h


/*
 * Passthru lines: File: "C.h", "before"
 */
#include <stdio.h>
typedef enum somtCommentStyleT { somtDashesE, somtCPPE, somtCSimpleE, somtCBlockE } somtCommentStyleT;

#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 SOMTTemplateOutputCClassData (*resolve_SOMTTemplateOutputCClassData())
#define SOMTTemplateOutputCCClassData (*resolve_SOMTTemplateOutputCCClassData())

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

/*
 * Start of user-defined types:
 */
#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */
#ifndef SOMStringTableC
    #define SOMStringTableC SOMObject
#endif /* SOMStringTableC */
#define SOMTTemplateOutputC_MAX_INPUT_LINE_LENGTH 1024 /* 1024 */
#define SOMTTemplateOutputC_MAX_OUTPUT_LINE_LENGTH 4096 /* 4096 */

#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_MAX_INPUT_LINE_LENGTH
    #ifdef MAX_INPUT_LINE_LENGTH
        #undef MAX_INPUT_LINE_LENGTH
        #define SOMTGD_MAX_INPUT_LINE_LENGTH 1
    #else
        #define MAX_INPUT_LINE_LENGTH SOMTTemplateOutputC_MAX_INPUT_LINE_LENGTH
    #endif /* MAX_INPUT_LINE_LENGTH */
#endif /* SOMTGD_MAX_INPUT_LINE_LENGTH */
#ifndef SOMTGD_MAX_OUTPUT_LINE_LENGTH
    #ifdef MAX_OUTPUT_LINE_LENGTH
        #undef MAX_OUTPUT_LINE_LENGTH
        #define SOMTGD_MAX_OUTPUT_LINE_LENGTH 1
    #else
        #define MAX_OUTPUT_LINE_LENGTH SOMTTemplateOutputC_MAX_OUTPUT_LINE_LENGTH
    #endif /* MAX_OUTPUT_LINE_LENGTH */
#endif /* SOMTGD_MAX_OUTPUT_LINE_LENGTH */
#endif /* SOM_DONT_USE_SHORT_NAMES */

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

#define SOMTTemplateOutputC_MajorVersion 2
#define SOMTTemplateOutputC_MinorVersion 1

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define SOMTTemplateOutputCNewClass c
#define SOMTTemplateOutputCClassData d
#define SOMTTemplateOutputCCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define SOMTTemplateOutputC_classObj SOMTTemplateOutputCClassData.classObject
#define _SOMTTemplateOutputC SOMTTemplateOutputC_classObj

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

/*
 * Declare the class data structure
 */
SOMEXTERN struct SOMTTemplateOutputCClassDataStructure {
	SOMClass *classObject;
	somMToken _get_somtCommentStyle;
	somMToken _set_somtCommentStyle;
	somMToken _get_somtLineLength;
	somMToken _set_somtLineLength;
	somMToken _set_somtCommentNewline;
	somMToken _get_somtCommentNewline;
	somMToken somtGetSymbol;
	somMToken somtSetSymbol;
	somMToken somtSetSymbolCopyName;
	somMToken somtSetSymbolCopyValue;
	somMToken somtSetSymbolCopyBoth;
	somMToken somtCheckSymbol;
	somMToken somtSetOutputFile;
	somMToken somto;
	somMToken somtOutputComment;
	somMToken somtOutputSection;
	somMToken somtAddSectionDefinitions;
	somMToken somtReadSectionDefinitions;
	somMToken somtExpandSymbol;
}  _SOMTTemplateOutputCClassData;
SOMEXTERN struct SOMTTemplateOutputCClassDataStructure * SOMLINK resolve_SOMTTemplateOutputCClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct SOMTTemplateOutputCCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _SOMTTemplateOutputCCClassData;
SOMEXTERN struct SOMTTemplateOutputCCClassDataStructure * SOMLINK resolve_SOMTTemplateOutputCCClassData(void);

/*
 * New and Renew macros for SOMTTemplateOutputC
 */
#define SOMTTemplateOutputCNew() \
   (_somNew(_SOMTTemplateOutputC ? _SOMTTemplateOutputC : SOMTTemplateOutputCNewClass(SOMTTemplateOutputC_MajorVersion, SOMTTemplateOutputC_MinorVersion)))
#define SOMTTemplateOutputCRenew(buf) \
   (_somRenew(_SOMTTemplateOutputC ? _SOMTTemplateOutputC : SOMTTemplateOutputCNewClass(SOMTTemplateOutputC_MajorVersion, SOMTTemplateOutputC_MinorVersion), buf))

/*
 * Override method: somInit
 */
#define SOMTTemplateOutputC_somInit(somSelf) \
	SOMObject_somInit(somSelf)

/*
 * Override method: somUninit
 */
#define SOMTTemplateOutputC_somUninit(somSelf) \
	SOMObject_somUninit(somSelf)

/*
 * Override method: somPrintSelf
 */
#define SOMTTemplateOutputC_somPrintSelf(somSelf) \
	SOMObject_somPrintSelf(somSelf)

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

/*
 * New Method: _get_somtCommentStyle
 */
typedef somtCommentStyleT   (SOMLINK * somTD_SOMTTemplateOutputC__get_somtCommentStyle)(SOMTTemplateOutputC *somSelf);
#define somMD_SOMTTemplateOutputC__get_somtCommentStyle "::SOMTTemplateOutputC::somtCommentStyle"
#define SOMTTemplateOutputC__get_somtCommentStyle(somSelf) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, _get_somtCommentStyle) \
	(somSelf))
#ifndef SOMGD_get_somtCommentStyle
    #if (defined(_get_somtCommentStyle) || defined(__get_somtCommentStyle))
        #undef _get_somtCommentStyle
        #undef __get_somtCommentStyle
        #define SOMGD_get_somtCommentStyle 1
    #else
        #define __get_somtCommentStyle SOMTTemplateOutputC__get_somtCommentStyle
    #endif /* __get_somtCommentStyle */
#endif /* SOMGD_get_somtCommentStyle */

/*
 * New Method: _set_somtCommentStyle
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC__set_somtCommentStyle)(SOMTTemplateOutputC *somSelf,
		somtCommentStyleT somtCommentStyle);
#define somMD_SOMTTemplateOutputC__set_somtCommentStyle "::SOMTTemplateOutputC::somtCommentStyle"
#define SOMTTemplateOutputC__set_somtCommentStyle(somSelf,somtCommentStyle) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, _set_somtCommentStyle) \
	(somSelf,somtCommentStyle))
#ifndef SOMGD_set_somtCommentStyle
    #if (defined(_set_somtCommentStyle) || defined(__set_somtCommentStyle))
        #undef _set_somtCommentStyle
        #undef __set_somtCommentStyle
        #define SOMGD_set_somtCommentStyle 1
    #else
        #define __set_somtCommentStyle SOMTTemplateOutputC__set_somtCommentStyle
    #endif /* __set_somtCommentStyle */
#endif /* SOMGD_set_somtCommentStyle */

/*
 * New Method: _get_somtLineLength
 */
typedef long   (SOMLINK * somTD_SOMTTemplateOutputC__get_somtLineLength)(SOMTTemplateOutputC *somSelf);
#define somMD_SOMTTemplateOutputC__get_somtLineLength "::SOMTTemplateOutputC::somtLineLength"
#define SOMTTemplateOutputC__get_somtLineLength(somSelf) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, _get_somtLineLength) \
	(somSelf))
#ifndef SOMGD_get_somtLineLength
    #if (defined(_get_somtLineLength) || defined(__get_somtLineLength))
        #undef _get_somtLineLength
        #undef __get_somtLineLength
        #define SOMGD_get_somtLineLength 1
    #else
        #define __get_somtLineLength SOMTTemplateOutputC__get_somtLineLength
    #endif /* __get_somtLineLength */
#endif /* SOMGD_get_somtLineLength */

/*
 * New Method: _set_somtLineLength
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC__set_somtLineLength)(SOMTTemplateOutputC *somSelf,
		long somtLineLength);
#define somMD_SOMTTemplateOutputC__set_somtLineLength "::SOMTTemplateOutputC::somtLineLength"
#define SOMTTemplateOutputC__set_somtLineLength(somSelf,somtLineLength) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, _set_somtLineLength) \
	(somSelf,somtLineLength))
#ifndef SOMGD_set_somtLineLength
    #if (defined(_set_somtLineLength) || defined(__set_somtLineLength))
        #undef _set_somtLineLength
        #undef __set_somtLineLength
        #define SOMGD_set_somtLineLength 1
    #else
        #define __set_somtLineLength SOMTTemplateOutputC__set_somtLineLength
    #endif /* __set_somtLineLength */
#endif /* SOMGD_set_somtLineLength */

/*
 * New Method: _get_somtCommentNewline
 */
typedef boolean   (SOMLINK * somTD_SOMTTemplateOutputC__get_somtCommentNewline)(SOMTTemplateOutputC *somSelf);
#define somMD_SOMTTemplateOutputC__get_somtCommentNewline "::SOMTTemplateOutputC::somtCommentNewline"
#define SOMTTemplateOutputC__get_somtCommentNewline(somSelf) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, _get_somtCommentNewline) \
	(somSelf))
#ifndef SOMGD_get_somtCommentNewline
    #if (defined(_get_somtCommentNewline) || defined(__get_somtCommentNewline))
        #undef _get_somtCommentNewline
        #undef __get_somtCommentNewline
        #define SOMGD_get_somtCommentNewline 1
    #else
        #define __get_somtCommentNewline SOMTTemplateOutputC__get_somtCommentNewline
    #endif /* __get_somtCommentNewline */
#endif /* SOMGD_get_somtCommentNewline */

/*
 * New Method: _set_somtCommentNewline
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC__set_somtCommentNewline)(SOMTTemplateOutputC *somSelf,
		boolean somtCommentNewline);
#define somMD_SOMTTemplateOutputC__set_somtCommentNewline "::SOMTTemplateOutputC::somtCommentNewline"
#define SOMTTemplateOutputC__set_somtCommentNewline(somSelf,somtCommentNewline) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, _set_somtCommentNewline) \
	(somSelf,somtCommentNewline))
#ifndef SOMGD_set_somtCommentNewline
    #if (defined(_set_somtCommentNewline) || defined(__set_somtCommentNewline))
        #undef _set_somtCommentNewline
        #undef __set_somtCommentNewline
        #define SOMGD_set_somtCommentNewline 1
    #else
        #define __set_somtCommentNewline SOMTTemplateOutputC__set_somtCommentNewline
    #endif /* __set_somtCommentNewline */
#endif /* SOMGD_set_somtCommentNewline */

/*
 * New Method: somtGetSymbol
 */
typedef string   (SOMLINK * somTD_SOMTTemplateOutputC_somtGetSymbol)(SOMTTemplateOutputC *somSelf,
		string name);
#define somMD_SOMTTemplateOutputC_somtGetSymbol "::SOMTTemplateOutputC::somtGetSymbol"
#define SOMTTemplateOutputC_somtGetSymbol(somSelf,name) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtGetSymbol) \
	(somSelf,name))
#ifndef SOMGD_somtGetSymbol
    #if (defined(_somtGetSymbol) || defined(__somtGetSymbol))
        #undef _somtGetSymbol
        #undef __somtGetSymbol
        #define SOMGD_somtGetSymbol 1
    #else
        #define _somtGetSymbol SOMTTemplateOutputC_somtGetSymbol
    #endif /* _somtGetSymbol */
#endif /* SOMGD_somtGetSymbol */

/*
 * New Method: somtSetSymbol
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC_somtSetSymbol)(SOMTTemplateOutputC *somSelf,
		string name,
		string value);
#define somMD_SOMTTemplateOutputC_somtSetSymbol "::SOMTTemplateOutputC::somtSetSymbol"
#define SOMTTemplateOutputC_somtSetSymbol(somSelf,name,value) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtSetSymbol) \
	(somSelf,name,value))
#ifndef SOMGD_somtSetSymbol
    #if (defined(_somtSetSymbol) || defined(__somtSetSymbol))
        #undef _somtSetSymbol
        #undef __somtSetSymbol
        #define SOMGD_somtSetSymbol 1
    #else
        #define _somtSetSymbol SOMTTemplateOutputC_somtSetSymbol
    #endif /* _somtSetSymbol */
#endif /* SOMGD_somtSetSymbol */

/*
 * New Method: somtSetSymbolCopyName
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC_somtSetSymbolCopyName)(SOMTTemplateOutputC *somSelf,
		string name,
		string value);
#define somMD_SOMTTemplateOutputC_somtSetSymbolCopyName "::SOMTTemplateOutputC::somtSetSymbolCopyName"
#define SOMTTemplateOutputC_somtSetSymbolCopyName(somSelf,name,value) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtSetSymbolCopyName) \
	(somSelf,name,value))
#ifndef SOMGD_somtSetSymbolCopyName
    #if (defined(_somtSetSymbolCopyName) || defined(__somtSetSymbolCopyName))
        #undef _somtSetSymbolCopyName
        #undef __somtSetSymbolCopyName
        #define SOMGD_somtSetSymbolCopyName 1
    #else
        #define _somtSetSymbolCopyName SOMTTemplateOutputC_somtSetSymbolCopyName
    #endif /* _somtSetSymbolCopyName */
#endif /* SOMGD_somtSetSymbolCopyName */

/*
 * New Method: somtSetSymbolCopyValue
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC_somtSetSymbolCopyValue)(SOMTTemplateOutputC *somSelf,
		string name,
		string value);
#define somMD_SOMTTemplateOutputC_somtSetSymbolCopyValue "::SOMTTemplateOutputC::somtSetSymbolCopyValue"
#define SOMTTemplateOutputC_somtSetSymbolCopyValue(somSelf,name,value) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtSetSymbolCopyValue) \
	(somSelf,name,value))
#ifndef SOMGD_somtSetSymbolCopyValue
    #if (defined(_somtSetSymbolCopyValue) || defined(__somtSetSymbolCopyValue))
        #undef _somtSetSymbolCopyValue
        #undef __somtSetSymbolCopyValue
        #define SOMGD_somtSetSymbolCopyValue 1
    #else
        #define _somtSetSymbolCopyValue SOMTTemplateOutputC_somtSetSymbolCopyValue
    #endif /* _somtSetSymbolCopyValue */
#endif /* SOMGD_somtSetSymbolCopyValue */

/*
 * New Method: somtSetSymbolCopyBoth
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC_somtSetSymbolCopyBoth)(SOMTTemplateOutputC *somSelf,
		string name,
		string value);
#define somMD_SOMTTemplateOutputC_somtSetSymbolCopyBoth "::SOMTTemplateOutputC::somtSetSymbolCopyBoth"
#define SOMTTemplateOutputC_somtSetSymbolCopyBoth(somSelf,name,value) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtSetSymbolCopyBoth) \
	(somSelf,name,value))
#ifndef SOMGD_somtSetSymbolCopyBoth
    #if (defined(_somtSetSymbolCopyBoth) || defined(__somtSetSymbolCopyBoth))
        #undef _somtSetSymbolCopyBoth
        #undef __somtSetSymbolCopyBoth
        #define SOMGD_somtSetSymbolCopyBoth 1
    #else
        #define _somtSetSymbolCopyBoth SOMTTemplateOutputC_somtSetSymbolCopyBoth
    #endif /* _somtSetSymbolCopyBoth */
#endif /* SOMGD_somtSetSymbolCopyBoth */

/*
 * New Method: somtCheckSymbol
 */
typedef boolean   (SOMLINK * somTD_SOMTTemplateOutputC_somtCheckSymbol)(SOMTTemplateOutputC *somSelf,
		string name);
#define somMD_SOMTTemplateOutputC_somtCheckSymbol "::SOMTTemplateOutputC::somtCheckSymbol"
#define SOMTTemplateOutputC_somtCheckSymbol(somSelf,name) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtCheckSymbol) \
	(somSelf,name))
#ifndef SOMGD_somtCheckSymbol
    #if (defined(_somtCheckSymbol) || defined(__somtCheckSymbol))
        #undef _somtCheckSymbol
        #undef __somtCheckSymbol
        #define SOMGD_somtCheckSymbol 1
    #else
        #define _somtCheckSymbol SOMTTemplateOutputC_somtCheckSymbol
    #endif /* _somtCheckSymbol */
#endif /* SOMGD_somtCheckSymbol */

/*
 * New Method: somtSetOutputFile
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC_somtSetOutputFile)(SOMTTemplateOutputC *somSelf,
		FILE* fp);
#define somMD_SOMTTemplateOutputC_somtSetOutputFile "::SOMTTemplateOutputC::somtSetOutputFile"
#define SOMTTemplateOutputC_somtSetOutputFile(somSelf,fp) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtSetOutputFile) \
	(somSelf,fp))
#ifndef SOMGD_somtSetOutputFile
    #if (defined(_somtSetOutputFile) || defined(__somtSetOutputFile))
        #undef _somtSetOutputFile
        #undef __somtSetOutputFile
        #define SOMGD_somtSetOutputFile 1
    #else
        #define _somtSetOutputFile SOMTTemplateOutputC_somtSetOutputFile
    #endif /* _somtSetOutputFile */
#endif /* SOMGD_somtSetOutputFile */

/*
 * New Method: somto
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC_somto)(SOMTTemplateOutputC *somSelf,
		string tmplt);
#define somMD_SOMTTemplateOutputC_somto "::SOMTTemplateOutputC::somto"
#define SOMTTemplateOutputC_somto(somSelf,tmplt) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somto) \
	(somSelf,tmplt))
#ifndef SOMGD_somto
    #if (defined(_somto) || defined(__somto))
        #undef _somto
        #undef __somto
        #define SOMGD_somto 1
    #else
        #define _somto SOMTTemplateOutputC_somto
    #endif /* _somto */
#endif /* SOMGD_somto */

/*
 * New Method: somtOutputComment
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC_somtOutputComment)(SOMTTemplateOutputC *somSelf,
		string comment);
#define somMD_SOMTTemplateOutputC_somtOutputComment "::SOMTTemplateOutputC::somtOutputComment"
#define SOMTTemplateOutputC_somtOutputComment(somSelf,comment) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtOutputComment) \
	(somSelf,comment))
#ifndef SOMGD_somtOutputComment
    #if (defined(_somtOutputComment) || defined(__somtOutputComment))
        #undef _somtOutputComment
        #undef __somtOutputComment
        #define SOMGD_somtOutputComment 1
    #else
        #define _somtOutputComment SOMTTemplateOutputC_somtOutputComment
    #endif /* _somtOutputComment */
#endif /* SOMGD_somtOutputComment */

/*
 * New Method: somtOutputSection
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC_somtOutputSection)(SOMTTemplateOutputC *somSelf,
		string sectionName);
#define somMD_SOMTTemplateOutputC_somtOutputSection "::SOMTTemplateOutputC::somtOutputSection"
#define SOMTTemplateOutputC_somtOutputSection(somSelf,sectionName) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtOutputSection) \
	(somSelf,sectionName))
#ifndef SOMGD_somtOutputSection
    #if (defined(_somtOutputSection) || defined(__somtOutputSection))
        #undef _somtOutputSection
        #undef __somtOutputSection
        #define SOMGD_somtOutputSection 1
    #else
        #define _somtOutputSection SOMTTemplateOutputC_somtOutputSection
    #endif /* _somtOutputSection */
#endif /* SOMGD_somtOutputSection */

/*
 * New Method: somtAddSectionDefinitions
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC_somtAddSectionDefinitions)(SOMTTemplateOutputC *somSelf,
		string defString);
#define somMD_SOMTTemplateOutputC_somtAddSectionDefinitions "::SOMTTemplateOutputC::somtAddSectionDefinitions"
#define SOMTTemplateOutputC_somtAddSectionDefinitions(somSelf,defString) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtAddSectionDefinitions) \
	(somSelf,defString))
#ifndef SOMGD_somtAddSectionDefinitions
    #if (defined(_somtAddSectionDefinitions) || defined(__somtAddSectionDefinitions))
        #undef _somtAddSectionDefinitions
        #undef __somtAddSectionDefinitions
        #define SOMGD_somtAddSectionDefinitions 1
    #else
        #define _somtAddSectionDefinitions SOMTTemplateOutputC_somtAddSectionDefinitions
    #endif /* _somtAddSectionDefinitions */
#endif /* SOMGD_somtAddSectionDefinitions */

/*
 * New Method: somtReadSectionDefinitions
 */
typedef void   (SOMLINK * somTD_SOMTTemplateOutputC_somtReadSectionDefinitions)(SOMTTemplateOutputC *somSelf,
		FILE* fp);
#define somMD_SOMTTemplateOutputC_somtReadSectionDefinitions "::SOMTTemplateOutputC::somtReadSectionDefinitions"
#define SOMTTemplateOutputC_somtReadSectionDefinitions(somSelf,fp) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtReadSectionDefinitions) \
	(somSelf,fp))
#ifndef SOMGD_somtReadSectionDefinitions
    #if (defined(_somtReadSectionDefinitions) || defined(__somtReadSectionDefinitions))
        #undef _somtReadSectionDefinitions
        #undef __somtReadSectionDefinitions
        #define SOMGD_somtReadSectionDefinitions 1
    #else
        #define _somtReadSectionDefinitions SOMTTemplateOutputC_somtReadSectionDefinitions
    #endif /* _somtReadSectionDefinitions */
#endif /* SOMGD_somtReadSectionDefinitions */

/*
 * New Method: somtExpandSymbol
 */
typedef string   (SOMLINK * somTD_SOMTTemplateOutputC_somtExpandSymbol)(SOMTTemplateOutputC *somSelf,
		string s,
		string buf);
#define somMD_SOMTTemplateOutputC_somtExpandSymbol "::SOMTTemplateOutputC::somtExpandSymbol"
#define SOMTTemplateOutputC_somtExpandSymbol(somSelf,s,buf) \
    (SOM_Resolve(somSelf, SOMTTemplateOutputC, somtExpandSymbol) \
	(somSelf,s,buf))
#ifndef SOMGD_somtExpandSymbol
    #if (defined(_somtExpandSymbol) || defined(__somtExpandSymbol))
        #undef _somtExpandSymbol
        #undef __somtExpandSymbol
        #define SOMGD_somtExpandSymbol 1
    #else
        #define _somtExpandSymbol SOMTTemplateOutputC_somtExpandSymbol
    #endif /* _somtExpandSymbol */
#endif /* SOMGD_somtExpandSymbol */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define SOMTTemplateOutputC_somDefaultInit SOMObject_somDefaultInit
#define SOMTTemplateOutputC_somDestruct SOMObject_somDestruct
#define SOMTTemplateOutputC_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define SOMTTemplateOutputC_somDefaultAssign SOMObject_somDefaultAssign
#define SOMTTemplateOutputC_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define SOMTTemplateOutputC_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define SOMTTemplateOutputC_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define SOMTTemplateOutputC_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define SOMTTemplateOutputC_somDefaultVAssign SOMObject_somDefaultVAssign
#define SOMTTemplateOutputC_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define SOMTTemplateOutputC_somFree SOMObject_somFree
#define SOMTTemplateOutputC_somGetClass SOMObject_somGetClass
#define SOMTTemplateOutputC_somGetClassName SOMObject_somGetClassName
#define SOMTTemplateOutputC_somGetSize SOMObject_somGetSize
#define SOMTTemplateOutputC_somIsA SOMObject_somIsA
#define SOMTTemplateOutputC_somIsInstanceOf SOMObject_somIsInstanceOf
#define SOMTTemplateOutputC_somRespondsTo SOMObject_somRespondsTo
#define SOMTTemplateOutputC_somDispatch SOMObject_somDispatch
#define SOMTTemplateOutputC_somClassDispatch SOMObject_somClassDispatch
#define SOMTTemplateOutputC_somCastObj SOMObject_somCastObj
#define SOMTTemplateOutputC_somResetObj SOMObject_somResetObj
#define SOMTTemplateOutputC_somDispatchV SOMObject_somDispatchV
#define SOMTTemplateOutputC_somDispatchL SOMObject_somDispatchL
#define SOMTTemplateOutputC_somDispatchA SOMObject_somDispatchA
#define SOMTTemplateOutputC_somDispatchD SOMObject_somDispatchD
#define SOMTTemplateOutputC_somDumpSelf SOMObject_somDumpSelf
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_SOMTTemplateOutputC_h */
