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

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


#ifndef SOM_ODStorageUnitView_h
#define SOM_ODStorageUnitView_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 ODStorageUnitViewClassData (*resolve_ODStorageUnitViewClassData())
#define ODStorageUnitViewCClassData (*resolve_ODStorageUnitViewCClassData())

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

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

#define ODStorageUnitView_MajorVersion 0
#define ODStorageUnitView_MinorVersion 0

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define ODStorageUnitViewNewClass c
#define ODStorageUnitViewClassData d
#define ODStorageUnitViewCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define ODStorageUnitView_classObj ODStorageUnitViewClassData.classObject
#define _ODStorageUnitView ODStorageUnitView_classObj

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

/*
 * Declare the class data structure
 */
SOMEXTERN struct ODStorageUnitViewClassDataStructure {
	SOMClass *classObject;
	somMToken InitStorageUnitView;
	somMToken GetStorageUnit;
	somMToken GetCursor;
	somMToken Externalize;
	somMToken Internalize;
	somMToken GetID;
	somMToken GetName;
	somMToken SetName;
	somMToken AddProperty;
	somMToken AddValue;
	somMToken Remove;
	somMToken CopyTo;
	somMToken CloneInto;
	somMToken GetProperty;
	somMToken GetType;
	somMToken SetType;
	somMToken SetOffset;
	somMToken GetOffset;
	somMToken GetValue;
	somMToken SetValue;
	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 Lock;
	somMToken Unlock;
}  _ODStorageUnitViewClassData;
SOMEXTERN struct ODStorageUnitViewClassDataStructure * SOMLINK resolve_ODStorageUnitViewClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct ODStorageUnitViewCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _ODStorageUnitViewCClassData;
SOMEXTERN struct ODStorageUnitViewCClassDataStructure * SOMLINK resolve_ODStorageUnitViewCClassData(void);

/*
 * New and Renew macros for ODStorageUnitView
 */
#define ODStorageUnitViewNew() \
   (_somNew(_ODStorageUnitView ? _ODStorageUnitView : ODStorageUnitViewNewClass(ODStorageUnitView_MajorVersion, ODStorageUnitView_MinorVersion)))
#define ODStorageUnitViewRenew(buf) \
   (_somRenew(_ODStorageUnitView ? _ODStorageUnitView : ODStorageUnitViewNewClass(ODStorageUnitView_MajorVersion, ODStorageUnitView_MinorVersion), buf))

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

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

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

/*
 * New Method: InitStorageUnitView
 */
typedef void   (SOMLINK * somTD_ODStorageUnitView_InitStorageUnitView)(ODStorageUnitView *somSelf, Environment *ev,
		ODStorageUnit* storageUnit,
		ODStorageUnitCursor* cursor);
#define somMD_ODStorageUnitView_InitStorageUnitView "::ODStorageUnitView::InitStorageUnitView"
#define ODStorageUnitView_InitStorageUnitView(somSelf,ev,storageUnit,cursor) \
    (SOM_Resolve(somSelf, ODStorageUnitView, InitStorageUnitView) \
	(somSelf,ev,storageUnit,cursor))
#ifndef SOMGD_InitStorageUnitView
    #if (defined(_InitStorageUnitView) || defined(__InitStorageUnitView))
        #undef _InitStorageUnitView
        #undef __InitStorageUnitView
        #define SOMGD_InitStorageUnitView 1
    #else
        #define _InitStorageUnitView ODStorageUnitView_InitStorageUnitView
    #endif /* _InitStorageUnitView */
#endif /* SOMGD_InitStorageUnitView */

/*
 * New Method: GetStorageUnit
 */
typedef ODStorageUnit*   (SOMLINK * somTD_ODStorageUnitView_GetStorageUnit)(ODStorageUnitView *somSelf, Environment *ev);
#define somMD_ODStorageUnitView_GetStorageUnit "::ODStorageUnitView::GetStorageUnit"
#define ODStorageUnitView_GetStorageUnit(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnitView, GetStorageUnit) \
	(somSelf,ev))
#ifndef SOMGD_GetStorageUnit
    #if (defined(_GetStorageUnit) || defined(__GetStorageUnit))
        #undef _GetStorageUnit
        #undef __GetStorageUnit
        #define SOMGD_GetStorageUnit 1
    #else
        #define _GetStorageUnit ODStorageUnitView_GetStorageUnit
    #endif /* _GetStorageUnit */
#endif /* SOMGD_GetStorageUnit */

/*
 * New Method: GetCursor
 */
typedef ODStorageUnitCursor*   (SOMLINK * somTD_ODStorageUnitView_GetCursor)(ODStorageUnitView *somSelf, Environment *ev);
#define somMD_ODStorageUnitView_GetCursor "::ODStorageUnitView::GetCursor"
#define ODStorageUnitView_GetCursor(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnitView, GetCursor) \
	(somSelf,ev))
