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

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


#ifndef SOM_ODStorageUnit_h
#define SOM_ODStorageUnit_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 ODStorageUnitClassData (*resolve_ODStorageUnitClassData())
#define ODStorageUnitCClassData (*resolve_ODStorageUnitCClassData())

/*
 * Define the class name as an object type
 */
#ifndef ODStorageUnit
#define ODStorageUnit SOMObject
#endif
#include <RefCtObj.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 */

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

#define ODStorageUnit_MajorVersion 0
#define ODStorageUnit_MinorVersion 0

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define ODStorageUnitNewClass c
#define ODStorageUnitClassData d
#define ODStorageUnitCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define ODStorageUnit_classObj ODStorageUnitClassData.classObject
#define _ODStorageUnit ODStorageUnit_classObj

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

/*
 * Declare the class data structure
 */
SOMEXTERN struct ODStorageUnitClassDataStructure {
	SOMClass *classObject;
	somMToken InitStorageUnit;
	somMToken GetDraft;
	somMToken GetSession;
	somMToken Exists;
	somMToken ExistsWithCursor;
	somMToken CountProperties;
	somMToken CountValues;
	somMToken Focus;
	somMToken FocusWithCursor;
	somMToken Externalize;
	somMToken Internalize;
	somMToken GetID;
	somMToken GetName;
	somMToken SetName;
	somMToken AddProperty;
	somMToken AddValue;
	somMToken Remove;
	somMToken CopyTo;
	somMToken CloneInto;
	somMToken CreateView;
	somMToken CreateCursor;
	somMToken CreateCursorWithFocus;
	somMToken GetProperty;
	somMToken GetType;
	somMToken SetType;
	somMToken SetOffset;
	somMToken GetOffset;
	somMToken GetValue;
	somMToken GetULongValue;
	somMToken SetValue;
	somMToken SetULongValue;
	somMToken InsertValue;
	somMToken DeleteValue;
	somMToken GetSize;
	somMToken IsValidStorageUnitRef;
	somMToken GetStrongStorageUnitRef;
	somMToken GetWeakStorageUnitRef;
	somMToken IsStrongStorageUnitRef;
	somMToken IsWeakStorageUnitRef;
	somMToken RemoveStorageUnitRef;
	somMToken GetIDFromStorageUnitRef;
	somMToken CreateStorageUnitRefIterator;
	somMToken GetGenerationNumber;
	somMToken IncrementGenerationNumber;
	somMToken IsPromiseValue;
	somMToken SetPromiseValue;
	somMToken GetPromiseValue;
	somMToken ClearAllPromises;
	somMToken ResolveAllPromises;
	somMToken Lock;
	somMToken Unlock;
}  _ODStorageUnitClassData;
SOMEXTERN struct ODStorageUnitClassDataStructure * SOMLINK resolve_ODStorageUnitClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct ODStorageUnitCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _ODStorageUnitCClassData;
SOMEXTERN struct ODStorageUnitCClassDataStructure * SOMLINK resolve_ODStorageUnitCClassData(void);

/*
 * New and Renew macros for ODStorageUnit
 */
#define ODStorageUnitNew() \
   (_somNew(_ODStorageUnit ? _ODStorageUnit : ODStorageUnitNewClass(ODStorageUnit_MajorVersion, ODStorageUnit_MinorVersion)))
#define ODStorageUnitRenew(buf) \
   (_somRenew(_ODStorageUnit ? _ODStorageUnit : ODStorageUnitNewClass(ODStorageUnit_MajorVersion, ODStorageUnit_MinorVersion), buf))

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

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

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

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

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

/*
 * New Method: InitStorageUnit
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_InitStorageUnit)(ODStorageUnit *somSelf, Environment *ev,
		ODDraft* draft,
		ODStorageUnitID suid);
#define somMD_ODStorageUnit_InitStorageUnit "::ODStorageUnit::InitStorageUnit"
#define ODStorageUnit_InitStorageUnit(somSelf,ev,draft,suid) \
    (SOM_Resolve(somSelf, ODStorageUnit, InitStorageUnit) \
	(somSelf,ev,draft,suid))
#ifndef SOMGD_InitStorageUnit
    #if (defined(_InitStorageUnit) || defined(__InitStorageUnit))
        #undef _InitStorageUnit
        #undef __InitStorageUnit
        #define SOMGD_InitStorageUnit 1
    #else
        #define _InitStorageUnit ODStorageUnit_InitStorageUnit
    #endif /* _InitStorageUnit */
#endif /* SOMGD_InitStorageUnit */

/*
 * New Method: GetDraft
 */
typedef ODDraft*   (SOMLINK * somTD_ODStorageUnit_GetDraft)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_GetDraft "::ODStorageUnit::GetDraft"
#define ODStorageUnit_GetDraft(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetDraft) \
	(somSelf,ev))
#ifndef SOMGD_GetDraft
    #if (defined(_GetDraft) || defined(__GetDraft))
        #undef _GetDraft
        #undef __GetDraft
        #define SOMGD_GetDraft 1
    #else
        #define _GetDraft ODStorageUnit_GetDraft
    #endif /* _GetDraft */
#endif /* SOMGD_GetDraft */

/*
 * New Method: GetSession
 */
typedef ODSession*   (SOMLINK * somTD_ODStorageUnit_GetSession)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_GetSession "::ODStorageUnit::GetSession"
#define ODStorageUnit_GetSession(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetSession) \
	(somSelf,ev))
#ifndef SOMGD_GetSession
    #if (defined(_GetSession) || defined(__GetSession))
        #undef _GetSession
        #undef __GetSession
        #define SOMGD_GetSession 1
    #else
        #define _GetSession ODStorageUnit_GetSession
    #endif /* _GetSession */
#endif /* SOMGD_GetSession */

/*
 * New Method: Exists
 */
typedef ODBoolean   (SOMLINK * somTD_ODStorageUnit_Exists)(ODStorageUnit *somSelf, Environment *ev,
		ODPropertyName propertyName,
		ODValueType valueType,
		ODValueIndex valueIndex);
