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

/*
 * 
 *  Scalar Types
 * 
 * 
 *  Classes defined in this interface
 * 
 */


#ifndef SOM_ODValueNameSpace_h
#define SOM_ODValueNameSpace_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 ODValueNameSpaceClassData (*resolve_ODValueNameSpaceClassData())
#define ODValueNameSpaceCClassData (*resolve_ODValueNameSpaceCClassData())

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

/*
 * Start of user-defined types:
 */
#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */
#ifndef ODObject
    #define ODObject SOMObject
#endif /* ODObject */
#ifndef ODExtension
    #define ODExtension SOMObject
#endif /* ODExtension */
#ifndef ODNameSpace
    #define ODNameSpace SOMObject
#endif /* ODNameSpace */
#ifndef ODNameSpaceManager
    #define ODNameSpaceManager SOMObject
#endif /* ODNameSpaceManager */
#ifndef ODSession
    #define ODSession SOMObject
#endif /* ODSession */
#ifndef ODStorageUnitView
    #define ODStorageUnitView SOMObject
#endif /* ODStorageUnitView */
#ifndef PlatformFile
    #define PlatformFile SOMObject
#endif /* PlatformFile */
#ifndef ODValueNameSpace
    #define ODValueNameSpace SOMObject
#endif /* ODValueNameSpace */
#ifndef ODValueIterator
    #define ODValueIterator SOMObject
#endif /* ODValueIterator */

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

#define ODValueNameSpace_MajorVersion 1
#define ODValueNameSpace_MinorVersion 0

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define ODValueNameSpaceNewClass c
#define ODValueNameSpaceClassData d
#define ODValueNameSpaceCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define ODValueNameSpace_classObj ODValueNameSpaceClassData.classObject
#define _ODValueNameSpace ODValueNameSpace_classObj

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

/*
 * Declare the class data structure
 */
SOMEXTERN struct ODValueNameSpaceClassDataStructure {
	SOMClass *classObject;
	somMToken InitValueNameSpace;
	somMToken Register;
	somMToken GetEntry;
	somMToken CreateIterator;
	somMToken Write;
	somMToken Read;
}  _ODValueNameSpaceClassData;
SOMEXTERN struct ODValueNameSpaceClassDataStructure * SOMLINK resolve_ODValueNameSpaceClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct ODValueNameSpaceCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _ODValueNameSpaceCClassData;
SOMEXTERN struct ODValueNameSpaceCClassDataStructure * SOMLINK resolve_ODValueNameSpaceCClassData(void);

/*
 * New and Renew macros for ODValueNameSpace
 */
#define ODValueNameSpaceNew() \
   (_somNew(_ODValueNameSpace ? _ODValueNameSpace : ODValueNameSpaceNewClass(ODValueNameSpace_MajorVersion, ODValueNameSpace_MinorVersion)))
#define ODValueNameSpaceRenew(buf) \
   (_somRenew(_ODValueNameSpace ? _ODValueNameSpace : ODValueNameSpaceNewClass(ODValueNameSpace_MajorVersion, ODValueNameSpace_MinorVersion), buf))

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

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

/*
 * Override method: Purge
 */
#define ODValueNameSpace_Purge(somSelf,ev,size) \
	ODObject_Purge(somSelf,ev,size)

/*
 * Override method: WriteToFile
 */
#define ODValueNameSpace_WriteToFile(somSelf,ev,file) \
	ODNameSpace_WriteToFile(somSelf,ev,file)

/*
 * Override method: ReadFromFile
 */
#define ODValueNameSpace_ReadFromFile(somSelf,ev,file) \
	ODNameSpace_ReadFromFile(somSelf,ev,file)

/*
 * Override method: WriteToStorage
 */
#define ODValueNameSpace_WriteToStorage(somSelf,ev,view) \
	ODNameSpace_WriteToStorage(somSelf,ev,view)

/*
 * Override method: ReadFromStorage
 */
#define ODValueNameSpace_ReadFromStorage(somSelf,ev,view) \
	ODNameSpace_ReadFromStorage(somSelf,ev,view)

/*
 * New Method: InitValueNameSpace
 */