#ifndef SOMGD_GetCursor
    #if (defined(_GetCursor) || defined(__GetCursor))
        #undef _GetCursor
        #undef __GetCursor
        #define SOMGD_GetCursor 1
    #else
        #define _GetCursor ODStorageUnitView_GetCursor
    #endif /* _GetCursor */
#endif /* SOMGD_GetCursor */

/*
 * New Method: Externalize
 */
typedef ODStorageUnitView*   (SOMLINK * somTD_ODStorageUnitView_Externalize)(ODStorageUnitView *somSelf, Environment *ev);
#define somMD_ODStorageUnitView_Externalize "::ODStorageUnitView::Externalize"
#define ODStorageUnitView_Externalize(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnitView, Externalize) \
	(somSelf,ev))
#ifndef SOMGD_Externalize
    #if (defined(_Externalize) || defined(__Externalize))
        #undef _Externalize
        #undef __Externalize
        #define SOMGD_Externalize 1
    #else
        #define _Externalize ODStorageUnitView_Externalize
    #endif /* _Externalize */
#endif /* SOMGD_Externalize */

/*
 * New Method: Internalize
 */
typedef ODStorageUnitView*   (SOMLINK * somTD_ODStorageUnitView_Internalize)(ODStorageUnitView *somSelf, Environment *ev);
#define somMD_ODStorageUnitView_Internalize "::ODStorageUnitView::Internalize"
#define ODStorageUnitView_Internalize(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnitView, Internalize) \
	(somSelf,ev))
#ifndef SOMGD_Internalize
    #if (defined(_Internalize) || defined(__Internalize))
        #undef _Internalize
        #undef __Internalize
        #define SOMGD_Internalize 1
    #else
        #define _Internalize ODStorageUnitView_Internalize
    #endif /* _Internalize */
#endif /* SOMGD_Internalize */

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

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

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

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

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

/*
 * New Method: Remove
 */
typedef ODStorageUnitView*   (SOMLINK * somTD_ODStorageUnitView_Remove)(ODStorageUnitView *somSelf, Environment *ev);
#define somMD_ODStorageUnitView_Remove "::ODStorageUnitView::Remove"
#define ODStorageUnitView_Remove(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnitView, Remove) \
	(somSelf,ev))
#ifndef SOMGD_Remove
    #if (defined(_Remove) || defined(__Remove))
        #undef _Remove
        #undef __Remove
        #define SOMGD_Remove 1
    #else
        #define _Remove ODStorageUnitView_Remove
    #endif /* _Remove */
#endif /* SOMGD_Remove */

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

/*
 * New Method: CloneInto
 */
typedef void   (SOMLINK * somTD_ODStorageUnitView_CloneInto)(ODStorageUnitView *somSelf, Environment *ev,
		ODDraftKey key,
		ODStorageUnit* destStorageUnit,
		ODStorageUnitID scopeID);