#define somMD_ODStorageUnit_Exists "::ODStorageUnit::Exists"
#define ODStorageUnit_Exists(somSelf,ev,propertyName,valueType,valueIndex) \
    (SOM_Resolve(somSelf, ODStorageUnit, Exists) \
	(somSelf,ev,propertyName,valueType,valueIndex))
#ifndef SOMGD_Exists
    #if (defined(_Exists) || defined(__Exists))
        #undef _Exists
        #undef __Exists
        #define SOMGD_Exists 1
    #else
        #define _Exists ODStorageUnit_Exists
    #endif /* _Exists */
#endif /* SOMGD_Exists */

/*
 * New Method: ExistsWithCursor
 */
typedef ODBoolean   (SOMLINK * somTD_ODStorageUnit_ExistsWithCursor)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitCursor* cursor);
#define somMD_ODStorageUnit_ExistsWithCursor "::ODStorageUnit::ExistsWithCursor"
#define ODStorageUnit_ExistsWithCursor(somSelf,ev,cursor) \
    (SOM_Resolve(somSelf, ODStorageUnit, ExistsWithCursor) \
	(somSelf,ev,cursor))
#ifndef SOMGD_ExistsWithCursor
    #if (defined(_ExistsWithCursor) || defined(__ExistsWithCursor))
        #undef _ExistsWithCursor
        #undef __ExistsWithCursor
        #define SOMGD_ExistsWithCursor 1
    #else
        #define _ExistsWithCursor ODStorageUnit_ExistsWithCursor
    #endif /* _ExistsWithCursor */
#endif /* SOMGD_ExistsWithCursor */

/*
 * New Method: CountProperties
 */
typedef ODULong   (SOMLINK * somTD_ODStorageUnit_CountProperties)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_CountProperties "::ODStorageUnit::CountProperties"
#define ODStorageUnit_CountProperties(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, CountProperties) \
	(somSelf,ev))
#ifndef SOMGD_CountProperties
    #if (defined(_CountProperties) || defined(__CountProperties))
        #undef _CountProperties
        #undef __CountProperties
        #define SOMGD_CountProperties 1
    #else
        #define _CountProperties ODStorageUnit_CountProperties
    #endif /* _CountProperties */
#endif /* SOMGD_CountProperties */

/*
 * New Method: CountValues
 */
typedef ODULong   (SOMLINK * somTD_ODStorageUnit_CountValues)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_CountValues "::ODStorageUnit::CountValues"
#define ODStorageUnit_CountValues(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, CountValues) \
	(somSelf,ev))
#ifndef SOMGD_CountValues
    #if (defined(_CountValues) || defined(__CountValues))
        #undef _CountValues
        #undef __CountValues
        #define SOMGD_CountValues 1
    #else
        #define _CountValues ODStorageUnit_CountValues
    #endif /* _CountValues */
#endif /* SOMGD_CountValues */

/*
 * New Method: Focus
 */
typedef ODStorageUnit*   (SOMLINK * somTD_ODStorageUnit_Focus)(ODStorageUnit *somSelf, Environment *ev,
		ODPropertyName propertyName,
		ODPositionCode propertyPosCode,
		ODValueType valueType,
		ODValueIndex valueIndex,
		ODPositionCode valuePosCode);
#define somMD_ODStorageUnit_Focus "::ODStorageUnit::Focus"
#define ODStorageUnit_Focus(somSelf,ev,propertyName,propertyPosCode,valueType,valueIndex,valuePosCode) \
    (SOM_Resolve(somSelf, ODStorageUnit, Focus) \
	(somSelf,ev,propertyName,propertyPosCode,valueType,valueIndex,valuePosCode))
#ifndef SOMGD_Focus
    #if (defined(_Focus) || defined(__Focus))
        #undef _Focus
        #undef __Focus
        #define SOMGD_Focus 1
    #else
        #define _Focus ODStorageUnit_Focus
    #endif /* _Focus */
#endif /* SOMGD_Focus */

/*
 * New Method: FocusWithCursor
 */
typedef ODStorageUnit*   (SOMLINK * somTD_ODStorageUnit_FocusWithCursor)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitCursor* cursor);
#define somMD_ODStorageUnit_FocusWithCursor "::ODStorageUnit::FocusWithCursor"
#define ODStorageUnit_FocusWithCursor(somSelf,ev,cursor) \
    (SOM_Resolve(somSelf, ODStorageUnit, FocusWithCursor) \
	(somSelf,ev,cursor))
#ifndef SOMGD_FocusWithCursor
    #if (defined(_FocusWithCursor) || defined(__FocusWithCursor))
        #undef _FocusWithCursor
        #undef __FocusWithCursor
        #define SOMGD_FocusWithCursor 1
    #else
        #define _FocusWithCursor ODStorageUnit_FocusWithCursor
    #endif /* _FocusWithCursor */
#endif /* SOMGD_FocusWithCursor */

/*
 * New Method: Externalize
 */
typedef ODStorageUnit*   (SOMLINK * somTD_ODStorageUnit_Externalize)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_Externalize "::ODStorageUnit::Externalize"
#define ODStorageUnit_Externalize(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, Externalize) \
	(somSelf,ev))
#ifndef SOMGD_Externalize
    #if (defined(_Externalize) || defined(__Externalize))
        #undef _Externalize
        #undef __Externalize
        #define SOMGD_Externalize 1
    #else
        #define _Externalize ODStorageUnit_Externalize
    #endif /* _Externalize */
#endif /* SOMGD_Externalize */

/*
 * New Method: Internalize
 */
typedef ODStorageUnit*   (SOMLINK * somTD_ODStorageUnit_Internalize)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_Internalize "::ODStorageUnit::Internalize"
#define ODStorageUnit_Internalize(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, Internalize) \
	(somSelf,ev))
#ifndef SOMGD_Internalize
    #if (defined(_Internalize) || defined(__Internalize))
        #undef _Internalize
        #undef __Internalize
        #define SOMGD_Internalize 1
    #else
        #define _Internalize ODStorageUnit_Internalize
    #endif /* _Internalize */
