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

/*
 * 
 *    COMPONENT_NAME: somu
 * 
 *    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_SOMUTStringId_h
#define SOM_SOMUTStringId_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 SOMUTStringIdClassData (*resolve_SOMUTStringIdClassData())
#define SOMUTStringIdCClassData (*resolve_SOMUTStringIdCClassData())

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

/*
 * Start of user-defined types:
 */
#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */

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

#define SOMUTStringId_MajorVersion 2
#define SOMUTStringId_MinorVersion 1

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define SOMUTStringIdNewClass c
#define SOMUTStringIdClassData d
#define SOMUTStringIdCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define SOMUTStringId_classObj SOMUTStringIdClassData.classObject
#define _SOMUTStringId SOMUTStringId_classObj

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

/*
 * Declare the class data structure
 */
SOMEXTERN struct SOMUTStringIdClassDataStructure {
	SOMClass *classObject;
	somMToken somutSetIdString;
	somMToken somutGetIdString;
	somMToken somutGetIdStringLen;
	somMToken somutEqualsString;
	somMToken somutCompareString;
}  _SOMUTStringIdClassData;
SOMEXTERN struct SOMUTStringIdClassDataStructure * SOMLINK resolve_SOMUTStringIdClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct SOMUTStringIdCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _SOMUTStringIdCClassData;
SOMEXTERN struct SOMUTStringIdCClassDataStructure * SOMLINK resolve_SOMUTStringIdCClassData(void);

/*
 * New and Renew macros for SOMUTStringId
 */
#define SOMUTStringIdNew() \
   (_somNew(_SOMUTStringId ? _SOMUTStringId : SOMUTStringIdNewClass(SOMUTStringId_MajorVersion, SOMUTStringId_MinorVersion)))
#define SOMUTStringIdRenew(buf) \
   (_somRenew(_SOMUTStringId ? _SOMUTStringId : SOMUTStringIdNewClass(SOMUTStringId_MajorVersion, SOMUTStringId_MinorVersion), buf))

/*
 * Override method: somutSetIdId
 */
#define SOMUTStringId_somutSetIdId(somSelf,ev,otherId) \
	SOMUTId_somutSetIdId(somSelf,ev,otherId)

/*
 * Override method: somutEqualsId
 */
#define SOMUTStringId_somutEqualsId(somSelf,ev,otherId) \
	SOMUTId_somutEqualsId(somSelf,ev,otherId)

/*
 * Override method: somutCompareId
 */
#define SOMUTStringId_somutCompareId(somSelf,ev,otherId) \
	SOMUTId_somutCompareId(somSelf,ev,otherId)

/*
 * Override method: somutHashId
 */
#define SOMUTStringId_somutHashId(somSelf,ev) \
	SOMUTId_somutHashId(somSelf,ev)

/*
 * New Method: somutSetIdString
 */
typedef long   (SOMLINK * somTD_SOMUTStringId_somutSetIdString)(SOMUTStringId *somSelf, Environment *ev,
		string IdString);
#define somMD_SOMUTStringId_somutSetIdString "::SOMUTStringId::somutSetIdString"
#define SOMUTStringId_somutSetIdString(somSelf,ev,IdString) \
    (SOM_Resolve(somSelf, SOMUTStringId, somutSetIdString) \
	(somSelf,ev,IdString))
#ifndef SOMGD_somutSetIdString
    #if (defined(_somutSetIdString) || defined(__somutSetIdString))
        #undef _somutSetIdString
        #undef __somutSetIdString
        #define SOMGD_somutSetIdString 1
    #else
        #define _somutSetIdString SOMUTStringId_somutSetIdString
    #endif /* _somutSetIdString */
#endif /* SOMGD_somutSetIdString */

/*
 * New Method: somutGetIdString
 */
typedef string   (SOMLINK * somTD_SOMUTStringId_somutGetIdString)(SOMUTStringId *somSelf, Environment *ev,
		string toBuffer);
#define somMD_SOMUTStringId_somutGetIdString "::SOMUTStringId::somutGetIdString"
#define SOMUTStringId_somutGetIdString(somSelf,ev,toBuffer) \
    (SOM_Resolve(somSelf, SOMUTStringId, somutGetIdString) \
	(somSelf,ev,toBuffer))
#ifndef SOMGD_somutGetIdString
    #if (defined(_somutGetIdString) || defined(__somutGetIdString))
        #undef _somutGetIdString
        #undef __somutGetIdString
        #define SOMGD_somutGetIdString 1
    #else
        #define _somutGetIdString SOMUTStringId_somutGetIdString
    #endif /* _somutGetIdString */
#endif /* SOMGD_somutGetIdString */

/*
 * New Method: somutGetIdStringLen
 */
