
/*
 * This file was generated by the SOM Compiler.
 * FileName: somstrt.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_SOMStringTableC_h
#define SOM_SOMStringTableC_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 SOMStringTableCClassData (*resolve_SOMStringTableCClassData())
#define SOMStringTableCCClassData (*resolve_SOMStringTableCCClassData())

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

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

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

/*
 * Passthru lines: File: "C.h", "after"
 */
extern char * SOMLINK somstDupStr(char *str);

#define SOMStringTableC_MajorVersion 2
#define SOMStringTableC_MinorVersion 1

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define SOMStringTableCNewClass c
#define SOMStringTableCClassData d
#define SOMStringTableCCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define SOMStringTableC_classObj SOMStringTableCClassData.classObject
#define _SOMStringTableC SOMStringTableC_classObj

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

/*
 * Declare the class data structure
 */
SOMEXTERN struct SOMStringTableCClassDataStructure {
	SOMClass *classObject;
	somMToken _get_somstTargetCapacity;
	somMToken _set_somstTargetCapacity;
	somMToken _get_somstAssociationsCount;
	somMToken somstAssociate;
	somMToken somstAssociateCopyKey;
	somMToken somstAssociateCopyValue;
	somMToken somstAssociateCopyBoth;
	somMToken somstGetAssociation;
	somMToken somstClearAssociation;
	somMToken somstGetIthKey;
	somMToken somstGetIthValue;
}  _SOMStringTableCClassData;
SOMEXTERN struct SOMStringTableCClassDataStructure * SOMLINK resolve_SOMStringTableCClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct SOMStringTableCCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _SOMStringTableCCClassData;
SOMEXTERN struct SOMStringTableCCClassDataStructure * SOMLINK resolve_SOMStringTableCCClassData(void);

/*
 * New and Renew macros for SOMStringTableC
 */
#define SOMStringTableCNew() \
   (_somNew(_SOMStringTableC ? _SOMStringTableC : SOMStringTableCNewClass(SOMStringTableC_MajorVersion, SOMStringTableC_MinorVersion)))
#define SOMStringTableCRenew(buf) \
   (_somRenew(_SOMStringTableC ? _SOMStringTableC : SOMStringTableCNewClass(SOMStringTableC_MajorVersion, SOMStringTableC_MinorVersion), buf))

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

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

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

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

/*
 * New Method: _get_somstTargetCapacity
 */
typedef unsigned long   (SOMLINK * somTD_SOMStringTableC__get_somstTargetCapacity)(SOMStringTableC *somSelf);
#define somMD_SOMStringTableC__get_somstTargetCapacity "::SOMStringTableC::somstTargetCapacity"
#define SOMStringTableC__get_somstTargetCapacity(somSelf) \
    (SOM_Resolve(somSelf, SOMStringTableC, _get_somstTargetCapacity) \
	(somSelf))
#ifndef SOMGD_get_somstTargetCapacity
    #if (defined(_get_somstTargetCapacity) || defined(__get_somstTargetCapacity))
        #undef _get_somstTargetCapacity
        #undef __get_somstTargetCapacity
        #define SOMGD_get_somstTargetCapacity 1
    #else
        #define __get_somstTargetCapacity SOMStringTableC__get_somstTargetCapacity
    #endif /* __get_somstTargetCapacity */
#endif /* SOMGD_get_somstTargetCapacity */

/*
 * New Method: _set_somstTargetCapacity
 */
typedef void   (SOMLINK * somTD_SOMStringTableC__set_somstTargetCapacity)(SOMStringTableC *somSelf,
		unsigned long somstTargetCapacity);
#define somMD_SOMStringTableC__set_somstTargetCapacity "::SOMStringTableC::somstTargetCapacity"
#define SOMStringTableC__set_somstTargetCapacity(somSelf,somstTargetCapacity) \
    (SOM_Resolve(somSelf, SOMStringTableC, _set_somstTargetCapacity) \
	(somSelf,somstTargetCapacity))
#ifndef SOMGD_set_somstTargetCapacity
    #if (defined(_set_somstTargetCapacity) || defined(__set_somstTargetCapacity))
        #undef _set_somstTargetCapacity
        #undef __set_somstTargetCapacity
        #define SOMGD_set_somstTargetCapacity 1
    #else
        #define __set_somstTargetCapacity SOMStringTableC__set_somstTargetCapacity
    #endif /* __set_somstTargetCapacity */
#endif /* SOMGD_set_somstTargetCapacity */

/*
 * New Method: _get_somstAssociationsCount
 */
typedef unsigned long   (SOMLINK * somTD_SOMStringTableC__get_somstAssociationsCount)(SOMStringTableC *somSelf);
#define somMD_SOMStringTableC__get_somstAssociationsCount "::SOMStringTableC::somstAssociationsCount"
#define SOMStringTableC__get_somstAssociationsCount(somSelf) \
    (SOM_Resolve(somSelf, SOMStringTableC, _get_somstAssociationsCount) \
	(somSelf))