#endif /* SOMGD_Internalize */

/*
 * New Method: GetID
 */
typedef ODID   (SOMLINK * somTD_ODStorageUnit_GetID)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_GetID "::ODStorageUnit::GetID"
#define ODStorageUnit_GetID(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetID) \
	(somSelf,ev))
#ifndef SOMGD_GetID
    #if (defined(_GetID) || defined(__GetID))
        #undef _GetID
        #undef __GetID
        #define SOMGD_GetID 1
    #else
        #define _GetID ODStorageUnit_GetID
    #endif /* _GetID */
#endif /* SOMGD_GetID */

/*
 * New Method: GetName
 */
typedef ODStorageUnitName   (SOMLINK * somTD_ODStorageUnit_GetName)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_GetName "::ODStorageUnit::GetName"
#define ODStorageUnit_GetName(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetName) \
	(somSelf,ev))
#ifndef SOMGD_GetName
    #if (defined(_GetName) || defined(__GetName))
        #undef _GetName
        #undef __GetName
        #define SOMGD_GetName 1
    #else
        #define _GetName ODStorageUnit_GetName
    #endif /* _GetName */
#endif /* SOMGD_GetName */

/*
 * New Method: SetName
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_SetName)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitName name);
#define somMD_ODStorageUnit_SetName "::ODStorageUnit::SetName"
#define ODStorageUnit_SetName(somSelf,ev,name) \
    (SOM_Resolve(somSelf, ODStorageUnit, SetName) \
	(somSelf,ev,name))
#ifndef SOMGD_SetName
    #if (defined(_SetName) || defined(__SetName))
        #undef _SetName
        #undef __SetName
        #define SOMGD_SetName 1
    #else
        #define _SetName ODStorageUnit_SetName
    #endif /* _SetName */
#endif /* SOMGD_SetName */

/*
 * New Method: AddProperty
 */
typedef ODStorageUnit*   (SOMLINK * somTD_ODStorageUnit_AddProperty)(ODStorageUnit *somSelf, Environment *ev,
		ODPropertyName propertyName);
#define somMD_ODStorageUnit_AddProperty "::ODStorageUnit::AddProperty"
#define ODStorageUnit_AddProperty(somSelf,ev,propertyName) \
    (SOM_Resolve(somSelf, ODStorageUnit, AddProperty) \
	(somSelf,ev,propertyName))
#ifndef SOMGD_AddProperty
    #if (defined(_AddProperty) || defined(__AddProperty))
        #undef _AddProperty
        #undef __AddProperty
        #define SOMGD_AddProperty 1
    #else
        #define _AddProperty ODStorageUnit_AddProperty
    #endif /* _AddProperty */
#endif /* SOMGD_AddProperty */

/*
 * New Method: AddValue
 */
typedef ODStorageUnit*   (SOMLINK * somTD_ODStorageUnit_AddValue)(ODStorageUnit *somSelf, Environment *ev,
		ODValueType type);
#define somMD_ODStorageUnit_AddValue "::ODStorageUnit::AddValue"
#define ODStorageUnit_AddValue(somSelf,ev,type) \
    (SOM_Resolve(somSelf, ODStorageUnit, AddValue) \
	(somSelf,ev,type))
#ifndef SOMGD_AddValue
    #if (defined(_AddValue) || defined(__AddValue))
        #undef _AddValue
        #undef __AddValue
        #define SOMGD_AddValue 1
    #else
        #define _AddValue ODStorageUnit_AddValue
    #endif /* _AddValue */
#endif /* SOMGD_AddValue */

/*
 * New Method: Remove
 */
typedef ODStorageUnit*   (SOMLINK * somTD_ODStorageUnit_Remove)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_Remove "::ODStorageUnit::Remove"
#define ODStorageUnit_Remove(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, Remove) \
	(somSelf,ev))
#ifndef SOMGD_Remove
    #if (defined(_Remove) || defined(__Remove))
        #undef _Remove
        #undef __Remove
        #define SOMGD_Remove 1
    #else
        #define _Remove ODStorageUnit_Remove
    #endif /* _Remove */
#endif /* SOMGD_Remove */

/*
 * New Method: CopyTo
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_CopyTo)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnit* toSU);
#define somMD_ODStorageUnit_CopyTo "::ODStorageUnit::CopyTo"
#define ODStorageUnit_CopyTo(somSelf,ev,toSU) \
    (SOM_Resolve(somSelf, ODStorageUnit, CopyTo) \
	(somSelf,ev,toSU))
#ifndef SOMGD_CopyTo
    #if (defined(_CopyTo) || defined(__CopyTo))
        #undef _CopyTo
        #undef __CopyTo
        #define SOMGD_CopyTo 1
    #else
        #define _CopyTo ODStorageUnit_CopyTo
    #endif /* _CopyTo */
#endif /* SOMGD_CopyTo */

/*
 * New Method: CloneInto
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_CloneInto)(ODStorageUnit *somSelf, Environment *ev,
		ODDraftKey key,
		ODStorageUnit* destStorageUnit,
		ODID scopeID);
#define somMD_ODStorageUnit_CloneInto "::ODStorageUnit::CloneInto"
#define ODStorageUnit_CloneInto(somSelf,ev,key,destStorageUnit,scopeID) \
    (SOM_Resolve(somSelf, ODStorageUnit, CloneInto) \
	(somSelf,ev,key,destStorageUnit,scopeID))
#ifndef SOMGD_CloneInto
    #if (defined(_CloneInto) || defined(__CloneInto))
        #undef _CloneInto
        #undef __CloneInto
        #define SOMGD_CloneInto 1
    #else
        #define _CloneInto ODStorageUnit_CloneInto
    #endif /* _CloneInto */
#endif /* SOMGD_CloneInto */

/*
 * New Method: CreateView
 */
typedef ODStorageUnitView*   (SOMLINK * somTD_ODStorageUnit_CreateView)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_CreateView "::ODStorageUnit::CreateView"
#define ODStorageUnit_CreateView(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, CreateView) \
	(somSelf,ev))
