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

/*
 * 
 *  Classes defined in this interface
 * 
 */


#ifndef SOM_CMStorageUnit_h
#define SOM_CMStorageUnit_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 CMStorageUnitClassData (*resolve_CMStorageUnitClassData())
#define CMStorageUnitCClassData (*resolve_CMStorageUnitCClassData())

/*
 * Define the class name as an object type
 */
#ifndef CMStorageUnit
#define CMStorageUnit SOMObject
#endif
#include <StorageU.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 ODRefCntObject
    #define ODRefCntObject SOMObject
#endif /* ODRefCntObject */
#ifndef ODStorageUnit
    #define ODStorageUnit SOMObject
#endif /* ODStorageUnit */
#ifndef ODDraft
    #define ODDraft SOMObject
#endif /* ODDraft */
#ifndef ODSession
    #define ODSession SOMObject
#endif /* ODSession */
#ifndef ODPart
    #define ODPart SOMObject
#endif /* ODPart */
#ifndef ODStorageUnitCursor
    #define ODStorageUnitCursor SOMObject
#endif /* ODStorageUnitCursor */
#ifndef ODStorageUnitView
    #define ODStorageUnitView SOMObject
#endif /* ODStorageUnitView */
#ifndef ODStorageUnitRefIterator
    #define ODStorageUnitRefIterator SOMObject
#endif /* ODStorageUnitRefIterator */
#ifndef CMStorageUnit
    #define CMStorageUnit SOMObject
#endif /* CMStorageUnit */
#ifndef CMDraft
    #define CMDraft SOMObject
#endif /* CMDraft */

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

#define CMStorageUnit_MajorVersion 0
#define CMStorageUnit_MinorVersion 0

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define CMStorageUnitNewClass c
#define CMStorageUnitClassData d
#define CMStorageUnitCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define CMStorageUnit_classObj CMStorageUnitClassData.classObject
#define _CMStorageUnit CMStorageUnit_classObj

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

/*
 * Declare the class data structure
 */
SOMEXTERN struct CMStorageUnitClassDataStructure {
	SOMClass *classObject;
	somMToken SetChangedFromPrevFlag;
	somMToken GetCMContainer;
	somMToken CleanupAndFail;
	somMToken GetStorageUnitRef;
	somMToken GetNextStorageUnitRef;
	somMToken SetStorageUnitRef;
	somMToken GetHeap;
	somMToken GetObjectID;
	somMToken GetCurValue;
	somMToken SetCurValue;
	somMToken GetCurProperty;
	somMToken GetCurType;
	somMToken SetCurType;
	somMToken GetObject;
}  _CMStorageUnitClassData;
SOMEXTERN struct CMStorageUnitClassDataStructure * SOMLINK resolve_CMStorageUnitClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct CMStorageUnitCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _CMStorageUnitCClassData;
SOMEXTERN struct CMStorageUnitCClassDataStructure * SOMLINK resolve_CMStorageUnitCClassData(void);

/*
 * New and Renew macros for CMStorageUnit
 */
#define CMStorageUnitNew() \
   (_somNew(_CMStorageUnit ? _CMStorageUnit : CMStorageUnitNewClass(CMStorageUnit_MajorVersion, CMStorageUnit_MinorVersion)))
#define CMStorageUnitRenew(buf) \
   (_somRenew(_CMStorageUnit ? _CMStorageUnit : CMStorageUnitNewClass(CMStorageUnit_MajorVersion, CMStorageUnit_MinorVersion), buf))

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

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

/*
 * Override method: IncrementRefCount
 */
#define CMStorageUnit_IncrementRefCount(somSelf,ev) \
	ODRefCntObject_IncrementRefCount(somSelf,ev)

/*
 * Override method: Release
 */
#define CMStorageUnit_Release(somSelf,ev) \
	ODRefCntObject_Release(somSelf,ev)

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

/*
 * Override method: InitStorageUnit
 */
#define CMStorageUnit_InitStorageUnit(somSelf,ev,draft,suid) \
	ODStorageUnit_InitStorageUnit(somSelf,ev,draft,suid)

/*
 * Override method: GetDraft
 */
#define CMStorageUnit_GetDraft(somSelf,ev) \
	ODStorageUnit_GetDraft(somSelf,ev)

/*
 * Override method: GetSession
 */