#ifndef SOMGD_get_somstAssociationsCount
    #if (defined(_get_somstAssociationsCount) || defined(__get_somstAssociationsCount))
        #undef _get_somstAssociationsCount
        #undef __get_somstAssociationsCount
        #define SOMGD_get_somstAssociationsCount 1
    #else
        #define __get_somstAssociationsCount SOMStringTableC__get_somstAssociationsCount
    #endif /* __get_somstAssociationsCount */
#endif /* SOMGD_get_somstAssociationsCount */

/*
 * New Method: somstAssociate
 */
typedef short   (SOMLINK * somTD_SOMStringTableC_somstAssociate)(SOMStringTableC *somSelf,
		string key,
		string value);
#define somMD_SOMStringTableC_somstAssociate "::SOMStringTableC::somstAssociate"
#define SOMStringTableC_somstAssociate(somSelf,key,value) \
    (SOM_Resolve(somSelf, SOMStringTableC, somstAssociate) \
	(somSelf,key,value))
#ifndef SOMGD_somstAssociate
    #if (defined(_somstAssociate) || defined(__somstAssociate))
        #undef _somstAssociate
        #undef __somstAssociate
        #define SOMGD_somstAssociate 1
    #else
        #define _somstAssociate SOMStringTableC_somstAssociate
    #endif /* _somstAssociate */
#endif /* SOMGD_somstAssociate */

/*
 * New Method: somstAssociateCopyKey
 */
typedef short   (SOMLINK * somTD_SOMStringTableC_somstAssociateCopyKey)(SOMStringTableC *somSelf,
		string key,
		string value);
#define somMD_SOMStringTableC_somstAssociateCopyKey "::SOMStringTableC::somstAssociateCopyKey"
#define SOMStringTableC_somstAssociateCopyKey(somSelf,key,value) \
    (SOM_Resolve(somSelf, SOMStringTableC, somstAssociateCopyKey) \
	(somSelf,key,value))
#ifndef SOMGD_somstAssociateCopyKey
    #if (defined(_somstAssociateCopyKey) || defined(__somstAssociateCopyKey))
        #undef _somstAssociateCopyKey
        #undef __somstAssociateCopyKey
        #define SOMGD_somstAssociateCopyKey 1
    #else
        #define _somstAssociateCopyKey SOMStringTableC_somstAssociateCopyKey
    #endif /* _somstAssociateCopyKey */
#endif /* SOMGD_somstAssociateCopyKey */

/*
 * New Method: somstAssociateCopyValue
 */
typedef short   (SOMLINK * somTD_SOMStringTableC_somstAssociateCopyValue)(SOMStringTableC *somSelf,
		string key,
		string value);
#define somMD_SOMStringTableC_somstAssociateCopyValue "::SOMStringTableC::somstAssociateCopyValue"
#define SOMStringTableC_somstAssociateCopyValue(somSelf,key,value) \
    (SOM_Resolve(somSelf, SOMStringTableC, somstAssociateCopyValue) \
	(somSelf,key,value))
#ifndef SOMGD_somstAssociateCopyValue
    #if (defined(_somstAssociateCopyValue) || defined(__somstAssociateCopyValue))
        #undef _somstAssociateCopyValue
        #undef __somstAssociateCopyValue
        #define SOMGD_somstAssociateCopyValue 1
    #else
        #define _somstAssociateCopyValue SOMStringTableC_somstAssociateCopyValue
    #endif /* _somstAssociateCopyValue */
#endif /* SOMGD_somstAssociateCopyValue */

/*
 * New Method: somstAssociateCopyBoth
 */
typedef short   (SOMLINK * somTD_SOMStringTableC_somstAssociateCopyBoth)(SOMStringTableC *somSelf,
		string key,
		string value);
#define somMD_SOMStringTableC_somstAssociateCopyBoth "::SOMStringTableC::somstAssociateCopyBoth"
#define SOMStringTableC_somstAssociateCopyBoth(somSelf,key,value) \
    (SOM_Resolve(somSelf, SOMStringTableC, somstAssociateCopyBoth) \
	(somSelf,key,value))
#ifndef SOMGD_somstAssociateCopyBoth
    #if (defined(_somstAssociateCopyBoth) || defined(__somstAssociateCopyBoth))
        #undef _somstAssociateCopyBoth
        #undef __somstAssociateCopyBoth
        #define SOMGD_somstAssociateCopyBoth 1
    #else
        #define _somstAssociateCopyBoth SOMStringTableC_somstAssociateCopyBoth
    #endif /* _somstAssociateCopyBoth */
#endif /* SOMGD_somstAssociateCopyBoth */

/*
 * New Method: somstGetAssociation
 */
typedef string   (SOMLINK * somTD_SOMStringTableC_somstGetAssociation)(SOMStringTableC *somSelf,
		string key);
#define somMD_SOMStringTableC_somstGetAssociation "::SOMStringTableC::somstGetAssociation"
#define SOMStringTableC_somstGetAssociation(somSelf,key) \
    (SOM_Resolve(somSelf, SOMStringTableC, somstGetAssociation) \
	(somSelf,key))