typedef long   (SOMLINK * somTD_SOMUTStringId_somutGetIdStringLen)(SOMUTStringId *somSelf, Environment *ev);
#define somMD_SOMUTStringId_somutGetIdStringLen "::SOMUTStringId::somutGetIdStringLen"
#define SOMUTStringId_somutGetIdStringLen(somSelf,ev) \
    (SOM_Resolve(somSelf, SOMUTStringId, somutGetIdStringLen) \
	(somSelf,ev))
#ifndef SOMGD_somutGetIdStringLen
    #if (defined(_somutGetIdStringLen) || defined(__somutGetIdStringLen))
        #undef _somutGetIdStringLen
        #undef __somutGetIdStringLen
        #define SOMGD_somutGetIdStringLen 1
    #else
        #define _somutGetIdStringLen SOMUTStringId_somutGetIdStringLen
    #endif /* _somutGetIdStringLen */
#endif /* SOMGD_somutGetIdStringLen */

/*
 * New Method: somutEqualsString
 */
typedef boolean   (SOMLINK * somTD_SOMUTStringId_somutEqualsString)(SOMUTStringId *somSelf, Environment *ev,
		string IdString);
#define somMD_SOMUTStringId_somutEqualsString "::SOMUTStringId::somutEqualsString"
#define SOMUTStringId_somutEqualsString(somSelf,ev,IdString) \
    (SOM_Resolve(somSelf, SOMUTStringId, somutEqualsString) \
	(somSelf,ev,IdString))
#ifndef SOMGD_somutEqualsString
    #if (defined(_somutEqualsString) || defined(__somutEqualsString))
        #undef _somutEqualsString
        #undef __somutEqualsString
        #define SOMGD_somutEqualsString 1
    #else
        #define _somutEqualsString SOMUTStringId_somutEqualsString
    #endif /* _somutEqualsString */
#endif /* SOMGD_somutEqualsString */

/*
 * New Method: somutCompareString
 */
typedef short   (SOMLINK * somTD_SOMUTStringId_somutCompareString)(SOMUTStringId *somSelf, Environment *ev,
		string IdString);
#define somMD_SOMUTStringId_somutCompareString "::SOMUTStringId::somutCompareString"
#define SOMUTStringId_somutCompareString(somSelf,ev,IdString) \
    (SOM_Resolve(somSelf, SOMUTStringId, somutCompareString) \
	(somSelf,ev,IdString))
#ifndef SOMGD_somutCompareString
    #if (defined(_somutCompareString) || defined(__somutCompareString))
        #undef _somutCompareString
        #undef __somutCompareString
        #define SOMGD_somutCompareString 1
    #else
        #define _somutCompareString SOMUTStringId_somutCompareString
    #endif /* _somutCompareString */
#endif /* SOMGD_somutCompareString */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define SOMUTStringId_somDefaultInit SOMObject_somDefaultInit
#define SOMUTStringId_somDestruct SOMObject_somDestruct
#define SOMUTStringId_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define SOMUTStringId_somDefaultAssign SOMObject_somDefaultAssign
#define SOMUTStringId_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define SOMUTStringId_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define SOMUTStringId_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define SOMUTStringId_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define SOMUTStringId_somDefaultVAssign SOMObject_somDefaultVAssign
#define SOMUTStringId_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define SOMUTStringId_somInit SOMObject_somInit
#define SOMUTStringId_somFree SOMObject_somFree
#define SOMUTStringId_somUninit SOMObject_somUninit
#define SOMUTStringId_somGetClass SOMObject_somGetClass
#define SOMUTStringId_somGetClassName SOMObject_somGetClassName
#define SOMUTStringId_somGetSize SOMObject_somGetSize
#define SOMUTStringId_somIsA SOMObject_somIsA
#define SOMUTStringId_somIsInstanceOf SOMObject_somIsInstanceOf
#define SOMUTStringId_somRespondsTo SOMObject_somRespondsTo
#define SOMUTStringId_somDispatch SOMObject_somDispatch
#define SOMUTStringId_somClassDispatch SOMObject_somClassDispatch
#define SOMUTStringId_somCastObj SOMObject_somCastObj
#define SOMUTStringId_somResetObj SOMObject_somResetObj
#define SOMUTStringId_somDispatchV SOMObject_somDispatchV
#define SOMUTStringId_somDispatchL SOMObject_somDispatchL
#define SOMUTStringId_somDispatchA SOMObject_somDispatchA
#define SOMUTStringId_somDispatchD SOMObject_somDispatchD
#define SOMUTStringId_somPrintSelf SOMObject_somPrintSelf
#define SOMUTStringId_somDumpSelf SOMObject_somDumpSelf
#define SOMUTStringId_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_SOMUTStringId_h */