typedef void   (SOMLINK * somTD_ODValueNameSpace_InitValueNameSpace)(ODValueNameSpace *somSelf, Environment *ev,
		ODNameSpaceManager* mgr,
		ODNameSpace* parent,
		ODULong numExpectedEntries,
		ODISOStr name);
#define somMD_ODValueNameSpace_InitValueNameSpace "::ODValueNameSpace::InitValueNameSpace"
#define ODValueNameSpace_InitValueNameSpace(somSelf,ev,mgr,parent,numExpectedEntries,name) \
    (SOM_Resolve(somSelf, ODValueNameSpace, InitValueNameSpace) \
	(somSelf,ev,mgr,parent,numExpectedEntries,name))
#ifndef SOMGD_InitValueNameSpace
    #if (defined(_InitValueNameSpace) || defined(__InitValueNameSpace))
        #undef _InitValueNameSpace
        #undef __InitValueNameSpace
        #define SOMGD_InitValueNameSpace 1
    #else
        #define _InitValueNameSpace ODValueNameSpace_InitValueNameSpace
    #endif /* _InitValueNameSpace */
#endif /* SOMGD_InitValueNameSpace */

/*
 * New Method: Register
 */
typedef void   (SOMLINK * somTD_ODValueNameSpace_Register)(ODValueNameSpace *somSelf, Environment *ev,
		ODISOStr key,
		ODPtr value,
		ODULong valueLength);
#define somMD_ODValueNameSpace_Register "::ODValueNameSpace::Register"
#define ODValueNameSpace_Register(somSelf,ev,key,value,valueLength) \
    (SOM_Resolve(somSelf, ODValueNameSpace, Register) \
	(somSelf,ev,key,value,valueLength))
#ifndef SOMGD_Register
    #if (defined(_Register) || defined(__Register))
        #undef _Register
        #undef __Register
        #define SOMGD_Register 1
    #else
        #define _Register ODValueNameSpace_Register
    #endif /* _Register */
#endif /* SOMGD_Register */

/*
 * New Method: GetEntry
 */
typedef ODBoolean   (SOMLINK * somTD_ODValueNameSpace_GetEntry)(ODValueNameSpace *somSelf, Environment *ev,
		ODISOStr key,
		ODPtr* value,
		ODULong* valLen);
#define somMD_ODValueNameSpace_GetEntry "::ODValueNameSpace::GetEntry"
#define ODValueNameSpace_GetEntry(somSelf,ev,key,value,valLen) \
    (SOM_Resolve(somSelf, ODValueNameSpace, GetEntry) \
	(somSelf,ev,key,value,valLen))
#ifndef SOMGD_GetEntry
    #if (defined(_GetEntry) || defined(__GetEntry))
        #undef _GetEntry
        #undef __GetEntry
        #define SOMGD_GetEntry 1
    #else
        #define _GetEntry ODValueNameSpace_GetEntry
    #endif /* _GetEntry */
#endif /* SOMGD_GetEntry */

/*
 * New Method: CreateIterator
 */
typedef ODValueIterator*   (SOMLINK * somTD_ODValueNameSpace_CreateIterator)(ODValueNameSpace *somSelf, Environment *ev);
#define somMD_ODValueNameSpace_CreateIterator "::ODValueNameSpace::CreateIterator"
#define ODValueNameSpace_CreateIterator(somSelf,ev) \
    (SOM_Resolve(somSelf, ODValueNameSpace, CreateIterator) \
	(somSelf,ev))
#ifndef SOMGD_CreateIterator
    #if (defined(_CreateIterator) || defined(__CreateIterator))
        #undef _CreateIterator
        #undef __CreateIterator
        #define SOMGD_CreateIterator 1
    #else
        #define _CreateIterator ODValueNameSpace_CreateIterator
    #endif /* _CreateIterator */
#endif /* SOMGD_CreateIterator */

/*
 * New Method: Write
 */
typedef void   (SOMLINK * somTD_ODValueNameSpace_Write)(ODValueNameSpace *somSelf, Environment *ev,
		PlatformFile* file,
		ODStorageUnitView* view);
#define somMD_ODValueNameSpace_Write "::ODValueNameSpace::Write"
#define ODValueNameSpace_Write(somSelf,ev,file,view) \
    (SOM_Resolve(somSelf, ODValueNameSpace, Write) \
	(somSelf,ev,file,view))