#define CMStorageUnit_GetSession(somSelf,ev) \
	ODStorageUnit_GetSession(somSelf,ev)

/*
 * Override method: Exists
 */
#define CMStorageUnit_Exists(somSelf,ev,propertyName,valueType,valueIndex) \
	ODStorageUnit_Exists(somSelf,ev,propertyName,valueType,valueIndex)

/*
 * Override method: ExistsWithCursor
 */
#define CMStorageUnit_ExistsWithCursor(somSelf,ev,cursor) \
	ODStorageUnit_ExistsWithCursor(somSelf,ev,cursor)

/*
 * Override method: CountProperties
 */
#define CMStorageUnit_CountProperties(somSelf,ev) \
	ODStorageUnit_CountProperties(somSelf,ev)

/*
 * Override method: CountValues
 */
#define CMStorageUnit_CountValues(somSelf,ev) \
	ODStorageUnit_CountValues(somSelf,ev)

/*
 * Override method: Focus
 */
#define CMStorageUnit_Focus(somSelf,ev,propertyName,propertyPosCode,valueType,valueIndex,valuePosCode) \
	ODStorageUnit_Focus(somSelf,ev,propertyName,propertyPosCode,valueType,valueIndex,valuePosCode)

/*
 * Override method: FocusWithCursor
 */
#define CMStorageUnit_FocusWithCursor(somSelf,ev,cursor) \
	ODStorageUnit_FocusWithCursor(somSelf,ev,cursor)

/*
 * Override method: Externalize
 */
#define CMStorageUnit_Externalize(somSelf,ev) \
	ODStorageUnit_Externalize(somSelf,ev)

/*
 * Override method: Internalize
 */
#define CMStorageUnit_Internalize(somSelf,ev) \
	ODStorageUnit_Internalize(somSelf,ev)

/*
 * Override method: GetID
 */
#define CMStorageUnit_GetID(somSelf,ev) \
	ODStorageUnit_GetID(somSelf,ev)

/*
 * Override method: GetName
 */
#define CMStorageUnit_GetName(somSelf,ev) \
	ODStorageUnit_GetName(somSelf,ev)

/*
 * Override method: SetName
 */
#define CMStorageUnit_SetName(somSelf,ev,name) \
	ODStorageUnit_SetName(somSelf,ev,name)

/*
 * Override method: AddProperty
 */
#define CMStorageUnit_AddProperty(somSelf,ev,propertyName) \
	ODStorageUnit_AddProperty(somSelf,ev,propertyName)

/*
 * Override method: AddValue
 */
#define CMStorageUnit_AddValue(somSelf,ev,type) \
	ODStorageUnit_AddValue(somSelf,ev,type)

/*
 * Override method: Remove
 */
#define CMStorageUnit_Remove(somSelf,ev) \
	ODStorageUnit_Remove(somSelf,ev)

/*
 * Override method: CopyTo
 */
#define CMStorageUnit_CopyTo(somSelf,ev,toSU) \
	ODStorageUnit_CopyTo(somSelf,ev,toSU)

/*
 * Override method: CloneInto
 */
#define CMStorageUnit_CloneInto(somSelf,ev,key,destStorageUnit,scopeID) \
	ODStorageUnit_CloneInto(somSelf,ev,key,destStorageUnit,scopeID)

/*
 * Override method: CreateView
 */
#define CMStorageUnit_CreateView(somSelf,ev) \
	ODStorageUnit_CreateView(somSelf,ev)

/*
 * Override method: CreateCursor
 */
#define CMStorageUnit_CreateCursor(somSelf,ev,propertyName,valueType,valueIndex) \
	ODStorageUnit_CreateCursor(somSelf,ev,propertyName,valueType,valueIndex)

/*
 * Override method: CreateCursorWithFocus
 */
#define CMStorageUnit_CreateCursorWithFocus(somSelf,ev) \
	ODStorageUnit_CreateCursorWithFocus(somSelf,ev)

/*
 * Override method: GetProperty
 */
#define CMStorageUnit_GetProperty(somSelf,ev) \
	ODStorageUnit_GetProperty(somSelf,ev)

/*
 * Override method: GetType
 */
#define CMStorageUnit_GetType(somSelf,ev) \
	ODStorageUnit_GetType(somSelf,ev)

/*
 * Override method: SetType
 */