#ifndef SOMGD_somstGetAssociation
    #if (defined(_somstGetAssociation) || defined(__somstGetAssociation))
        #undef _somstGetAssociation
        #undef __somstGetAssociation
        #define SOMGD_somstGetAssociation 1
    #else
        #define _somstGetAssociation SOMStringTableC_somstGetAssociation
    #endif /* _somstGetAssociation */
#endif /* SOMGD_somstGetAssociation */

/*
 * New Method: somstClearAssociation
 */
typedef boolean   (SOMLINK * somTD_SOMStringTableC_somstClearAssociation)(SOMStringTableC *somSelf,
		string key);
#define somMD_SOMStringTableC_somstClearAssociation "::SOMStringTableC::somstClearAssociation"
#define SOMStringTableC_somstClearAssociation(somSelf,key) \
    (SOM_Resolve(somSelf, SOMStringTableC, somstClearAssociation) \
	(somSelf,key))
#ifndef SOMGD_somstClearAssociation
    #if (defined(_somstClearAssociation) || defined(__somstClearAssociation))
        #undef _somstClearAssociation
        #undef __somstClearAssociation
        #define SOMGD_somstClearAssociation 1
    #else
        #define _somstClearAssociation SOMStringTableC_somstClearAssociation
    #endif /* _somstClearAssociation */
#endif /* SOMGD_somstClearAssociation */

/*
 * New Method: somstGetIthKey
 */
typedef string   (SOMLINK * somTD_SOMStringTableC_somstGetIthKey)(SOMStringTableC *somSelf,
		unsigned long i);
#define somMD_SOMStringTableC_somstGetIthKey "::SOMStringTableC::somstGetIthKey"
#define SOMStringTableC_somstGetIthKey(somSelf,i) \
    (SOM_Resolve(somSelf, SOMStringTableC, somstGetIthKey) \
	(somSelf,i))
#ifndef SOMGD_somstGetIthKey
    #if (defined(_somstGetIthKey) || defined(__somstGetIthKey))
        #undef _somstGetIthKey
        #undef __somstGetIthKey
        #define SOMGD_somstGetIthKey 1
    #else
        #define _somstGetIthKey SOMStringTableC_somstGetIthKey
    #endif /* _somstGetIthKey */
#endif /* SOMGD_somstGetIthKey */

/*
 * New Method: somstGetIthValue
 */
typedef string   (SOMLINK * somTD_SOMStringTableC_somstGetIthValue)(SOMStringTableC *somSelf,
		unsigned long i);
#define somMD_SOMStringTableC_somstGetIthValue "::SOMStringTableC::somstGetIthValue"
#define SOMStringTableC_somstGetIthValue(somSelf,i) \
    (SOM_Resolve(somSelf, SOMStringTableC, somstGetIthValue) \
	(somSelf,i))
#ifndef SOMGD_somstGetIthValue
    #if (defined(_somstGetIthValue) || defined(__somstGetIthValue))
        #undef _somstGetIthValue
        #undef __somstGetIthValue
        #define SOMGD_somstGetIthValue 1
    #else
        #define _somstGetIthValue SOMStringTableC_somstGetIthValue
    #endif /* _somstGetIthValue */
#endif /* SOMGD_somstGetIthValue */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define SOMStringTableC_somDefaultInit SOMObject_somDefaultInit
#define SOMStringTableC_somDestruct SOMObject_somDestruct
#define SOMStringTableC_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define SOMStringTableC_somDefaultAssign SOMObject_somDefaultAssign
#define SOMStringTableC_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define SOMStringTableC_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define SOMStringTableC_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define SOMStringTableC_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define SOMStringTableC_somDefaultVAssign SOMObject_somDefaultVAssign
#define SOMStringTableC_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define SOMStringTableC_somFree SOMObject_somFree
#define SOMStringTableC_somGetClass SOMObject_somGetClass
#define SOMStringTableC_somGetClassName SOMObject_somGetClassName
#define SOMStringTableC_somGetSize SOMObject_somGetSize
#define SOMStringTableC_somIsA SOMObject_somIsA
#define SOMStringTableC_somIsInstanceOf SOMObject_somIsInstanceOf
#define SOMStringTableC_somRespondsTo SOMObject_somRespondsTo
#define SOMStringTableC_somDispatch SOMObject_somDispatch
#define SOMStringTableC_somClassDispatch SOMObject_somClassDispatch
#define SOMStringTableC_somCastObj SOMObject_somCastObj
#define SOMStringTableC_somResetObj SOMObject_somResetObj
#define SOMStringTableC_somDispatchV SOMObject_somDispatchV
#define SOMStringTableC_somDispatchL SOMObject_somDispatchL
#define SOMStringTableC_somDispatchA SOMObject_somDispatchA
#define SOMStringTableC_somDispatchD SOMObject_somDispatchD
#define SOMStringTableC_somDumpSelf SOMObject_somDumpSelf
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_SOMStringTableC_h */