#ifndef SOMGD_CreateView
    #if (defined(_CreateView) || defined(__CreateView))
        #undef _CreateView
        #undef __CreateView
        #define SOMGD_CreateView 1
    #else
        #define _CreateView ODStorageUnit_CreateView
    #endif /* _CreateView */
#endif /* SOMGD_CreateView */

/*
 * New Method: CreateCursorWithFocus
 */
typedef ODStorageUnitCursor*   (SOMLINK * somTD_ODStorageUnit_CreateCursorWithFocus)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_CreateCursorWithFocus "::ODStorageUnit::CreateCursorWithFocus"
#define ODStorageUnit_CreateCursorWithFocus(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, CreateCursorWithFocus) \
	(somSelf,ev))
#ifndef SOMGD_CreateCursorWithFocus
    #if (defined(_CreateCursorWithFocus) || defined(__CreateCursorWithFocus))
        #undef _CreateCursorWithFocus
        #undef __CreateCursorWithFocus
        #define SOMGD_CreateCursorWithFocus 1
    #else
        #define _CreateCursorWithFocus ODStorageUnit_CreateCursorWithFocus
    #endif /* _CreateCursorWithFocus */
#endif /* SOMGD_CreateCursorWithFocus */

/*
 * New Method: CreateCursor
 */
typedef ODStorageUnitCursor*   (SOMLINK * somTD_ODStorageUnit_CreateCursor)(ODStorageUnit *somSelf, Environment *ev,
		ODPropertyName propertyName,
		ODValueType valueType,
		ODValueIndex valueIndex);
#define somMD_ODStorageUnit_CreateCursor "::ODStorageUnit::CreateCursor"
#define ODStorageUnit_CreateCursor(somSelf,ev,propertyName,valueType,valueIndex) \
    (SOM_Resolve(somSelf, ODStorageUnit, CreateCursor) \
	(somSelf,ev,propertyName,valueType,valueIndex))
#ifndef SOMGD_CreateCursor
    #if (defined(_CreateCursor) || defined(__CreateCursor))
        #undef _CreateCursor
        #undef __CreateCursor
        #define SOMGD_CreateCursor 1
    #else
        #define _CreateCursor ODStorageUnit_CreateCursor
    #endif /* _CreateCursor */
#endif /* SOMGD_CreateCursor */

/*
 * New Method: GetProperty
 */
typedef ODPropertyName   (SOMLINK * somTD_ODStorageUnit_GetProperty)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_GetProperty "::ODStorageUnit::GetProperty"
#define ODStorageUnit_GetProperty(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetProperty) \
	(somSelf,ev))
#ifndef SOMGD_GetProperty
    #if (defined(_GetProperty) || defined(__GetProperty))
        #undef _GetProperty
        #undef __GetProperty
        #define SOMGD_GetProperty 1
    #else
        #define _GetProperty ODStorageUnit_GetProperty
    #endif /* _GetProperty */
#endif /* SOMGD_GetProperty */

/*
 * New Method: GetType
 */
typedef ODValueType   (SOMLINK * somTD_ODStorageUnit_GetType)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_GetType "::ODStorageUnit::GetType"
#define ODStorageUnit_GetType(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetType) \
	(somSelf,ev))
#ifndef SOMGD_GetType
    #if (defined(_GetType) || defined(__GetType))
        #undef _GetType
        #undef __GetType
        #define SOMGD_GetType 1
    #else
        #define _GetType ODStorageUnit_GetType
    #endif /* _GetType */
#endif /* SOMGD_GetType */

/*
 * New Method: SetType
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_SetType)(ODStorageUnit *somSelf, Environment *ev,
		ODValueType valueType);
#define somMD_ODStorageUnit_SetType "::ODStorageUnit::SetType"
#define ODStorageUnit_SetType(somSelf,ev,valueType) \
    (SOM_Resolve(somSelf, ODStorageUnit, SetType) \
	(somSelf,ev,valueType))
#ifndef SOMGD_SetType
    #if (defined(_SetType) || defined(__SetType))
        #undef _SetType
        #undef __SetType
        #define SOMGD_SetType 1
    #else
        #define _SetType ODStorageUnit_SetType
    #endif /* _SetType */
#endif /* SOMGD_SetType */

/*
 * New Method: SetOffset
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_SetOffset)(ODStorageUnit *somSelf, Environment *ev,
		ODULong offset);
#define somMD_ODStorageUnit_SetOffset "::ODStorageUnit::SetOffset"
#define ODStorageUnit_SetOffset(somSelf,ev,offset) \
    (SOM_Resolve(somSelf, ODStorageUnit, SetOffset) \
	(somSelf,ev,offset))
#ifndef SOMGD_SetOffset
    #if (defined(_SetOffset) || defined(__SetOffset))
        #undef _SetOffset
        #undef __SetOffset
        #define SOMGD_SetOffset 1
    #else
        #define _SetOffset ODStorageUnit_SetOffset
    #endif /* _SetOffset */
#endif /* SOMGD_SetOffset */

/*
 * New Method: GetOffset
 */
typedef ODULong   (SOMLINK * somTD_ODStorageUnit_GetOffset)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_GetOffset "::ODStorageUnit::GetOffset"
#define ODStorageUnit_GetOffset(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetOffset) \
	(somSelf,ev))
#ifndef SOMGD_GetOffset
    #if (defined(_GetOffset) || defined(__GetOffset))
        #undef _GetOffset
        #undef __GetOffset
        #define SOMGD_GetOffset 1
    #else
        #define _GetOffset ODStorageUnit_GetOffset
    #endif /* _GetOffset */
#endif /* SOMGD_GetOffset */

/*
 * New Method: GetValue
 */
typedef ODULong   (SOMLINK * somTD_ODStorageUnit_GetValue)(ODStorageUnit *somSelf, Environment *ev,
		ODULong length,
		ODValue value);