#define CMStorageUnit_SetType(somSelf,ev,valueType) \
	ODStorageUnit_SetType(somSelf,ev,valueType)

/*
 * Override method: SetOffset
 */
#define CMStorageUnit_SetOffset(somSelf,ev,offset) \
	ODStorageUnit_SetOffset(somSelf,ev,offset)

/*
 * Override method: GetOffset
 */
#define CMStorageUnit_GetOffset(somSelf,ev) \
	ODStorageUnit_GetOffset(somSelf,ev)

/*
 * Override method: GetValue
 */
#define CMStorageUnit_GetValue(somSelf,ev,length,value) \
	ODStorageUnit_GetValue(somSelf,ev,length,value)

/*
 * Override method: GetULongValue
 */
#define CMStorageUnit_GetULongValue(somSelf,ev,length,value) \
	ODStorageUnit_GetULongValue(somSelf,ev,length,value)

/*
 * Override method: SetValue
 */
#define CMStorageUnit_SetValue(somSelf,ev,length,value) \
	ODStorageUnit_SetValue(somSelf,ev,length,value)

/*
 * Override method: SetULongValue
 */
#define CMStorageUnit_SetULongValue(somSelf,ev,length,value) \
	ODStorageUnit_SetULongValue(somSelf,ev,length,value)

/*
 * Override method: InsertValue
 */
#define CMStorageUnit_InsertValue(somSelf,ev,length,value) \
	ODStorageUnit_InsertValue(somSelf,ev,length,value)

/*
 * Override method: DeleteValue
 */
#define CMStorageUnit_DeleteValue(somSelf,ev,length) \
	ODStorageUnit_DeleteValue(somSelf,ev,length)

/*
 * Override method: GetSize
 */
#define CMStorageUnit_GetSize(somSelf,ev) \
	ODStorageUnit_GetSize(somSelf,ev)

/*
 * Override method: IsValidStorageUnitRef
 */
#define CMStorageUnit_IsValidStorageUnitRef(somSelf,ev,aRef) \
	ODStorageUnit_IsValidStorageUnitRef(somSelf,ev,aRef)

/*
 * Override method: GetStrongStorageUnitRef
 */
#define CMStorageUnit_GetStrongStorageUnitRef(somSelf,ev,embeddedSUID) \
	ODStorageUnit_GetStrongStorageUnitRef(somSelf,ev,embeddedSUID)

/*
 * Override method: GetWeakStorageUnitRef
 */
#define CMStorageUnit_GetWeakStorageUnitRef(somSelf,ev,embeddedSUID) \
	ODStorageUnit_GetWeakStorageUnitRef(somSelf,ev,embeddedSUID)

/*
 * Override method: IsStrongStorageUnitRef
 */
#define CMStorageUnit_IsStrongStorageUnitRef(somSelf,ev,ref) \
	ODStorageUnit_IsStrongStorageUnitRef(somSelf,ev,ref)

/*
 * Override method: IsWeakStorageUnitRef
 */
#define CMStorageUnit_IsWeakStorageUnitRef(somSelf,ev,ref) \
	ODStorageUnit_IsWeakStorageUnitRef(somSelf,ev,ref)

/*
 * Override method: RemoveStorageUnitRef
 */
#define CMStorageUnit_RemoveStorageUnitRef(somSelf,ev,aRef) \
	ODStorageUnit_RemoveStorageUnitRef(somSelf,ev,aRef)

/*
 * Override method: GetIDFromStorageUnitRef
 */
#define CMStorageUnit_GetIDFromStorageUnitRef(somSelf,ev,aRef) \
	ODStorageUnit_GetIDFromStorageUnitRef(somSelf,ev,aRef)

/*
 * Override method: CreateStorageUnitRefIterator
 */
#define CMStorageUnit_CreateStorageUnitRefIterator(somSelf,ev) \
	ODStorageUnit_CreateStorageUnitRefIterator(somSelf,ev)

/*
 * Override method: GetGenerationNumber
 */
#define CMStorageUnit_GetGenerationNumber(somSelf,ev) \
	ODStorageUnit_GetGenerationNumber(somSelf,ev)

/*
 * Override method: IncrementGenerationNumber
 */
#define CMStorageUnit_IncrementGenerationNumber(somSelf,ev) \
	ODStorageUnit_IncrementGenerationNumber(somSelf,ev)

/*
 * Override method: IsPromiseValue
 */
