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

/*
 *    COMPONENT_NAME: somu
 * 
 *    ORIGINS: 27
 * 
 * 
 *     25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1996,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.
 * 
 */


#ifndef SOM_SOMUTStringId_h
#define SOM_SOMUTStringId_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_somu_somsid
#ifdef SOM_DLL_somu
	/* export semantics */
	#if defined(SOM_DEFFILE_somu)\
	||(defined(SOM_DEFFILE_BY_DEFAULT)&&!defined(SOM_NODEFFILE_somu))\
	|| !defined(SOM_Module_somsid_Source)
	#define SOM_IMPORTEXPORT_somu_somsid
	#else
	#define SOM_IMPORTEXPORT_somu_somsid SOMDLLEXPORT
	#endif
#else
	#define SOM_IMPORTEXPORT_somu_somsid 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 SOMUTStringId
#define SOMUTStringId SOMObject
#endif
/*
 *  This is the abstract base class for an ASCIIZ string (an ASCII string
 *  terminated with a zero) based ID. Refer to derived classes for details.
 * 
 *  Intances of classes derived from this one should represent a string
 *  value which can be used to identify something... such as an object,
 *  a file, a network node, etc, etc...
 * 
 */

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

/*
 * Start of bindings for IDL types
 */

#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */

/*
 * End of bindings for IDL types.
 */

#define SOMUTStringId_MajorVersion 2
#define SOMUTStringId_MinorVersion 1

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

/*
 * Declare the ABI 2 ClassData structure
 */
SOMEXTERN struct SOMUTStringIdClassDataStructure {
	SOMClass classObject;
	somMToken somutSetIdString;
	somMToken somutGetIdString;
	somMToken somutGetIdStringLen;
	somMToken somutEqualsString;
	somMToken somutCompareString;
} SOM_IMPORTEXPORT_somu_somsid SOMDLINK SOMUTStringIdClassData;

/*
 * Declare the ABI 2 CClassData structure
 */
SOMEXTERN struct SOMUTStringIdCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOM_IMPORTEXPORT_somu_somsid SOMDLINK SOMUTStringIdCClassData;

/*
 * Class Object and Method Token Macros
 */
#define _SOMCLASS_SOMUTStringId (SOMUTStringIdClassData.classObject)
#ifndef SOMGD_SOMUTStringId
    #if (defined(_SOMUTStringId) || defined(__SOMUTStringId))
        #undef _SOMUTStringId
        #undef __SOMUTStringId
        #define SOMGD_SOMUTStringId 1
    #else
        #define _SOMUTStringId _SOMCLASS_SOMUTStringId
    #endif /* _SOMUTStringId */
#endif /* SOMGD_SOMUTStringId */
#define SOMUTStringId_classObj _SOMCLASS_SOMUTStringId
#define _SOMMTOKEN_SOMUTStringId(method) ((somMToken)SOMUTStringIdClassData.method)

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

/*
 * New Method: somutSetIdString
 */
typedef long   SOMLINK somTP_SOMUTStringId_somutSetIdString(SOMUTStringId somSelf, Environment *ev, 
		string IdString);
typedef somTP_SOMUTStringId_somutSetIdString *somTD_SOMUTStringId_somutSetIdString;
/*
 *  Sets the ID to the given string.
 *  Returns nonzero error code if given IdString is not syntactically correct.
 */
#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 somTP_SOMUTStringId_somutGetIdString(SOMUTStringId somSelf, Environment *ev, 
		string toBuffer);
typedef somTP_SOMUTStringId_somutGetIdString *somTD_SOMUTStringId_somutGetIdString;
/*
 *  Stores the ID as a string into the given buffer <toBuffer> and
 *  returns the buffer <toBuffer>.
 *  Use somutGetIdStringLen to determine appropriate <toBuffer> size.
 */
#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 somTP_SOMUTStringId_somutGetIdStringLen(SOMUTStringId somSelf, Environment *ev);
typedef somTP_SOMUTStringId_somutGetIdStringLen *somTD_SOMUTStringId_somutGetIdStringLen;
/*
 *  Returns the length of the ID string.
 */
#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 somTP_SOMUTStringId_somutEqualsString(SOMUTStringId somSelf, Environment *ev, 
		string IdString);
typedef somTP_SOMUTStringId_somutEqualsString *somTD_SOMUTStringId_somutEqualsString;
/*
 *  Checks to see if this object's ID is equivalent to the given string.
 *  Returns TRUE if the ID is equivalent to the string, FALSE otherwise.
 */
#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 somTP_SOMUTStringId_somutCompareString(SOMUTStringId somSelf, Environment *ev, 
		string IdString);
typedef somTP_SOMUTStringId_somutCompareString *somTD_SOMUTStringId_somutCompareString;
/*
 *  Performs an ordered comparison with the given string.
 *  If this ID < IdString -1 is returned.
 *  If this ID = IdString  0 is returned.
 *  If this ID > IdString  1 is returned.
 */
#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 */

/*
 * Full Names for Inherited Methods
 */
/* overridden methods */
#define SOMUTStringId_somutSetIdId SOMUTId_somutSetIdId
#define SOMUTStringId_somutEqualsId SOMUTId_somutEqualsId
#define SOMUTStringId_somutCompareId SOMUTId_somutCompareId
#define SOMUTStringId_somutHashId SOMUTId_somutHashId

#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_somUninit SOMObject_somUninit
#define SOMUTStringId_somFree SOMObject_somFree
#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_somPrintSelf SOMObject_somPrintSelf
#define SOMUTStringId_somDumpSelf SOMObject_somDumpSelf
#define SOMUTStringId_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_SOMUTStringId_h */