#ifndef SOMGD_Write
    #if (defined(_Write) || defined(__Write))
        #undef _Write
        #undef __Write
        #define SOMGD_Write 1
    #else
        #define _Write ODValueNameSpace_Write
    #endif /* _Write */
#endif /* SOMGD_Write */

/*
 * New Method: Read
 */
typedef void   (SOMLINK * somTD_ODValueNameSpace_Read)(ODValueNameSpace *somSelf, Environment *ev,
		PlatformFile* file,
		ODStorageUnitView* view);
#define somMD_ODValueNameSpace_Read "::ODValueNameSpace::Read"
#define ODValueNameSpace_Read(somSelf,ev,file,view) \
    (SOM_Resolve(somSelf, ODValueNameSpace, Read) \
	(somSelf,ev,file,view))
#ifndef SOMGD_Read
    #if (defined(_Read) || defined(__Read))
        #undef _Read
        #undef __Read
        #define SOMGD_Read 1
    #else
        #define _Read ODValueNameSpace_Read
    #endif /* _Read */
#endif /* SOMGD_Read */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ODValueNameSpace_GetName ODNameSpace_GetName
#define ODValueNameSpace_GetType ODNameSpace_GetType
#define ODValueNameSpace_GetParent ODNameSpace_GetParent
#define ODValueNameSpace_SetType ODNameSpace_SetType
#define ODValueNameSpace_Unregister ODNameSpace_Unregister
#define ODValueNameSpace_Exists ODNameSpace_Exists
#define ODValueNameSpace_InitNameSpace ODNameSpace_InitNameSpace
#define ODValueNameSpace_GetHashTable ODNameSpace_GetHashTable
#define ODValueNameSpace_GetNumEntries ODNameSpace_GetNumEntries
#define ODValueNameSpace_NotifyDying ODNameSpace_NotifyDying
#define ODValueNameSpace_InitObject ODObject_InitObject
#define ODValueNameSpace_IsInitialized ODObject_IsInitialized
#define ODValueNameSpace_HasExtension ODObject_HasExtension
#define ODValueNameSpace_GetExtension ODObject_GetExtension
#define ODValueNameSpace_ReleaseExtension ODObject_ReleaseExtension
#define ODValueNameSpace_IsEqualTo ODObject_IsEqualTo
#define ODValueNameSpace_SubClassResponsibility ODObject_SubClassResponsibility
#define ODValueNameSpace_somDefaultInit SOMObject_somDefaultInit
#define ODValueNameSpace_somDestruct SOMObject_somDestruct
#define ODValueNameSpace_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ODValueNameSpace_somDefaultAssign SOMObject_somDefaultAssign
#define ODValueNameSpace_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ODValueNameSpace_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ODValueNameSpace_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ODValueNameSpace_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ODValueNameSpace_somDefaultVAssign SOMObject_somDefaultVAssign
#define ODValueNameSpace_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ODValueNameSpace_somFree SOMObject_somFree
#define ODValueNameSpace_somGetClass SOMObject_somGetClass
#define ODValueNameSpace_somGetClassName SOMObject_somGetClassName
#define ODValueNameSpace_somGetSize SOMObject_somGetSize
#define ODValueNameSpace_somIsA SOMObject_somIsA
#define ODValueNameSpace_somIsInstanceOf SOMObject_somIsInstanceOf
#define ODValueNameSpace_somRespondsTo SOMObject_somRespondsTo
#define ODValueNameSpace_somDispatch SOMObject_somDispatch
#define ODValueNameSpace_somClassDispatch SOMObject_somClassDispatch
#define ODValueNameSpace_somCastObj SOMObject_somCastObj
#define ODValueNameSpace_somResetObj SOMObject_somResetObj
#define ODValueNameSpace_somDispatchV SOMObject_somDispatchV
#define ODValueNameSpace_somDispatchL SOMObject_somDispatchL
#define ODValueNameSpace_somDispatchA SOMObject_somDispatchA
#define ODValueNameSpace_somDispatchD SOMObject_somDispatchD
#define ODValueNameSpace_somPrintSelf SOMObject_somPrintSelf
#define ODValueNameSpace_somDumpSelf SOMObject_somDumpSelf
#define ODValueNameSpace_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ODValueNameSpace_h */