#define CMStorageUnit_IsPromiseValue(somSelf,ev) \
	ODStorageUnit_IsPromiseValue(somSelf,ev)

/*
 * Override method: SetPromiseValue
 */
#define CMStorageUnit_SetPromiseValue(somSelf,ev,valueType,offset,length,value,sourcePart) \
	ODStorageUnit_SetPromiseValue(somSelf,ev,valueType,offset,length,value,sourcePart)

/*
 * Override method: GetPromiseValue
 */
#define CMStorageUnit_GetPromiseValue(somSelf,ev,valueType,offset,length,value,sourcePart) \
	ODStorageUnit_GetPromiseValue(somSelf,ev,valueType,offset,length,value,sourcePart)

/*
 * Override method: ClearAllPromises
 */
#define CMStorageUnit_ClearAllPromises(somSelf,ev) \
	ODStorageUnit_ClearAllPromises(somSelf,ev)

/*
 * Override method: ResolveAllPromises
 */
#define CMStorageUnit_ResolveAllPromises(somSelf,ev) \
	ODStorageUnit_ResolveAllPromises(somSelf,ev)

/*
 * Override method: Lock
 */
#define CMStorageUnit_Lock(somSelf,ev,key) \
	ODStorageUnit_Lock(somSelf,ev,key)

/*
 * Override method: Unlock
 */
#define CMStorageUnit_Unlock(somSelf,ev,key) \
	ODStorageUnit_Unlock(somSelf,ev,key)

/*
 * New Method: SetChangedFromPrevFlag
 */
typedef void   (SOMLINK * somTD_CMStorageUnit_SetChangedFromPrevFlag)(CMStorageUnit *somSelf, Environment *ev,
		ODBoolean changed);
#define somMD_CMStorageUnit_SetChangedFromPrevFlag "::CMStorageUnit::SetChangedFromPrevFlag"
#define CMStorageUnit_SetChangedFromPrevFlag(somSelf,ev,changed) \
    (SOM_Resolve(somSelf, CMStorageUnit, SetChangedFromPrevFlag) \
	(somSelf,ev,changed))
#ifndef SOMGD_SetChangedFromPrevFlag
    #if (defined(_SetChangedFromPrevFlag) || defined(__SetChangedFromPrevFlag))
        #undef _SetChangedFromPrevFlag
        #undef __SetChangedFromPrevFlag
        #define SOMGD_SetChangedFromPrevFlag 1
    #else
        #define _SetChangedFromPrevFlag CMStorageUnit_SetChangedFromPrevFlag
    #endif /* _SetChangedFromPrevFlag */
#endif /* SOMGD_SetChangedFromPrevFlag */

/*
 * New Method: GetCMContainer
 */
typedef CMContainer   (SOMLINK * somTD_CMStorageUnit_GetCMContainer)(CMStorageUnit *somSelf, Environment *ev);
#define somMD_CMStorageUnit_GetCMContainer "::CMStorageUnit::GetCMContainer"
#define CMStorageUnit_GetCMContainer(somSelf,ev) \
    (SOM_Resolve(somSelf, CMStorageUnit, GetCMContainer) \
	(somSelf,ev))
#ifndef SOMGD_GetCMContainer
    #if (defined(_GetCMContainer) || defined(__GetCMContainer))
        #undef _GetCMContainer
        #undef __GetCMContainer
        #define SOMGD_GetCMContainer 1
    #else
        #define _GetCMContainer CMStorageUnit_GetCMContainer
    #endif /* _GetCMContainer */
#endif /* SOMGD_GetCMContainer */

/*
 * New Method: CleanupAndFail
 */
typedef void   (SOMLINK * somTD_CMStorageUnit_CleanupAndFail)(CMStorageUnit *somSelf, Environment *ev,
		ODError err);
#define somMD_CMStorageUnit_CleanupAndFail "::CMStorageUnit::CleanupAndFail"
#define CMStorageUnit_CleanupAndFail(somSelf,ev,err) \
    (SOM_Resolve(somSelf, CMStorageUnit, CleanupAndFail) \
	(somSelf,ev,err))
#ifndef SOMGD_CleanupAndFail
    #if (defined(_CleanupAndFail) || defined(__CleanupAndFail))
        #undef _CleanupAndFail
        #undef __CleanupAndFail
        #define SOMGD_CleanupAndFail 1
    #else
        #define _CleanupAndFail CMStorageUnit_CleanupAndFail
    #endif /* _CleanupAndFail */