#define somMD_ODStorageUnit_GetValue "::ODStorageUnit::GetValue"
#define ODStorageUnit_GetValue(somSelf,ev,length,value) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetValue) \
	(somSelf,ev,length,value))
#ifndef SOMGD_GetValue
    #if (defined(_GetValue) || defined(__GetValue))
        #undef _GetValue
        #undef __GetValue
        #define SOMGD_GetValue 1
    #else
        #define _GetValue ODStorageUnit_GetValue
    #endif /* _GetValue */
#endif /* SOMGD_GetValue */

/*
 * New Method: GetULongValue
 */
typedef ODULong   (SOMLINK * somTD_ODStorageUnit_GetULongValue)(ODStorageUnit *somSelf, Environment *ev,
		ODULong length,
		ODValue value);
#define somMD_ODStorageUnit_GetULongValue "::ODStorageUnit::GetULongValue"
#define ODStorageUnit_GetULongValue(somSelf,ev,length,value) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetULongValue) \
	(somSelf,ev,length,value))
#ifndef SOMGD_GetULongValue
    #if (defined(_GetULongValue) || defined(__GetULongValue))
        #undef _GetULongValue
        #undef __GetULongValue
        #define SOMGD_GetULongValue 1
    #else
        #define _GetULongValue ODStorageUnit_GetULongValue
    #endif /* _GetULongValue */
#endif /* SOMGD_GetULongValue */

/*
 * New Method: SetValue
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_SetValue)(ODStorageUnit *somSelf, Environment *ev,
		ODULong length,
		ODValue value);
#define somMD_ODStorageUnit_SetValue "::ODStorageUnit::SetValue"
#define ODStorageUnit_SetValue(somSelf,ev,length,value) \
    (SOM_Resolve(somSelf, ODStorageUnit, SetValue) \
	(somSelf,ev,length,value))
#ifndef SOMGD_SetValue
    #if (defined(_SetValue) || defined(__SetValue))
        #undef _SetValue
        #undef __SetValue
        #define SOMGD_SetValue 1
    #else
        #define _SetValue ODStorageUnit_SetValue
    #endif /* _SetValue */
#endif /* SOMGD_SetValue */

/*
 * New Method: SetULongValue
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_SetULongValue)(ODStorageUnit *somSelf, Environment *ev,
		ODULong length,
		ODValue value);
#define somMD_ODStorageUnit_SetULongValue "::ODStorageUnit::SetULongValue"
#define ODStorageUnit_SetULongValue(somSelf,ev,length,value) \
    (SOM_Resolve(somSelf, ODStorageUnit, SetULongValue) \
	(somSelf,ev,length,value))
#ifndef SOMGD_SetULongValue
    #if (defined(_SetULongValue) || defined(__SetULongValue))
        #undef _SetULongValue
        #undef __SetULongValue
        #define SOMGD_SetULongValue 1
    #else
        #define _SetULongValue ODStorageUnit_SetULongValue
    #endif /* _SetULongValue */
#endif /* SOMGD_SetULongValue */

/*
 * New Method: InsertValue
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_InsertValue)(ODStorageUnit *somSelf, Environment *ev,
		ODULong length,
		ODValue value);
#define somMD_ODStorageUnit_InsertValue "::ODStorageUnit::InsertValue"
#define ODStorageUnit_InsertValue(somSelf,ev,length,value) \
    (SOM_Resolve(somSelf, ODStorageUnit, InsertValue) \
	(somSelf,ev,length,value))
#ifndef SOMGD_InsertValue
    #if (defined(_InsertValue) || defined(__InsertValue))
        #undef _InsertValue
        #undef __InsertValue
        #define SOMGD_InsertValue 1
    #else
        #define _InsertValue ODStorageUnit_InsertValue
    #endif /* _InsertValue */
#endif /* SOMGD_InsertValue */

/*
 * New Method: DeleteValue
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_DeleteValue)(ODStorageUnit *somSelf, Environment *ev,
		ODULong length);
#define somMD_ODStorageUnit_DeleteValue "::ODStorageUnit::DeleteValue"
#define ODStorageUnit_DeleteValue(somSelf,ev,length) \
    (SOM_Resolve(somSelf, ODStorageUnit, DeleteValue) \
	(somSelf,ev,length))
#ifndef SOMGD_DeleteValue
    #if (defined(_DeleteValue) || defined(__DeleteValue))
        #undef _DeleteValue
        #undef __DeleteValue
        #define SOMGD_DeleteValue 1
    #else
        #define _DeleteValue ODStorageUnit_DeleteValue
    #endif /* _DeleteValue */
#endif /* SOMGD_DeleteValue */

/*
 * New Method: GetSize
 */
typedef ODULong   (SOMLINK * somTD_ODStorageUnit_GetSize)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_GetSize "::ODStorageUnit::GetSize"
#define ODStorageUnit_GetSize(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetSize) \
	(somSelf,ev))
#ifndef SOMGD_GetSize
    #if (defined(_GetSize) || defined(__GetSize))
        #undef _GetSize
        #undef __GetSize
        #define SOMGD_GetSize 1
    #else
        #define _GetSize ODStorageUnit_GetSize
    #endif /* _GetSize */
#endif /* SOMGD_GetSize */

/*
 * New Method: IsValidStorageUnitRef
 */
typedef ODBoolean   (SOMLINK * somTD_ODStorageUnit_IsValidStorageUnitRef)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitRef aRef);
#define somMD_ODStorageUnit_IsValidStorageUnitRef "::ODStorageUnit::IsValidStorageUnitRef"
#define ODStorageUnit_IsValidStorageUnitRef(somSelf,ev,aRef) \
    (SOM_Resolve(somSelf, ODStorageUnit, IsValidStorageUnitRef) \
	(somSelf,ev,aRef))
#ifndef SOMGD_IsValidStorageUnitRef
    #if (defined(_IsValidStorageUnitRef) || defined(__IsValidStorageUnitRef))
        #undef _IsValidStorageUnitRef
        #undef __IsValidStorageUnitRef
        #define SOMGD_IsValidStorageUnitRef 1
    #else
        #define _IsValidStorageUnitRef ODStorageUnit_IsValidStorageUnitRef
    #endif /* _IsValidStorageUnitRef */