#define somMD_ODStorageUnitView_CloneInto "::ODStorageUnitView::CloneInto"
#define ODStorageUnitView_CloneInto(somSelf,ev,key,destStorageUnit,scopeID) \
    (SOM_Resolve(somSelf, ODStorageUnitView, 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 ODStorageUnitView_CloneInto
    #endif /* _CloneInto */
#endif /* SOMGD_CloneInto */

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

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

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

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

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

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

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

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

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

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

/*
 * New Method: IsValidStorageUnitRef
 */
typedef ODBoolean   (SOMLINK * somTD_ODStorageUnitView_IsValidStorageUnitRef)(ODStorageUnitView *somSelf, Environment *ev,
		ODStorageUnitRef ref);
#define somMD_ODStorageUnitView_IsValidStorageUnitRef "::ODStorageUnitView::IsValidStorageUnitRef"
#define ODStorageUnitView_IsValidStorageUnitRef(somSelf,ev,ref) \
    (SOM_Resolve(somSelf, ODStorageUnitView, IsValidStorageUnitRef) \
	(somSelf,ev,ref))
#ifndef SOMGD_IsValidStorageUnitRef
    #if (defined(_IsValidStorageUnitRef) || defined(__IsValidStorageUnitRef))
        #undef _IsValidStorageUnitRef
        #undef __IsValidStorageUnitRef
        #define SOMGD_IsValidStorageUnitRef 1
    #else
        #define _IsValidStorageUnitRef ODStorageUnitView_IsValidStorageUnitRef
    #endif /* _IsValidStorageUnitRef */
#endif /* SOMGD_IsValidStorageUnitRef */

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

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

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

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

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

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

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

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

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

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

/*
 * New Method: SetPromiseValue
 */
typedef void   (SOMLINK * somTD_ODStorageUnitView_SetPromiseValue)(ODStorageUnitView *somSelf, Environment *ev,
		ODValueType valueType,
		ODULong offset,
		ODULong length,
		ODValue value,
		ODPart* sourcePart);
#define somMD_ODStorageUnitView_SetPromiseValue "::ODStorageUnitView::SetPromiseValue"
#define ODStorageUnitView_SetPromiseValue(somSelf,ev,valueType,offset,length,value,sourcePart) \
    (SOM_Resolve(somSelf, ODStorageUnitView, 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 ODStorageUnitView_SetPromiseValue
    #endif /* _SetPromiseValue */
#endif /* SOMGD_SetPromiseValue */

/*
 * New Method: GetPromiseValue
 */
typedef ODULong   (SOMLINK * somTD_ODStorageUnitView_GetPromiseValue)(ODStorageUnitView *somSelf, Environment *ev,
		ODValueType valueType,
		ODULong offset,
		ODULong length,
		ODValue value,
		ODPart** sourcePart);
#define somMD_ODStorageUnitView_GetPromiseValue "::ODStorageUnitView::GetPromiseValue"
#define ODStorageUnitView_GetPromiseValue(somSelf,ev,valueType,offset,length,value,sourcePart) \
    (SOM_Resolve(somSelf, ODStorageUnitView, 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 ODStorageUnitView_GetPromiseValue
    #endif /* _GetPromiseValue */
#endif /* SOMGD_GetPromiseValue */

/*
 * New Method: Lock
 */
typedef void   (SOMLINK * somTD_ODStorageUnitView_Lock)(ODStorageUnitView *somSelf, Environment *ev);
#define somMD_ODStorageUnitView_Lock "::ODStorageUnitView::Lock"
#define ODStorageUnitView_Lock(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnitView, Lock) \
	(somSelf,ev))
#ifndef SOMGD_Lock
    #if (defined(_Lock) || defined(__Lock))
        #undef _Lock
        #undef __Lock
        #define SOMGD_Lock 1
    #else
        #define _Lock ODStorageUnitView_Lock
    #endif /* _Lock */
#endif /* SOMGD_Lock */

/*
 * New Method: Unlock
 */
typedef void   (SOMLINK * somTD_ODStorageUnitView_Unlock)(ODStorageUnitView *somSelf, Environment *ev);
#define somMD_ODStorageUnitView_Unlock "::ODStorageUnitView::Unlock"
#define ODStorageUnitView_Unlock(somSelf,ev) \
    (SOM_Resolve(somSelf, ODStorageUnitView, Unlock) \
	(somSelf,ev))
#ifndef SOMGD_Unlock
    #if (defined(_Unlock) || defined(__Unlock))
        #undef _Unlock
        #undef __Unlock
        #define SOMGD_Unlock 1
    #else
        #define _Unlock ODStorageUnitView_Unlock
    #endif /* _Unlock */
#endif /* SOMGD_Unlock */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ODStorageUnitView_InitObject ODObject_InitObject
#define ODStorageUnitView_IsInitialized ODObject_IsInitialized
#define ODStorageUnitView_HasExtension ODObject_HasExtension
#define ODStorageUnitView_GetExtension ODObject_GetExtension
#define ODStorageUnitView_ReleaseExtension ODObject_ReleaseExtension
#define ODStorageUnitView_IsEqualTo ODObject_IsEqualTo
#define ODStorageUnitView_SubClassResponsibility ODObject_SubClassResponsibility
#define ODStorageUnitView_somDefaultInit SOMObject_somDefaultInit
#define ODStorageUnitView_somDestruct SOMObject_somDestruct
#define ODStorageUnitView_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ODStorageUnitView_somDefaultAssign SOMObject_somDefaultAssign
#define ODStorageUnitView_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ODStorageUnitView_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ODStorageUnitView_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ODStorageUnitView_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ODStorageUnitView_somDefaultVAssign SOMObject_somDefaultVAssign
#define ODStorageUnitView_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ODStorageUnitView_somFree SOMObject_somFree
#define ODStorageUnitView_somGetClass SOMObject_somGetClass
#define ODStorageUnitView_somGetClassName SOMObject_somGetClassName
#define ODStorageUnitView_somGetSize SOMObject_somGetSize
#define ODStorageUnitView_somIsA SOMObject_somIsA
#define ODStorageUnitView_somIsInstanceOf SOMObject_somIsInstanceOf
#define ODStorageUnitView_somRespondsTo SOMObject_somRespondsTo
#define ODStorageUnitView_somDispatch SOMObject_somDispatch
#define ODStorageUnitView_somClassDispatch SOMObject_somClassDispatch
#define ODStorageUnitView_somCastObj SOMObject_somCastObj
#define ODStorageUnitView_somResetObj SOMObject_somResetObj
#define ODStorageUnitView_somDispatchV SOMObject_somDispatchV
#define ODStorageUnitView_somDispatchL SOMObject_somDispatchL
#define ODStorageUnitView_somDispatchA SOMObject_somDispatchA
#define ODStorageUnitView_somDispatchD SOMObject_somDispatchD
#define ODStorageUnitView_somPrintSelf SOMObject_somPrintSelf
#define ODStorageUnitView_somDumpSelf SOMObject_somDumpSelf
#define ODStorageUnitView_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ODStorageUnitView_h */