#endif /* SOMGD_CleanupAndFail */

/*
 * New Method: GetStorageUnitRef
 */
typedef ODStorageUnitRef   (SOMLINK * somTD_CMStorageUnit_GetStorageUnitRef)(CMStorageUnit *somSelf, Environment *ev,
		ODStorageUnitID embeddedSUID,
		ODBoolean strong);
#define somMD_CMStorageUnit_GetStorageUnitRef "::CMStorageUnit::GetStorageUnitRef"
#define CMStorageUnit_GetStorageUnitRef(somSelf,ev,embeddedSUID,strong) \
    (SOM_Resolve(somSelf, CMStorageUnit, GetStorageUnitRef) \
	(somSelf,ev,embeddedSUID,strong))
#ifndef SOMGD_GetStorageUnitRef
    #if (defined(_GetStorageUnitRef) || defined(__GetStorageUnitRef))
        #undef _GetStorageUnitRef
        #undef __GetStorageUnitRef
        #define SOMGD_GetStorageUnitRef 1
    #else
        #define _GetStorageUnitRef CMStorageUnit_GetStorageUnitRef
    #endif /* _GetStorageUnitRef */
#endif /* SOMGD_GetStorageUnitRef */

/*
 * New Method: GetNextStorageUnitRef
 */
typedef ODStorageUnitRef   (SOMLINK * somTD_CMStorageUnit_GetNextStorageUnitRef)(CMStorageUnit *somSelf, Environment *ev);
#define somMD_CMStorageUnit_GetNextStorageUnitRef "::CMStorageUnit::GetNextStorageUnitRef"
#define CMStorageUnit_GetNextStorageUnitRef(somSelf,ev) \
    (SOM_Resolve(somSelf, CMStorageUnit, GetNextStorageUnitRef) \
	(somSelf,ev))
#ifndef SOMGD_GetNextStorageUnitRef
    #if (defined(_GetNextStorageUnitRef) || defined(__GetNextStorageUnitRef))
        #undef _GetNextStorageUnitRef
        #undef __GetNextStorageUnitRef
        #define SOMGD_GetNextStorageUnitRef 1
    #else
        #define _GetNextStorageUnitRef CMStorageUnit_GetNextStorageUnitRef
    #endif /* _GetNextStorageUnitRef */
#endif /* SOMGD_GetNextStorageUnitRef */

/*
 * New Method: SetStorageUnitRef
 */
typedef ODStorageUnitRef   (SOMLINK * somTD_CMStorageUnit_SetStorageUnitRef)(CMStorageUnit *somSelf, Environment *ev,
		ODStorageUnitID embeddedSUID,
		ODStorageUnitRef ref);
#define somMD_CMStorageUnit_SetStorageUnitRef "::CMStorageUnit::SetStorageUnitRef"
#define CMStorageUnit_SetStorageUnitRef(somSelf,ev,embeddedSUID,ref) \
    (SOM_Resolve(somSelf, CMStorageUnit, SetStorageUnitRef) \
	(somSelf,ev,embeddedSUID,ref))
#ifndef SOMGD_SetStorageUnitRef
    #if (defined(_SetStorageUnitRef) || defined(__SetStorageUnitRef))
        #undef _SetStorageUnitRef
        #undef __SetStorageUnitRef
        #define SOMGD_SetStorageUnitRef 1
    #else
        #define _SetStorageUnitRef CMStorageUnit_SetStorageUnitRef
    #endif /* _SetStorageUnitRef */
#endif /* SOMGD_SetStorageUnitRef */

/*
 * New Method: GetHeap
 */
typedef ODMemoryHeapID   (SOMLINK * somTD_CMStorageUnit_GetHeap)(CMStorageUnit *somSelf, Environment *ev);
#define somMD_CMStorageUnit_GetHeap "::CMStorageUnit::GetHeap"
#define CMStorageUnit_GetHeap(somSelf,ev) \
    (SOM_Resolve(somSelf, CMStorageUnit, GetHeap) \
	(somSelf,ev))
#ifndef SOMGD_GetHeap
    #if (defined(_GetHeap) || defined(__GetHeap))
        #undef _GetHeap
        #undef __GetHeap
        #define SOMGD_GetHeap 1
    #else
        #define _GetHeap CMStorageUnit_GetHeap
    #endif /* _GetHeap */