#endif /* SOMGD_IsValidStorageUnitRef */

/*
 * New Method: GetStrongStorageUnitRef
 */
typedef ODStorageUnitRef   (SOMLINK * somTD_ODStorageUnit_GetStrongStorageUnitRef)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitID embeddedSUID);
#define somMD_ODStorageUnit_GetStrongStorageUnitRef "::ODStorageUnit::GetStrongStorageUnitRef"
#define ODStorageUnit_GetStrongStorageUnitRef(somSelf,ev,embeddedSUID) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetStrongStorageUnitRef) \
	(somSelf,ev,embeddedSUID))
#ifndef SOMGD_GetStrongStorageUnitRef
    #if (defined(_GetStrongStorageUnitRef) || defined(__GetStrongStorageUnitRef))
        #undef _GetStrongStorageUnitRef
        #undef __GetStrongStorageUnitRef
        #define SOMGD_GetStrongStorageUnitRef 1
    #else
        #define _GetStrongStorageUnitRef ODStorageUnit_GetStrongStorageUnitRef
    #endif /* _GetStrongStorageUnitRef */
#endif /* SOMGD_GetStrongStorageUnitRef */

/*
 * New Method: GetWeakStorageUnitRef
 */
typedef ODStorageUnitRef   (SOMLINK * somTD_ODStorageUnit_GetWeakStorageUnitRef)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitID embeddedSUID);
#define somMD_ODStorageUnit_GetWeakStorageUnitRef "::ODStorageUnit::GetWeakStorageUnitRef"
#define ODStorageUnit_GetWeakStorageUnitRef(somSelf,ev,embeddedSUID) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetWeakStorageUnitRef) \
	(somSelf,ev,embeddedSUID))
#ifndef SOMGD_GetWeakStorageUnitRef
    #if (defined(_GetWeakStorageUnitRef) || defined(__GetWeakStorageUnitRef))
        #undef _GetWeakStorageUnitRef
        #undef __GetWeakStorageUnitRef
        #define SOMGD_GetWeakStorageUnitRef 1
    #else
        #define _GetWeakStorageUnitRef ODStorageUnit_GetWeakStorageUnitRef
    #endif /* _GetWeakStorageUnitRef */
#endif /* SOMGD_GetWeakStorageUnitRef */

/*
 * New Method: IsStrongStorageUnitRef
 */
typedef ODBoolean   (SOMLINK * somTD_ODStorageUnit_IsStrongStorageUnitRef)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitRef ref);
#define somMD_ODStorageUnit_IsStrongStorageUnitRef "::ODStorageUnit::IsStrongStorageUnitRef"
#define ODStorageUnit_IsStrongStorageUnitRef(somSelf,ev,ref) \
    (SOM_Resolve(somSelf, ODStorageUnit, IsStrongStorageUnitRef) \
	(somSelf,ev,ref))
#ifndef SOMGD_IsStrongStorageUnitRef
    #if (defined(_IsStrongStorageUnitRef) || defined(__IsStrongStorageUnitRef))
        #undef _IsStrongStorageUnitRef
        #undef __IsStrongStorageUnitRef
        #define SOMGD_IsStrongStorageUnitRef 1
    #else
        #define _IsStrongStorageUnitRef ODStorageUnit_IsStrongStorageUnitRef
    #endif /* _IsStrongStorageUnitRef */
#endif /* SOMGD_IsStrongStorageUnitRef */

/*
 * New Method: IsWeakStorageUnitRef
 */
typedef ODBoolean   (SOMLINK * somTD_ODStorageUnit_IsWeakStorageUnitRef)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitRef ref);
#define somMD_ODStorageUnit_IsWeakStorageUnitRef "::ODStorageUnit::IsWeakStorageUnitRef"
#define ODStorageUnit_IsWeakStorageUnitRef(somSelf,ev,ref) \
    (SOM_Resolve(somSelf, ODStorageUnit, IsWeakStorageUnitRef) \
	(somSelf,ev,ref))
#ifndef SOMGD_IsWeakStorageUnitRef
    #if (defined(_IsWeakStorageUnitRef) || defined(__IsWeakStorageUnitRef))
        #undef _IsWeakStorageUnitRef
        #undef __IsWeakStorageUnitRef
        #define SOMGD_IsWeakStorageUnitRef 1
    #else
        #define _IsWeakStorageUnitRef ODStorageUnit_IsWeakStorageUnitRef
    #endif /* _IsWeakStorageUnitRef */
#endif /* SOMGD_IsWeakStorageUnitRef */

/*
 * New Method: RemoveStorageUnitRef
 */
typedef ODStorageUnit*   (SOMLINK * somTD_ODStorageUnit_RemoveStorageUnitRef)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitRef aRef);
#define somMD_ODStorageUnit_RemoveStorageUnitRef "::ODStorageUnit::RemoveStorageUnitRef"
#define ODStorageUnit_RemoveStorageUnitRef(somSelf,ev,aRef) \
    (SOM_Resolve(somSelf, ODStorageUnit, RemoveStorageUnitRef) \
	(somSelf,ev,aRef))
#ifndef SOMGD_RemoveStorageUnitRef
    #if (defined(_RemoveStorageUnitRef) || defined(__RemoveStorageUnitRef))
        #undef _RemoveStorageUnitRef
        #undef __RemoveStorageUnitRef
        #define SOMGD_RemoveStorageUnitRef 1
    #else
        #define _RemoveStorageUnitRef ODStorageUnit_RemoveStorageUnitRef
    #endif /* _RemoveStorageUnitRef */
#endif /* SOMGD_RemoveStorageUnitRef */

/*
 * New Method: GetIDFromStorageUnitRef
 */
typedef ODStorageUnitID   (SOMLINK * somTD_ODStorageUnit_GetIDFromStorageUnitRef)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitRef aRef);
#define somMD_ODStorageUnit_GetIDFromStorageUnitRef "::ODStorageUnit::GetIDFromStorageUnitRef"
#define ODStorageUnit_GetIDFromStorageUnitRef(somSelf,ev,aRef) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetIDFromStorageUnitRef) \
	(somSelf,ev,aRef))
#ifndef SOMGD_GetIDFromStorageUnitRef
    #if (defined(_GetIDFromStorageUnitRef) || defined(__GetIDFromStorageUnitRef))
        #undef _GetIDFromStorageUnitRef
        #undef __GetIDFromStorageUnitRef
        #define SOMGD_GetIDFromStorageUnitRef 1
    #else
        #define _GetIDFromStorageUnitRef ODStorageUnit_GetIDFromStorageUnitRef
    #endif /* _GetIDFromStorageUnitRef */
#endif /* SOMGD_GetIDFromStorageUnitRef */

/*
 * New Method: CreateStorageUnitRefIterator
 */
typedef ODStorageUnitRefIterator*   (SOMLINK * somTD_ODStorageUnit_CreateStorageUnitRefIterator)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_CreateStorageUnitRefIterator "::ODStorageUnit::CreateStorageUnitRefIterator"
#define ODStorageUnit_CreateStorageUnitRefIterator(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, CreateStorageUnitRefIterator) \
	(somSelf,ev))
#ifndef SOMGD_CreateStorageUnitRefIterator
    #if (defined(_CreateStorageUnitRefIterator) || defined(__CreateStorageUnitRefIterator))
        #undef _CreateStorageUnitRefIterator
        #undef __CreateStorageUnitRefIterator
        #define SOMGD_CreateStorageUnitRefIterator 1
    #else
        #define _CreateStorageUnitRefIterator ODStorageUnit_CreateStorageUnitRefIterator
    #endif /* _CreateStorageUnitRefIterator */
#endif /* SOMGD_CreateStorageUnitRefIterator */

/*
 * New Method: GetGenerationNumber
 */
typedef ODULong   (SOMLINK * somTD_ODStorageUnit_GetGenerationNumber)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_GetGenerationNumber "::ODStorageUnit::GetGenerationNumber"
#define ODStorageUnit_GetGenerationNumber(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetGenerationNumber) \
	(somSelf,ev))
#ifndef SOMGD_GetGenerationNumber
    #if (defined(_GetGenerationNumber) || defined(__GetGenerationNumber))
        #undef _GetGenerationNumber
        #undef __GetGenerationNumber
        #define SOMGD_GetGenerationNumber 1
    #else
        #define _GetGenerationNumber ODStorageUnit_GetGenerationNumber
    #endif /* _GetGenerationNumber */
#endif /* SOMGD_GetGenerationNumber */

/*
 * New Method: IncrementGenerationNumber
 */
typedef ODULong   (SOMLINK * somTD_ODStorageUnit_IncrementGenerationNumber)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_IncrementGenerationNumber "::ODStorageUnit::IncrementGenerationNumber"
#define ODStorageUnit_IncrementGenerationNumber(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, IncrementGenerationNumber) \
	(somSelf,ev))
#ifndef SOMGD_IncrementGenerationNumber
    #if (defined(_IncrementGenerationNumber) || defined(__IncrementGenerationNumber))
        #undef _IncrementGenerationNumber
        #undef __IncrementGenerationNumber
        #define SOMGD_IncrementGenerationNumber 1
    #else
        #define _IncrementGenerationNumber ODStorageUnit_IncrementGenerationNumber
    #endif /* _IncrementGenerationNumber */
#endif /* SOMGD_IncrementGenerationNumber */

/*
 * New Method: IsPromiseValue
 */
typedef ODBoolean   (SOMLINK * somTD_ODStorageUnit_IsPromiseValue)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_IsPromiseValue "::ODStorageUnit::IsPromiseValue"
#define ODStorageUnit_IsPromiseValue(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, IsPromiseValue) \
	(somSelf,ev))
#ifndef SOMGD_IsPromiseValue
    #if (defined(_IsPromiseValue) || defined(__IsPromiseValue))
        #undef _IsPromiseValue
        #undef __IsPromiseValue
        #define SOMGD_IsPromiseValue 1
    #else
        #define _IsPromiseValue ODStorageUnit_IsPromiseValue
    #endif /* _IsPromiseValue */
#endif /* SOMGD_IsPromiseValue */

/*
 * New Method: SetPromiseValue
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_SetPromiseValue)(ODStorageUnit *somSelf, Environment *ev,
		ODValueType valueType,
		ODULong offset,
		ODULong length,
		ODValue value,
		ODPart* sourcePart);
#define somMD_ODStorageUnit_SetPromiseValue "::ODStorageUnit::SetPromiseValue"
#define ODStorageUnit_SetPromiseValue(somSelf,ev,valueType,offset,length,value,sourcePart) \
    (SOM_Resolve(somSelf, ODStorageUnit, SetPromiseValue) \
	(somSelf,ev,valueType,offset,length,value,sourcePart))
#ifndef SOMGD_SetPromiseValue
    #if (defined(_SetPromiseValue) || defined(__SetPromiseValue))
        #undef _SetPromiseValue
        #undef __SetPromiseValue
        #define SOMGD_SetPromiseValue 1
    #else
        #define _SetPromiseValue ODStorageUnit_SetPromiseValue
    #endif /* _SetPromiseValue */
#endif /* SOMGD_SetPromiseValue */

/*
 * New Method: GetPromiseValue
 */
typedef ODULong   (SOMLINK * somTD_ODStorageUnit_GetPromiseValue)(ODStorageUnit *somSelf, Environment *ev,
		ODValueType valueType,
		ODULong offset,
		ODULong length,
		ODValue value,
		ODPart** sourcePart);
#define somMD_ODStorageUnit_GetPromiseValue "::ODStorageUnit::GetPromiseValue"
#define ODStorageUnit_GetPromiseValue(somSelf,ev,valueType,offset,length,value,sourcePart) \
    (SOM_Resolve(somSelf, ODStorageUnit, GetPromiseValue) \
	(somSelf,ev,valueType,offset,length,value,sourcePart))