#endif /* SOMGD_GetHeap */

/*
 * New Method: GetObjectID
 */
typedef ODID   (SOMLINK * somTD_CMStorageUnit_GetObjectID)(CMStorageUnit *somSelf, Environment *ev);
#define somMD_CMStorageUnit_GetObjectID "::CMStorageUnit::GetObjectID"
#define CMStorageUnit_GetObjectID(somSelf,ev) \
    (SOM_Resolve(somSelf, CMStorageUnit, GetObjectID) \
	(somSelf,ev))
#ifndef SOMGD_GetObjectID
    #if (defined(_GetObjectID) || defined(__GetObjectID))
        #undef _GetObjectID
        #undef __GetObjectID
        #define SOMGD_GetObjectID 1
    #else
        #define _GetObjectID CMStorageUnit_GetObjectID
    #endif /* _GetObjectID */
#endif /* SOMGD_GetObjectID */

/*
 * New Method: GetCurValue
 */
typedef CMValue   (SOMLINK * somTD_CMStorageUnit_GetCurValue)(CMStorageUnit *somSelf, Environment *ev);
#define somMD_CMStorageUnit_GetCurValue "::CMStorageUnit::GetCurValue"
#define CMStorageUnit_GetCurValue(somSelf,ev) \
    (SOM_Resolve(somSelf, CMStorageUnit, GetCurValue) \
	(somSelf,ev))
#ifndef SOMGD_GetCurValue
    #if (defined(_GetCurValue) || defined(__GetCurValue))
        #undef _GetCurValue
        #undef __GetCurValue
        #define SOMGD_GetCurValue 1
    #else
        #define _GetCurValue CMStorageUnit_GetCurValue
    #endif /* _GetCurValue */
#endif /* SOMGD_GetCurValue */

/*
 * New Method: SetCurValue
 */
typedef void   (SOMLINK * somTD_CMStorageUnit_SetCurValue)(CMStorageUnit *somSelf, Environment *ev,
		CMValue curValue);
#define somMD_CMStorageUnit_SetCurValue "::CMStorageUnit::SetCurValue"
#define CMStorageUnit_SetCurValue(somSelf,ev,curValue) \
    (SOM_Resolve(somSelf, CMStorageUnit, SetCurValue) \
	(somSelf,ev,curValue))
#ifndef SOMGD_SetCurValue
    #if (defined(_SetCurValue) || defined(__SetCurValue))
        #undef _SetCurValue
        #undef __SetCurValue
        #define SOMGD_SetCurValue 1
    #else
        #define _SetCurValue CMStorageUnit_SetCurValue
    #endif /* _SetCurValue */
#endif /* SOMGD_SetCurValue */

/*
 * New Method: GetCurProperty
 */
typedef CMProperty   (SOMLINK * somTD_CMStorageUnit_GetCurProperty)(CMStorageUnit *somSelf, Environment *ev);
#define somMD_CMStorageUnit_GetCurProperty "::CMStorageUnit::GetCurProperty"
#define CMStorageUnit_GetCurProperty(somSelf,ev) \
    (SOM_Resolve(somSelf, CMStorageUnit, GetCurProperty) \
	(somSelf,ev))
#ifndef SOMGD_GetCurProperty
    #if (defined(_GetCurProperty) || defined(__GetCurProperty))
        #undef _GetCurProperty
        #undef __GetCurProperty
        #define SOMGD_GetCurProperty 1
    #else
        #define _GetCurProperty CMStorageUnit_GetCurProperty
    #endif /* _GetCurProperty */
#endif /* SOMGD_GetCurProperty */

/*
 * New Method: GetCurType
 */
typedef CMType   (SOMLINK * somTD_CMStorageUnit_GetCurType)(CMStorageUnit *somSelf, Environment *ev);
#define somMD_CMStorageUnit_GetCurType "::CMStorageUnit::GetCurType"
#define CMStorageUnit_GetCurType(somSelf,ev) \
    (SOM_Resolve(somSelf, CMStorageUnit, GetCurType) \
	(somSelf,ev))
#ifndef SOMGD_GetCurType
    #if (defined(_GetCurType) || defined(__GetCurType))
        #undef _GetCurType
        #undef __GetCurType
        #define SOMGD_GetCurType 1
    #else
        #define _GetCurType CMStorageUnit_GetCurType
    #endif /* _GetCurType */