#ifndef SOMGD_GetPromiseValue
    #if (defined(_GetPromiseValue) || defined(__GetPromiseValue))
        #undef _GetPromiseValue
        #undef __GetPromiseValue
        #define SOMGD_GetPromiseValue 1
    #else
        #define _GetPromiseValue ODStorageUnit_GetPromiseValue
    #endif /* _GetPromiseValue */
#endif /* SOMGD_GetPromiseValue */

/*
 * New Method: ClearAllPromises
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_ClearAllPromises)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_ClearAllPromises "::ODStorageUnit::ClearAllPromises"
#define ODStorageUnit_ClearAllPromises(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, ClearAllPromises) \
	(somSelf,ev))
#ifndef SOMGD_ClearAllPromises
    #if (defined(_ClearAllPromises) || defined(__ClearAllPromises))
        #undef _ClearAllPromises
        #undef __ClearAllPromises
        #define SOMGD_ClearAllPromises 1
    #else
        #define _ClearAllPromises ODStorageUnit_ClearAllPromises
    #endif /* _ClearAllPromises */
#endif /* SOMGD_ClearAllPromises */

/*
 * New Method: ResolveAllPromises
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_ResolveAllPromises)(ODStorageUnit *somSelf, Environment *ev);
#define somMD_ODStorageUnit_ResolveAllPromises "::ODStorageUnit::ResolveAllPromises"
#define ODStorageUnit_ResolveAllPromises(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnit, ResolveAllPromises) \
	(somSelf,ev))
#ifndef SOMGD_ResolveAllPromises
    #if (defined(_ResolveAllPromises) || defined(__ResolveAllPromises))
        #undef _ResolveAllPromises
        #undef __ResolveAllPromises
        #define SOMGD_ResolveAllPromises 1
    #else
        #define _ResolveAllPromises ODStorageUnit_ResolveAllPromises
    #endif /* _ResolveAllPromises */
#endif /* SOMGD_ResolveAllPromises */

/*
 * New Method: Lock
 */
typedef ODStorageUnitKey   (SOMLINK * somTD_ODStorageUnit_Lock)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitKey key);
#define somMD_ODStorageUnit_Lock "::ODStorageUnit::Lock"
#define ODStorageUnit_Lock(somSelf,ev,key) \
    (SOM_Resolve(somSelf, ODStorageUnit, Lock) \
	(somSelf,ev,key))
#ifndef SOMGD_Lock
    #if (defined(_Lock) || defined(__Lock))
        #undef _Lock
        #undef __Lock
        #define SOMGD_Lock 1
    #else
        #define _Lock ODStorageUnit_Lock
    #endif /* _Lock */
#endif /* SOMGD_Lock */

/*
 * New Method: Unlock
 */
typedef void   (SOMLINK * somTD_ODStorageUnit_Unlock)(ODStorageUnit *somSelf, Environment *ev,
		ODStorageUnitKey key);
#define somMD_ODStorageUnit_Unlock "::ODStorageUnit::Unlock"
#define ODStorageUnit_Unlock(somSelf,ev,key) \
    (SOM_Resolve(somSelf, ODStorageUnit, Unlock) \
	(somSelf,ev,key))
#ifndef SOMGD_Unlock
    #if (defined(_Unlock) || defined(__Unlock))
        #undef _Unlock
        #undef __Unlock
        #define SOMGD_Unlock 1
    #else
        #define _Unlock ODStorageUnit_Unlock
    #endif /* _Unlock */
#endif /* SOMGD_Unlock */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ODStorageUnit_InitRefCntObject ODRefCntObject_InitRefCntObject
#define ODStorageUnit_GetRefCount ODRefCntObject_GetRefCount
#define ODStorageUnit_InitObject ODObject_InitObject
#define ODStorageUnit_IsInitialized ODObject_IsInitialized
#define ODStorageUnit_HasExtension ODObject_HasExtension
#define ODStorageUnit_GetExtension ODObject_GetExtension
#define ODStorageUnit_ReleaseExtension ODObject_ReleaseExtension
#define ODStorageUnit_IsEqualTo ODObject_IsEqualTo
#define ODStorageUnit_SubClassResponsibility ODObject_SubClassResponsibility
#define ODStorageUnit_somDefaultInit SOMObject_somDefaultInit
#define ODStorageUnit_somDestruct SOMObject_somDestruct
#define ODStorageUnit_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ODStorageUnit_somDefaultAssign SOMObject_somDefaultAssign
#define ODStorageUnit_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ODStorageUnit_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ODStorageUnit_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ODStorageUnit_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ODStorageUnit_somDefaultVAssign SOMObject_somDefaultVAssign
#define ODStorageUnit_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ODStorageUnit_somFree SOMObject_somFree
#define ODStorageUnit_somGetClass SOMObject_somGetClass
#define ODStorageUnit_somGetClassName SOMObject_somGetClassName
#define ODStorageUnit_somGetSize SOMObject_somGetSize
#define ODStorageUnit_somIsA SOMObject_somIsA
#define ODStorageUnit_somIsInstanceOf SOMObject_somIsInstanceOf
#define ODStorageUnit_somRespondsTo SOMObject_somRespondsTo
#define ODStorageUnit_somDispatch SOMObject_somDispatch
#define ODStorageUnit_somClassDispatch SOMObject_somClassDispatch
#define ODStorageUnit_somCastObj SOMObject_somCastObj
#define ODStorageUnit_somResetObj SOMObject_somResetObj
#define ODStorageUnit_somDispatchV SOMObject_somDispatchV
#define ODStorageUnit_somDispatchL SOMObject_somDispatchL
#define ODStorageUnit_somDispatchA SOMObject_somDispatchA
#define ODStorageUnit_somDispatchD SOMObject_somDispatchD
#define ODStorageUnit_somPrintSelf SOMObject_somPrintSelf
#define ODStorageUnit_somDumpSelf SOMObject_somDumpSelf
#define ODStorageUnit_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ODStorageUnit_h */