#endif /* SOMGD_GetCurType */

/*
 * New Method: SetCurType
 */
typedef void   (SOMLINK * somTD_CMStorageUnit_SetCurType)(CMStorageUnit *somSelf, Environment *ev,
		CMType curType);
#define somMD_CMStorageUnit_SetCurType "::CMStorageUnit::SetCurType"
#define CMStorageUnit_SetCurType(somSelf,ev,curType) \
    (SOM_Resolve(somSelf, CMStorageUnit, SetCurType) \
	(somSelf,ev,curType))
#ifndef SOMGD_SetCurType
    #if (defined(_SetCurType) || defined(__SetCurType))
        #undef _SetCurType
        #undef __SetCurType
        #define SOMGD_SetCurType 1
    #else
        #define _SetCurType CMStorageUnit_SetCurType
    #endif /* _SetCurType */
#endif /* SOMGD_SetCurType */

/*
 * New Method: GetObject
 */
typedef CMObject   (SOMLINK * somTD_CMStorageUnit_GetObject)(CMStorageUnit *somSelf, Environment *ev);
#define somMD_CMStorageUnit_GetObject "::CMStorageUnit::GetObject"
#define CMStorageUnit_GetObject(somSelf,ev) \
    (SOM_Resolve(somSelf, CMStorageUnit, GetObject) \
	(somSelf,ev))
#ifndef SOMGD_GetObject
    #if (defined(_GetObject) || defined(__GetObject))
        #undef _GetObject
        #undef __GetObject
        #define SOMGD_GetObject 1
    #else
        #define _GetObject CMStorageUnit_GetObject
    #endif /* _GetObject */
#endif /* SOMGD_GetObject */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define CMStorageUnit_InitRefCntObject ODRefCntObject_InitRefCntObject
#define CMStorageUnit_GetRefCount ODRefCntObject_GetRefCount
#define CMStorageUnit_InitObject ODObject_InitObject
#define CMStorageUnit_IsInitialized ODObject_IsInitialized
#define CMStorageUnit_HasExtension ODObject_HasExtension
#define CMStorageUnit_GetExtension ODObject_GetExtension
#define CMStorageUnit_ReleaseExtension ODObject_ReleaseExtension
#define CMStorageUnit_IsEqualTo ODObject_IsEqualTo
#define CMStorageUnit_SubClassResponsibility ODObject_SubClassResponsibility
#define CMStorageUnit_somDefaultInit SOMObject_somDefaultInit
#define CMStorageUnit_somDestruct SOMObject_somDestruct
#define CMStorageUnit_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define CMStorageUnit_somDefaultAssign SOMObject_somDefaultAssign
#define CMStorageUnit_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define CMStorageUnit_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define CMStorageUnit_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define CMStorageUnit_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define CMStorageUnit_somDefaultVAssign SOMObject_somDefaultVAssign
#define CMStorageUnit_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define CMStorageUnit_somFree SOMObject_somFree
#define CMStorageUnit_somGetClass SOMObject_somGetClass
#define CMStorageUnit_somGetClassName SOMObject_somGetClassName
#define CMStorageUnit_somGetSize SOMObject_somGetSize
#define CMStorageUnit_somIsA SOMObject_somIsA
#define CMStorageUnit_somIsInstanceOf SOMObject_somIsInstanceOf
#define CMStorageUnit_somRespondsTo SOMObject_somRespondsTo
#define CMStorageUnit_somDispatch SOMObject_somDispatch
#define CMStorageUnit_somClassDispatch SOMObject_somClassDispatch
#define CMStorageUnit_somCastObj SOMObject_somCastObj
#define CMStorageUnit_somResetObj SOMObject_somResetObj
#define CMStorageUnit_somDispatchV SOMObject_somDispatchV
#define CMStorageUnit_somDispatchL SOMObject_somDispatchL
#define CMStorageUnit_somDispatchA SOMObject_somDispatchA
#define CMStorageUnit_somDispatchD SOMObject_somDispatchD
#define CMStorageUnit_somPrintSelf SOMObject_somPrintSelf
#define CMStorageUnit_somDumpSelf SOMObject_somDumpSelf
#define CMStorageUnit_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_CMStorageUnit_h */
