
/*
 * This file was generated by the SOM Compiler.
 * FileName: F:\BUILD\NT\ship\include\Part.xh.
 * Generated using:
 *     SOM Precompiler somipc: Development
 *     SOM Emitter emitxh.dll: Development
 */

#ifndef SOM_ODPart_xh
#define SOM_ODPart_xh

class ODPart;

#define ODPart_MajorVersion 1
#define ODPart_MinorVersion 0

/* C++ SOM defs */
#include <somcls.xh>
#include <somcm.xh>

/* C++ parent defs */
#ifndef SOM_ODPersistentObject_xh
#include <PstObj.xh>
#endif

#ifndef ODPart_API
#define ODPart_API
/*
 * -- The Class API
 */

/*
 * Start of user-defined types:
 */
class SOMClass;
class SOMObject;
class ODFrame;
class ODFacet;
class ODPlatformCanvas;
class ODObject;
class ODExtension;
class ODRefCntObject;
class ODPersistentObject;
class ODStorageUnit;
class ODPart;
class M_ODPart;
class ODCanvas;
class ODDragItemIterator;
class ODEmbeddedFramesIterator;
class ODLink;
class ODLinkSource;
class ODObjectSpec;
class ODShape;
class ODStorageUnitView;
class ODTypeList;

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

/* A procedure to create the ODPart Class */
SOMEXTERN
#if (defined(SOM_Module_Part_Source) || defined(ODPart_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODPart))
WIN32_DLLEXPORT
#else
WIN32_DLLIMPORT
#endif
SOMClass * SOMLINK ODPartNewClass(
		integer4,
		integer4 );

/* The API to the ODPart class object, and the methods it introduces. */
SOMEXTERN struct ODPartClassDataStructure {
	SOMClass *classObject;
	somMToken InitPart;
	somMToken InitPartFromStorage;
	somMToken DisplayFrameAdded;
	somMToken DisplayFrameRemoved;
	somMToken DisplayFrameConnected;
	somMToken DisplayFrameClosed;
	somMToken AttachSourceFrame;
	somMToken FrameShapeChanged;
	somMToken ViewTypeChanged;
	somMToken PresentationChanged;
	somMToken SequenceChanged;
	somMToken LinkStatusChanged;
	somMToken ContainingPartPropertiesUpdated;
	somMToken ReadPartInfo;
	somMToken WritePartInfo;
	somMToken ClonePartInfo;
	somMToken Open;
	somMToken Draw;
	somMToken FacetAdded;
	somMToken FacetRemoved;
	somMToken GeometryChanged;
	somMToken HighlightChanged;
	somMToken CanvasChanged;
	somMToken CanvasUpdated;
	somMToken GetPrintResolution;
	somMToken BeginRelinquishFocus;
	somMToken CommitRelinquishFocus;
	somMToken AbortRelinquishFocus;
	somMToken FocusAcquired;
	somMToken FocusLost;
	somMToken ExternalizeKinds;
	somMToken ChangeKind;
	somMToken HandleEvent;
	somMToken AdjustMenus;
	somMToken UndoAction;
	somMToken RedoAction;
	somMToken DisposeActionState;
	somMToken WriteActionState;
	somMToken ReadActionState;
	somMToken FulfillPromise;
	somMToken DropCompleted;
	somMToken DragEnter;
	somMToken DragWithin;
	somMToken DragLeave;
	somMToken Drop;
	somMToken CreateLink;
	somMToken RevealLink;
	somMToken LinkUpdated;
	somMToken EmbeddedFrameUpdated;
	somMToken EditInLinkAttempted;
	somMToken RequestEmbeddedFrame;
	somMToken RemoveEmbeddedFrame;
	somMToken RequestFrameShape;
	somMToken UsedShapeChanged;
	somMToken AdjustBorderShape;
	somMToken AcquireContainingPartProperties;
	somMToken RevealFrame;
	somMToken EmbeddedFrameSpec;
	somMToken CreateEmbeddedFramesIterator;
	somMToken IsRealPart;
	somMToken GetRealPart;
	somMToken ReleaseRealPart;
}
#if !(defined(SOM_Module_Part_Source) || defined(ODPart_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODPart))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ODPartClassData;
#define _ODPart ODPartClassData.classObject

/* The API to parentMtabs for ODPart, and the instance data it introduces. */
SOMEXTERN struct ODPartCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
}
#if !(defined(SOM_Module_Part_Source) || defined(ODPart_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODPart))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ODPartCClassData;

/*
 * -- Typedefs for ODPart Method Procedures
 */
extern "C" {
typedef void   SOMLINK somTP_ODPart_InitPart(ODPart *somSelf, Environment *ev,
		ODStorageUnit* storageUnit,
		ODPart* partWrapper);
typedef somTP_ODPart_InitPart *somTD_ODPart_InitPart;
typedef void   SOMLINK somTP_ODPart_InitPartFromStorage(ODPart *somSelf, Environment *ev,
		ODStorageUnit* storageUnit,
		ODPart* partWrapper);
typedef somTP_ODPart_InitPartFromStorage *somTD_ODPart_InitPartFromStorage;
typedef void   SOMLINK somTP_ODPart_DisplayFrameAdded(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_DisplayFrameAdded *somTD_ODPart_DisplayFrameAdded;
typedef void   SOMLINK somTP_ODPart_DisplayFrameRemoved(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_DisplayFrameRemoved *somTD_ODPart_DisplayFrameRemoved;
typedef void   SOMLINK somTP_ODPart_DisplayFrameConnected(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_DisplayFrameConnected *somTD_ODPart_DisplayFrameConnected;
typedef void   SOMLINK somTP_ODPart_DisplayFrameClosed(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_DisplayFrameClosed *somTD_ODPart_DisplayFrameClosed;
typedef void   SOMLINK somTP_ODPart_AttachSourceFrame(ODPart *somSelf, Environment *ev,
		ODFrame* frame,
		ODFrame* sourceFrame);
typedef somTP_ODPart_AttachSourceFrame *somTD_ODPart_AttachSourceFrame;
typedef void   SOMLINK somTP_ODPart_FrameShapeChanged(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_FrameShapeChanged *somTD_ODPart_FrameShapeChanged;
typedef void   SOMLINK somTP_ODPart_ViewTypeChanged(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_ViewTypeChanged *somTD_ODPart_ViewTypeChanged;
typedef void   SOMLINK somTP_ODPart_PresentationChanged(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_PresentationChanged *somTD_ODPart_PresentationChanged;
typedef void   SOMLINK somTP_ODPart_SequenceChanged(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_SequenceChanged *somTD_ODPart_SequenceChanged;
typedef void   SOMLINK somTP_ODPart_LinkStatusChanged(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_LinkStatusChanged *somTD_ODPart_LinkStatusChanged;
typedef void   SOMLINK somTP_ODPart_ContainingPartPropertiesUpdated(ODPart *somSelf, Environment *ev,
		ODFrame* frame,
		ODStorageUnit* propertyUnit);
typedef somTP_ODPart_ContainingPartPropertiesUpdated *somTD_ODPart_ContainingPartPropertiesUpdated;
typedef ODInfoType   SOMLINK somTP_ODPart_ReadPartInfo(ODPart *somSelf, Environment *ev,
		ODFrame* frame,
		ODStorageUnitView* storageUnitView);
typedef somTP_ODPart_ReadPartInfo *somTD_ODPart_ReadPartInfo;
typedef void   SOMLINK somTP_ODPart_WritePartInfo(ODPart *somSelf, Environment *ev,
		ODInfoType partInfo,
		ODStorageUnitView* storageUnitView);
typedef somTP_ODPart_WritePartInfo *somTD_ODPart_WritePartInfo;
typedef void   SOMLINK somTP_ODPart_ClonePartInfo(ODPart *somSelf, Environment *ev,
		ODDraftKey key,
		ODInfoType partInfo,
		ODStorageUnitView* storageUnitView,
		ODFrame* scope);
typedef somTP_ODPart_ClonePartInfo *somTD_ODPart_ClonePartInfo;
typedef ODID   SOMLINK somTP_ODPart_Open(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_Open *somTD_ODPart_Open;
typedef void   SOMLINK somTP_ODPart_Draw(ODPart *somSelf, Environment *ev,
		ODFacet* facet,
		ODShape* invalidShape);
typedef somTP_ODPart_Draw *somTD_ODPart_Draw;
typedef void   SOMLINK somTP_ODPart_FacetAdded(ODPart *somSelf, Environment *ev,
		ODFacet* facet);
typedef somTP_ODPart_FacetAdded *somTD_ODPart_FacetAdded;
typedef void   SOMLINK somTP_ODPart_FacetRemoved(ODPart *somSelf, Environment *ev,
		ODFacet* facet);
typedef somTP_ODPart_FacetRemoved *somTD_ODPart_FacetRemoved;
typedef void   SOMLINK somTP_ODPart_GeometryChanged(ODPart *somSelf, Environment *ev,
		ODFacet* facet,
		ODBoolean clipShapeChanged,
		ODBoolean externalTransformChanged);
typedef somTP_ODPart_GeometryChanged *somTD_ODPart_GeometryChanged;
typedef void   SOMLINK somTP_ODPart_HighlightChanged(ODPart *somSelf, Environment *ev,
		ODFacet* facet);
typedef somTP_ODPart_HighlightChanged *somTD_ODPart_HighlightChanged;
typedef void   SOMLINK somTP_ODPart_CanvasChanged(ODPart *somSelf, Environment *ev,
		ODFacet* facet);
typedef somTP_ODPart_CanvasChanged *somTD_ODPart_CanvasChanged;
typedef void   SOMLINK somTP_ODPart_CanvasUpdated(ODPart *somSelf, Environment *ev,
		ODCanvas* canvas);
typedef somTP_ODPart_CanvasUpdated *somTD_ODPart_CanvasUpdated;
typedef ODULong   SOMLINK somTP_ODPart_GetPrintResolution(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_GetPrintResolution *somTD_ODPart_GetPrintResolution;
typedef ODBoolean   SOMLINK somTP_ODPart_BeginRelinquishFocus(ODPart *somSelf, Environment *ev,
		ODTypeToken focus,
		ODFrame* ownerFrame,
		ODFrame* proposedFrame);
typedef somTP_ODPart_BeginRelinquishFocus *somTD_ODPart_BeginRelinquishFocus;
typedef void   SOMLINK somTP_ODPart_CommitRelinquishFocus(ODPart *somSelf, Environment *ev,
		ODTypeToken focus,
		ODFrame* ownerFrame,
		ODFrame* proposedFrame);
typedef somTP_ODPart_CommitRelinquishFocus *somTD_ODPart_CommitRelinquishFocus;
typedef void   SOMLINK somTP_ODPart_AbortRelinquishFocus(ODPart *somSelf, Environment *ev,
		ODTypeToken focus,
		ODFrame* ownerFrame,
		ODFrame* proposedFrame);
typedef somTP_ODPart_AbortRelinquishFocus *somTD_ODPart_AbortRelinquishFocus;
typedef void   SOMLINK somTP_ODPart_FocusAcquired(ODPart *somSelf, Environment *ev,
		ODTypeToken focus,
		ODFrame* ownerFrame);
typedef somTP_ODPart_FocusAcquired *somTD_ODPart_FocusAcquired;
typedef void   SOMLINK somTP_ODPart_FocusLost(ODPart *somSelf, Environment *ev,
		ODTypeToken focus,
		ODFrame* ownerFrame);
typedef somTP_ODPart_FocusLost *somTD_ODPart_FocusLost;
typedef void   SOMLINK somTP_ODPart_ExternalizeKinds(ODPart *somSelf, Environment *ev,
		ODTypeList* kindset);
typedef somTP_ODPart_ExternalizeKinds *somTD_ODPart_ExternalizeKinds;
typedef void   SOMLINK somTP_ODPart_ChangeKind(ODPart *somSelf, Environment *ev,
		ODType kind);
typedef somTP_ODPart_ChangeKind *somTD_ODPart_ChangeKind;
typedef ODBoolean   SOMLINK somTP_ODPart_HandleEvent(ODPart *somSelf, Environment *ev,
		ODEventData* event,
		ODFrame* frame,
		ODFacet* facet,
		ODEventInfo* eventInfo);
typedef somTP_ODPart_HandleEvent *somTD_ODPart_HandleEvent;
typedef void   SOMLINK somTP_ODPart_AdjustMenus(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_AdjustMenus *somTD_ODPart_AdjustMenus;
typedef void   SOMLINK somTP_ODPart_UndoAction(ODPart *somSelf, Environment *ev,
		ODActionData* actionState);
typedef somTP_ODPart_UndoAction *somTD_ODPart_UndoAction;
typedef void   SOMLINK somTP_ODPart_RedoAction(ODPart *somSelf, Environment *ev,
		ODActionData* actionState);
typedef somTP_ODPart_RedoAction *somTD_ODPart_RedoAction;
typedef void   SOMLINK somTP_ODPart_DisposeActionState(ODPart *somSelf, Environment *ev,
		ODActionData* actionState,
		ODDoneState doneState);
typedef somTP_ODPart_DisposeActionState *somTD_ODPart_DisposeActionState;
typedef void   SOMLINK somTP_ODPart_WriteActionState(ODPart *somSelf, Environment *ev,
		ODActionData* actionState,
		ODStorageUnitView* storageUnitView);
typedef somTP_ODPart_WriteActionState *somTD_ODPart_WriteActionState;
typedef ODActionData   SOMLINK somTP_ODPart_ReadActionState(ODPart *somSelf, Environment *ev,
		ODStorageUnitView* storageUnitView);
typedef somTP_ODPart_ReadActionState *somTD_ODPart_ReadActionState;
typedef void   SOMLINK somTP_ODPart_FulfillPromise(ODPart *somSelf, Environment *ev,
		ODStorageUnitView* promiseSUView);
typedef somTP_ODPart_FulfillPromise *somTD_ODPart_FulfillPromise;
typedef void   SOMLINK somTP_ODPart_DropCompleted(ODPart *somSelf, Environment *ev,
		ODPart* destPart,
		ODDropResult dropResult);
typedef somTP_ODPart_DropCompleted *somTD_ODPart_DropCompleted;
typedef ODDragResult   SOMLINK somTP_ODPart_DragEnter(ODPart *somSelf, Environment *ev,
		ODDragItemIterator* dragInfo,
		ODFacet* facet,
		ODPoint* where);
typedef somTP_ODPart_DragEnter *somTD_ODPart_DragEnter;
typedef ODDragResult   SOMLINK somTP_ODPart_DragWithin(ODPart *somSelf, Environment *ev,
		ODDragItemIterator* dragInfo,
		ODFacet* facet,
		ODPoint* where);
typedef somTP_ODPart_DragWithin *somTD_ODPart_DragWithin;
typedef void   SOMLINK somTP_ODPart_DragLeave(ODPart *somSelf, Environment *ev,
		ODFacet* facet,
		ODPoint* where);
typedef somTP_ODPart_DragLeave *somTD_ODPart_DragLeave;
typedef ODDropResult   SOMLINK somTP_ODPart_Drop(ODPart *somSelf, Environment *ev,
		ODDragItemIterator* dropInfo,
		ODFacet* facet,
		ODPoint* where);
typedef somTP_ODPart_Drop *somTD_ODPart_Drop;
typedef ODLinkSource*   SOMLINK somTP_ODPart_CreateLink(ODPart *somSelf, Environment *ev,
		ODByteArray* data);
typedef somTP_ODPart_CreateLink *somTD_ODPart_CreateLink;
typedef void   SOMLINK somTP_ODPart_RevealLink(ODPart *somSelf, Environment *ev,
		ODLinkSource* linkSource);
typedef somTP_ODPart_RevealLink *somTD_ODPart_RevealLink;
typedef void   SOMLINK somTP_ODPart_LinkUpdated(ODPart *somSelf, Environment *ev,
		ODLink* updatedLink,
		ODUpdateID change);
typedef somTP_ODPart_LinkUpdated *somTD_ODPart_LinkUpdated;
typedef void   SOMLINK somTP_ODPart_EmbeddedFrameUpdated(ODPart *somSelf, Environment *ev,
		ODFrame* frame,
		ODUpdateID change);
typedef somTP_ODPart_EmbeddedFrameUpdated *somTD_ODPart_EmbeddedFrameUpdated;
typedef ODBoolean   SOMLINK somTP_ODPart_EditInLinkAttempted(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_EditInLinkAttempted *somTD_ODPart_EditInLinkAttempted;
typedef ODFrame*   SOMLINK somTP_ODPart_RequestEmbeddedFrame(ODPart *somSelf, Environment *ev,
		ODFrame* containingFrame,
		ODFrame* baseFrame,
		ODShape* frameShape,
		ODPart* embedPart,
		ODTypeToken viewType,
		ODTypeToken presentation,
		ODBoolean isOverlaid);
typedef somTP_ODPart_RequestEmbeddedFrame *somTD_ODPart_RequestEmbeddedFrame;
typedef void   SOMLINK somTP_ODPart_RemoveEmbeddedFrame(ODPart *somSelf, Environment *ev,
		ODFrame* embeddedFrame);
typedef somTP_ODPart_RemoveEmbeddedFrame *somTD_ODPart_RemoveEmbeddedFrame;
typedef ODShape*   SOMLINK somTP_ODPart_RequestFrameShape(ODPart *somSelf, Environment *ev,
		ODFrame* embeddedFrame,
		ODShape* frameShape);
typedef somTP_ODPart_RequestFrameShape *somTD_ODPart_RequestFrameShape;
typedef void   SOMLINK somTP_ODPart_UsedShapeChanged(ODPart *somSelf, Environment *ev,
		ODFrame* embeddedFrame);
typedef somTP_ODPart_UsedShapeChanged *somTD_ODPart_UsedShapeChanged;
typedef ODShape*   SOMLINK somTP_ODPart_AdjustBorderShape(ODPart *somSelf, Environment *ev,
		ODFacet* embeddedFacet,
		ODShape* shape);
typedef somTP_ODPart_AdjustBorderShape *somTD_ODPart_AdjustBorderShape;
typedef ODStorageUnit*   SOMLINK somTP_ODPart_AcquireContainingPartProperties(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_AcquireContainingPartProperties *somTD_ODPart_AcquireContainingPartProperties;
typedef ODBoolean   SOMLINK somTP_ODPart_RevealFrame(ODPart *somSelf, Environment *ev,
		ODFrame* embeddedFrame,
		ODShape* revealShape);
typedef somTP_ODPart_RevealFrame *somTD_ODPart_RevealFrame;
typedef void   SOMLINK somTP_ODPart_EmbeddedFrameSpec(ODPart *somSelf, Environment *ev,
		ODFrame* embeddedFrame,
		ODObjectSpec* spec);
typedef somTP_ODPart_EmbeddedFrameSpec *somTD_ODPart_EmbeddedFrameSpec;
typedef ODEmbeddedFramesIterator*   SOMLINK somTP_ODPart_CreateEmbeddedFramesIterator(ODPart *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODPart_CreateEmbeddedFramesIterator *somTD_ODPart_CreateEmbeddedFramesIterator;
typedef ODBoolean   SOMLINK somTP_ODPart_IsRealPart(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_IsRealPart *somTD_ODPart_IsRealPart;
typedef ODPart*   SOMLINK somTP_ODPart_GetRealPart(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_GetRealPart *somTD_ODPart_GetRealPart;
typedef void   SOMLINK somTP_ODPart_ReleaseRealPart(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_ReleaseRealPart *somTD_ODPart_ReleaseRealPart;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef void   SOMLINK somTP_ODPart_InitPersistentObject(ODPart *somSelf, Environment *ev,
		ODStorageUnit* storageUnit);
typedef somTP_ODPart_InitPersistentObject *somTD_ODPart_InitPersistentObject;
typedef void   SOMLINK somTP_ODPart_InitPersistentObjectFromStorage(ODPart *somSelf, Environment *ev,
		ODStorageUnit* storageUnit);
typedef somTP_ODPart_InitPersistentObjectFromStorage *somTD_ODPart_InitPersistentObjectFromStorage;
typedef void   SOMLINK somTP_ODPart_ReleaseAll(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_ReleaseAll *somTD_ODPart_ReleaseAll;
typedef void   SOMLINK somTP_ODPart_Externalize(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_Externalize *somTD_ODPart_Externalize;
typedef ODStorageUnit*   SOMLINK somTP_ODPart_GetStorageUnit(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_GetStorageUnit *somTD_ODPart_GetStorageUnit;
typedef ODID   SOMLINK somTP_ODPart_GetID(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_GetID *somTD_ODPart_GetID;
typedef void   SOMLINK somTP_ODPart_CloneInto(ODPart *somSelf, Environment *ev,
		ODDraftKey key,
		ODStorageUnit* toSU,
		ODFrame* scope);
typedef somTP_ODPart_CloneInto *somTD_ODPart_CloneInto;
typedef void   SOMLINK somTP_ODPart_somUninit(ODPart *somSelf);
typedef somTP_ODPart_somUninit *somTD_ODPart_somUninit;
typedef void   SOMLINK somTP_ODPart_InitRefCntObject(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_InitRefCntObject *somTD_ODPart_InitRefCntObject;
typedef void   SOMLINK somTP_ODPart_Acquire(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_Acquire *somTD_ODPart_Acquire;
typedef void   SOMLINK somTP_ODPart_Release(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_Release *somTD_ODPart_Release;
typedef ODULong   SOMLINK somTP_ODPart_GetRefCount(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_GetRefCount *somTD_ODPart_GetRefCount;
typedef void   SOMLINK somTP_ODPart_InitObject(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_InitObject *somTD_ODPart_InitObject;
typedef ODBoolean   SOMLINK somTP_ODPart_HasExtension(ODPart *somSelf, Environment *ev,
		ODType extensionName);
typedef somTP_ODPart_HasExtension *somTD_ODPart_HasExtension;
typedef ODExtension*   SOMLINK somTP_ODPart_AcquireExtension(ODPart *somSelf, Environment *ev,
		ODType extensionName);
typedef somTP_ODPart_AcquireExtension *somTD_ODPart_AcquireExtension;
typedef void   SOMLINK somTP_ODPart_ReleaseExtension(ODPart *somSelf, Environment *ev,
		ODExtension* extension);
typedef somTP_ODPart_ReleaseExtension *somTD_ODPart_ReleaseExtension;
typedef ODSize   SOMLINK somTP_ODPart_Purge(ODPart *somSelf, Environment *ev,
		ODSize size);
typedef somTP_ODPart_Purge *somTD_ODPart_Purge;
typedef ODBoolean   SOMLINK somTP_ODPart_IsEqualTo(ODPart *somSelf, Environment *ev,
		ODObject* object);
typedef somTP_ODPart_IsEqualTo *somTD_ODPart_IsEqualTo;
typedef void   SOMLINK somTP_ODPart_SubClassResponsibility(ODPart *somSelf, Environment *ev);
typedef somTP_ODPart_SubClassResponsibility *somTD_ODPart_SubClassResponsibility;
typedef void   SOMLINK somTP_ODPart_somInit(ODPart *somSelf);
typedef somTP_ODPart_somInit *somTD_ODPart_somInit;
typedef void   SOMLINK somTP_ODPart_somDefaultInit(ODPart *somSelf,
		somInitCtrl* ctrl);
typedef somTP_ODPart_somDefaultInit *somTD_ODPart_somDefaultInit;
typedef void   SOMLINK somTP_ODPart_somDestruct(ODPart *somSelf,
		octet doFree,
		somDestructCtrl* ctrl);
typedef somTP_ODPart_somDestruct *somTD_ODPart_somDestruct;
typedef void   SOMLINK somTP_ODPart_somDefaultCopyInit(ODPart *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODPart_somDefaultCopyInit *somTD_ODPart_somDefaultCopyInit;
typedef ODPart*   SOMLINK somTP_ODPart_somDefaultAssign(ODPart *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODPart_somDefaultAssign *somTD_ODPart_somDefaultAssign;
typedef void   SOMLINK somTP_ODPart_somDefaultConstCopyInit(ODPart *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODPart_somDefaultConstCopyInit *somTD_ODPart_somDefaultConstCopyInit;
typedef void   SOMLINK somTP_ODPart_somDefaultVCopyInit(ODPart *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODPart_somDefaultVCopyInit *somTD_ODPart_somDefaultVCopyInit;
typedef void   SOMLINK somTP_ODPart_somDefaultConstVCopyInit(ODPart *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODPart_somDefaultConstVCopyInit *somTD_ODPart_somDefaultConstVCopyInit;
typedef ODPart*   SOMLINK somTP_ODPart_somDefaultConstAssign(ODPart *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODPart_somDefaultConstAssign *somTD_ODPart_somDefaultConstAssign;
typedef ODPart*   SOMLINK somTP_ODPart_somDefaultVAssign(ODPart *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODPart_somDefaultVAssign *somTD_ODPart_somDefaultVAssign;
typedef ODPart*   SOMLINK somTP_ODPart_somDefaultConstVAssign(ODPart *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODPart_somDefaultConstVAssign *somTD_ODPart_somDefaultConstVAssign;
typedef void   SOMLINK somTP_ODPart_somFree(ODPart *somSelf);
typedef somTP_ODPart_somFree *somTD_ODPart_somFree;
typedef SOMClass*   SOMLINK somTP_ODPart_somGetClass(ODPart *somSelf);
typedef somTP_ODPart_somGetClass *somTD_ODPart_somGetClass;
typedef string   SOMLINK somTP_ODPart_somGetClassName(ODPart *somSelf);
typedef somTP_ODPart_somGetClassName *somTD_ODPart_somGetClassName;
typedef long   SOMLINK somTP_ODPart_somGetSize(ODPart *somSelf);
typedef somTP_ODPart_somGetSize *somTD_ODPart_somGetSize;
typedef boolean   SOMLINK somTP_ODPart_somIsA(ODPart *somSelf,
		SOMClass* aClassObj);
typedef somTP_ODPart_somIsA *somTD_ODPart_somIsA;
typedef boolean   SOMLINK somTP_ODPart_somIsInstanceOf(ODPart *somSelf,
		SOMClass* aClassObj);
typedef somTP_ODPart_somIsInstanceOf *somTD_ODPart_somIsInstanceOf;
typedef boolean   SOMLINK somTP_ODPart_somRespondsTo(ODPart *somSelf,
		somId mId);
typedef somTP_ODPart_somRespondsTo *somTD_ODPart_somRespondsTo;
typedef boolean   SOMLINK somTP_ODPart_somDispatch(ODPart *somSelf,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ODPart_somDispatch *somTD_ODPart_somDispatch;
typedef boolean   SOMLINK somTP_ODPart_somClassDispatch(ODPart *somSelf,
		SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ODPart_somClassDispatch *somTD_ODPart_somClassDispatch;
typedef boolean   SOMLINK somTP_ODPart_somCastObj(ODPart *somSelf,
		SOMClass* cls);
typedef somTP_ODPart_somCastObj *somTD_ODPart_somCastObj;
typedef boolean   SOMLINK somTP_ODPart_somResetObj(ODPart *somSelf);
typedef somTP_ODPart_somResetObj *somTD_ODPart_somResetObj;
typedef SOMObject*   SOMLINK somTP_ODPart_somPrintSelf(ODPart *somSelf);
typedef somTP_ODPart_somPrintSelf *somTD_ODPart_somPrintSelf;
typedef void   SOMLINK somTP_ODPart_somDumpSelf(ODPart *somSelf,
		long level);
typedef somTP_ODPart_somDumpSelf *somTD_ODPart_somDumpSelf;
typedef void   SOMLINK somTP_ODPart_somDumpSelfInt(ODPart *somSelf,
		long level);
typedef somTP_ODPart_somDumpSelfInt *somTD_ODPart_somDumpSelfInt;
}

#endif /* ODPart_API */


/*
 * -- This emitter believes that method thunks are unavailable,
 * -- so somResolve will be called.
 */
#undef somresolve_
#define somresolve_(obj,mToken) (somResolve(obj,mToken))

/*
 * -- The C++ Wrapper Class for ODPart
 */
class ODPart : public ODPersistentObject
{
public:

// ODPart::new creates the class object if necessary, and then uses somNewNoInit
// to allocate memory and create the object. Initialization is in ctors.
void *operator new(size_t)
{
   if (!_ODPart) ODPartNewClass(ODPart_MajorVersion,ODPart_MinorVersion);
   return (void*)
      SOM_Resolve(_ODPart,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_ODPart));
}

// ODPart::delete uses somDestruct.
void operator delete(void * obj)
{
   if (obj && *(void**)obj) {
      SOM_Resolve(obj,SOMObject,somDestruct)
         ((SOMObject*)obj, 1, 0);
   }
}

ODPart()
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (ODPartCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultInit(0);
}

ODPart(ODPart* fromObj)
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (ODPartCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
}

ODPart(const ODPart* fromObj)
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (ODPartCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
}


/* method: InitPart */
void   InitPart(Environment *ev,
		ODStorageUnit* storageUnit,
		ODPart* partWrapper)
{
   SOM_ResolveD(this,ODPart,ODPart,InitPart)
	(this, ev,storageUnit,partWrapper);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: InitPartFromStorage */
void   InitPartFromStorage(Environment *ev,
		ODStorageUnit* storageUnit,
		ODPart* partWrapper)
{
   SOM_ResolveD(this,ODPart,ODPart,InitPartFromStorage)
	(this, ev,storageUnit,partWrapper);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: DisplayFrameAdded */
void   DisplayFrameAdded(Environment *ev,
		ODFrame* frame)
{
   SOM_ResolveD(this,ODPart,ODPart,DisplayFrameAdded)
	(this, ev,frame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: DisplayFrameRemoved */
void   DisplayFrameRemoved(Environment *ev,
		ODFrame* frame)
{
   SOM_ResolveD(this,ODPart,ODPart,DisplayFrameRemoved)
	(this, ev,frame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: DisplayFrameConnected */
void   DisplayFrameConnected(Environment *ev,
		ODFrame* frame)
{
   SOM_ResolveD(this,ODPart,ODPart,DisplayFrameConnected)
	(this, ev,frame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: DisplayFrameClosed */
void   DisplayFrameClosed(Environment *ev,
		ODFrame* frame)
{
   SOM_ResolveD(this,ODPart,ODPart,DisplayFrameClosed)
	(this, ev,frame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: AttachSourceFrame */
void   AttachSourceFrame(Environment *ev,
		ODFrame* frame,
		ODFrame* sourceFrame)
{
   SOM_ResolveD(this,ODPart,ODPart,AttachSourceFrame)
	(this, ev,frame,sourceFrame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: FrameShapeChanged */
void   FrameShapeChanged(Environment *ev,
		ODFrame* frame)
{
   SOM_ResolveD(this,ODPart,ODPart,FrameShapeChanged)
	(this, ev,frame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: ViewTypeChanged */
void   ViewTypeChanged(Environment *ev,
		ODFrame* frame)
{
   SOM_ResolveD(this,ODPart,ODPart,ViewTypeChanged)
	(this, ev,frame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: PresentationChanged */
void   PresentationChanged(Environment *ev,
		ODFrame* frame)
{
   SOM_ResolveD(this,ODPart,ODPart,PresentationChanged)
	(this, ev,frame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: SequenceChanged */
void   SequenceChanged(Environment *ev,
		ODFrame* frame)
{
   SOM_ResolveD(this,ODPart,ODPart,SequenceChanged)
	(this, ev,frame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: LinkStatusChanged */
void   LinkStatusChanged(Environment *ev,
		ODFrame* frame)
{
   SOM_ResolveD(this,ODPart,ODPart,LinkStatusChanged)
	(this, ev,frame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: ContainingPartPropertiesUpdated */
void   ContainingPartPropertiesUpdated(Environment *ev,
		ODFrame* frame,
		ODStorageUnit* propertyUnit)
{
   SOM_ResolveD(this,ODPart,ODPart,ContainingPartPropertiesUpdated)
	(this, ev,frame,propertyUnit);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: ReadPartInfo */
ODInfoType   ReadPartInfo(Environment *ev,
		ODFrame* frame,
		ODStorageUnitView* storageUnitView)
{
#ifdef SOMCHKEXCEPT
   ODInfoType __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,ReadPartInfo)
	(this, ev,frame,storageUnitView);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,ReadPartInfo)
	(this, ev,frame,storageUnitView);
#endif
}


/* method: WritePartInfo */
void   WritePartInfo(Environment *ev,
		ODInfoType partInfo,
		ODStorageUnitView* storageUnitView)
{
   SOM_ResolveD(this,ODPart,ODPart,WritePartInfo)
	(this, ev,partInfo,storageUnitView);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: ClonePartInfo */
void   ClonePartInfo(Environment *ev,
		ODDraftKey key,
		ODInfoType partInfo,
		ODStorageUnitView* storageUnitView,
		ODFrame* scope)
{
   SOM_ResolveD(this,ODPart,ODPart,ClonePartInfo)
	(this, ev,key,partInfo,storageUnitView,scope);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: Open */
ODID   Open(Environment *ev,
		ODFrame* frame)
{
#ifdef SOMCHKEXCEPT
   ODID __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,Open)
	(this, ev,frame);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,Open)
	(this, ev,frame);
#endif
}


/* method: Draw */
void   Draw(Environment *ev,
		ODFacet* facet,
		ODShape* invalidShape)
{
   SOM_ResolveD(this,ODPart,ODPart,Draw)
	(this, ev,facet,invalidShape);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: FacetAdded */
void   FacetAdded(Environment *ev,
		ODFacet* facet)
{
   SOM_ResolveD(this,ODPart,ODPart,FacetAdded)
	(this, ev,facet);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: FacetRemoved */
void   FacetRemoved(Environment *ev,
		ODFacet* facet)
{
   SOM_ResolveD(this,ODPart,ODPart,FacetRemoved)
	(this, ev,facet);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: GeometryChanged */
void   GeometryChanged(Environment *ev,
		ODFacet* facet,
		ODBoolean clipShapeChanged,
		ODBoolean externalTransformChanged)
{
   SOM_ResolveD(this,ODPart,ODPart,GeometryChanged)
	(this, ev,facet,clipShapeChanged,externalTransformChanged);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: HighlightChanged */
void   HighlightChanged(Environment *ev,
		ODFacet* facet)
{
   SOM_ResolveD(this,ODPart,ODPart,HighlightChanged)
	(this, ev,facet);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: CanvasChanged */
void   CanvasChanged(Environment *ev,
		ODFacet* facet)
{
   SOM_ResolveD(this,ODPart,ODPart,CanvasChanged)
	(this, ev,facet);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: CanvasUpdated */
void   CanvasUpdated(Environment *ev,
		ODCanvas* canvas)
{
   SOM_ResolveD(this,ODPart,ODPart,CanvasUpdated)
	(this, ev,canvas);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: GetPrintResolution */
ODULong   GetPrintResolution(Environment *ev,
		ODFrame* frame)
{
#ifdef SOMCHKEXCEPT
   ODULong __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,GetPrintResolution)
	(this, ev,frame);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,GetPrintResolution)
	(this, ev,frame);
#endif
}


/* method: BeginRelinquishFocus */
ODBoolean   BeginRelinquishFocus(Environment *ev,
		ODTypeToken focus,
		ODFrame* ownerFrame,
		ODFrame* proposedFrame)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,BeginRelinquishFocus)
	(this, ev,focus,ownerFrame,proposedFrame);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,BeginRelinquishFocus)
	(this, ev,focus,ownerFrame,proposedFrame);
#endif
}


/* method: CommitRelinquishFocus */
void   CommitRelinquishFocus(Environment *ev,
		ODTypeToken focus,
		ODFrame* ownerFrame,
		ODFrame* proposedFrame)
{
   SOM_ResolveD(this,ODPart,ODPart,CommitRelinquishFocus)
	(this, ev,focus,ownerFrame,proposedFrame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: AbortRelinquishFocus */
void   AbortRelinquishFocus(Environment *ev,
		ODTypeToken focus,
		ODFrame* ownerFrame,
		ODFrame* proposedFrame)
{
   SOM_ResolveD(this,ODPart,ODPart,AbortRelinquishFocus)
	(this, ev,focus,ownerFrame,proposedFrame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: FocusAcquired */
void   FocusAcquired(Environment *ev,
		ODTypeToken focus,
		ODFrame* ownerFrame)
{
   SOM_ResolveD(this,ODPart,ODPart,FocusAcquired)
	(this, ev,focus,ownerFrame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: FocusLost */
void   FocusLost(Environment *ev,
		ODTypeToken focus,
		ODFrame* ownerFrame)
{
   SOM_ResolveD(this,ODPart,ODPart,FocusLost)
	(this, ev,focus,ownerFrame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: ExternalizeKinds */
void   ExternalizeKinds(Environment *ev,
		ODTypeList* kindset)
{
   SOM_ResolveD(this,ODPart,ODPart,ExternalizeKinds)
	(this, ev,kindset);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: ChangeKind */
void   ChangeKind(Environment *ev,
		ODType kind)
{
   SOM_ResolveD(this,ODPart,ODPart,ChangeKind)
	(this, ev,kind);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: HandleEvent */
ODBoolean   HandleEvent(Environment *ev,
		ODEventData* event,
		ODFrame* frame,
		ODFacet* facet,
		ODEventInfo* eventInfo)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,HandleEvent)
	(this, ev,event,frame,facet,eventInfo);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,HandleEvent)
	(this, ev,event,frame,facet,eventInfo);
#endif
}


/* method: AdjustMenus */
void   AdjustMenus(Environment *ev,
		ODFrame* frame)
{
   SOM_ResolveD(this,ODPart,ODPart,AdjustMenus)
	(this, ev,frame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: UndoAction */
void   UndoAction(Environment *ev,
		ODActionData* actionState)
{
   SOM_ResolveD(this,ODPart,ODPart,UndoAction)
	(this, ev,actionState);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: RedoAction */
void   RedoAction(Environment *ev,
		ODActionData* actionState)
{
   SOM_ResolveD(this,ODPart,ODPart,RedoAction)
	(this, ev,actionState);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: DisposeActionState */
void   DisposeActionState(Environment *ev,
		ODActionData* actionState,
		ODDoneState doneState)
{
   SOM_ResolveD(this,ODPart,ODPart,DisposeActionState)
	(this, ev,actionState,doneState);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: WriteActionState */
void   WriteActionState(Environment *ev,
		ODActionData* actionState,
		ODStorageUnitView* storageUnitView)
{
   SOM_ResolveD(this,ODPart,ODPart,WriteActionState)
	(this, ev,actionState,storageUnitView);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: ReadActionState */
ODActionData   ReadActionState(Environment *ev,
		ODStorageUnitView* storageUnitView)
{
#ifdef SOMCHKEXCEPT
   ODActionData __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,ReadActionState)
	(this, ev,storageUnitView);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,ReadActionState)
	(this, ev,storageUnitView);
#endif
}


/* method: FulfillPromise */
void   FulfillPromise(Environment *ev,
		ODStorageUnitView* promiseSUView)
{
   SOM_ResolveD(this,ODPart,ODPart,FulfillPromise)
	(this, ev,promiseSUView);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: DropCompleted */
void   DropCompleted(Environment *ev,
		ODPart* destPart,
		ODDropResult dropResult)
{
   SOM_ResolveD(this,ODPart,ODPart,DropCompleted)
	(this, ev,destPart,dropResult);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: DragEnter */
ODDragResult   DragEnter(Environment *ev,
		ODDragItemIterator* dragInfo,
		ODFacet* facet,
		ODPoint* where)
{
#ifdef SOMCHKEXCEPT
   ODDragResult __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,DragEnter)
	(this, ev,dragInfo,facet,where);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,DragEnter)
	(this, ev,dragInfo,facet,where);
#endif
}


/* method: DragWithin */
ODDragResult   DragWithin(Environment *ev,
		ODDragItemIterator* dragInfo,
		ODFacet* facet,
		ODPoint* where)
{
#ifdef SOMCHKEXCEPT
   ODDragResult __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,DragWithin)
	(this, ev,dragInfo,facet,where);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,DragWithin)
	(this, ev,dragInfo,facet,where);
#endif
}


/* method: DragLeave */
void   DragLeave(Environment *ev,
		ODFacet* facet,
		ODPoint* where)
{
   SOM_ResolveD(this,ODPart,ODPart,DragLeave)
	(this, ev,facet,where);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: Drop */
ODDropResult   Drop(Environment *ev,
		ODDragItemIterator* dropInfo,
		ODFacet* facet,
		ODPoint* where)
{
#ifdef SOMCHKEXCEPT
   ODDropResult __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,Drop)
	(this, ev,dropInfo,facet,where);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,Drop)
	(this, ev,dropInfo,facet,where);
#endif
}


/* method: CreateLink */
ODLinkSource*   CreateLink(Environment *ev,
		ODByteArray* data)
{
#ifdef SOMCHKEXCEPT
   ODLinkSource* __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,CreateLink)
	(this, ev,data);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,CreateLink)
	(this, ev,data);
#endif
}


/* method: RevealLink */
void   RevealLink(Environment *ev,
		ODLinkSource* linkSource)
{
   SOM_ResolveD(this,ODPart,ODPart,RevealLink)
	(this, ev,linkSource);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: LinkUpdated */
void   LinkUpdated(Environment *ev,
		ODLink* updatedLink,
		ODUpdateID change)
{
   SOM_ResolveD(this,ODPart,ODPart,LinkUpdated)
	(this, ev,updatedLink,change);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: EmbeddedFrameUpdated */
void   EmbeddedFrameUpdated(Environment *ev,
		ODFrame* frame,
		ODUpdateID change)
{
   SOM_ResolveD(this,ODPart,ODPart,EmbeddedFrameUpdated)
	(this, ev,frame,change);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: EditInLinkAttempted */
ODBoolean   EditInLinkAttempted(Environment *ev,
		ODFrame* frame)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,EditInLinkAttempted)
	(this, ev,frame);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,EditInLinkAttempted)
	(this, ev,frame);
#endif
}


/* method: RequestEmbeddedFrame */
ODFrame*   RequestEmbeddedFrame(Environment *ev,
		ODFrame* containingFrame,
		ODFrame* baseFrame,
		ODShape* frameShape,
		ODPart* embedPart,
		ODTypeToken viewType,
		ODTypeToken presentation,
		ODBoolean isOverlaid)
{
#ifdef SOMCHKEXCEPT
   ODFrame* __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,RequestEmbeddedFrame)
	(this, ev,containingFrame,baseFrame,frameShape,embedPart,viewType,presentation,isOverlaid);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,RequestEmbeddedFrame)
	(this, ev,containingFrame,baseFrame,frameShape,embedPart,viewType,presentation,isOverlaid);
#endif
}


/* method: RemoveEmbeddedFrame */
void   RemoveEmbeddedFrame(Environment *ev,
		ODFrame* embeddedFrame)
{
   SOM_ResolveD(this,ODPart,ODPart,RemoveEmbeddedFrame)
	(this, ev,embeddedFrame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: RequestFrameShape */
ODShape*   RequestFrameShape(Environment *ev,
		ODFrame* embeddedFrame,
		ODShape* frameShape)
{
#ifdef SOMCHKEXCEPT
   ODShape* __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,RequestFrameShape)
	(this, ev,embeddedFrame,frameShape);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,RequestFrameShape)
	(this, ev,embeddedFrame,frameShape);
#endif
}


/* method: UsedShapeChanged */
void   UsedShapeChanged(Environment *ev,
		ODFrame* embeddedFrame)
{
   SOM_ResolveD(this,ODPart,ODPart,UsedShapeChanged)
	(this, ev,embeddedFrame);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: AdjustBorderShape */
ODShape*   AdjustBorderShape(Environment *ev,
		ODFacet* embeddedFacet,
		ODShape* shape)
{
#ifdef SOMCHKEXCEPT
   ODShape* __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,AdjustBorderShape)
	(this, ev,embeddedFacet,shape);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,AdjustBorderShape)
	(this, ev,embeddedFacet,shape);
#endif
}


/* method: AcquireContainingPartProperties */
ODStorageUnit*   AcquireContainingPartProperties(Environment *ev,
		ODFrame* frame)
{
#ifdef SOMCHKEXCEPT
   ODStorageUnit* __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,AcquireContainingPartProperties)
	(this, ev,frame);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,AcquireContainingPartProperties)
	(this, ev,frame);
#endif
}


/* method: RevealFrame */
ODBoolean   RevealFrame(Environment *ev,
		ODFrame* embeddedFrame,
		ODShape* revealShape)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,RevealFrame)
	(this, ev,embeddedFrame,revealShape);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,RevealFrame)
	(this, ev,embeddedFrame,revealShape);
#endif
}


/* method: EmbeddedFrameSpec */
void   EmbeddedFrameSpec(Environment *ev,
		ODFrame* embeddedFrame,
		ODObjectSpec* spec)
{
   SOM_ResolveD(this,ODPart,ODPart,EmbeddedFrameSpec)
	(this, ev,embeddedFrame,spec);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: CreateEmbeddedFramesIterator */
ODEmbeddedFramesIterator*   CreateEmbeddedFramesIterator(Environment *ev,
		ODFrame* frame)
{
#ifdef SOMCHKEXCEPT
   ODEmbeddedFramesIterator* __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,CreateEmbeddedFramesIterator)
	(this, ev,frame);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,CreateEmbeddedFramesIterator)
	(this, ev,frame);
#endif
}


/* method: IsRealPart */
ODBoolean   IsRealPart(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,IsRealPart)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,IsRealPart)
	(this, ev);
#endif
}


/* method: GetRealPart */
ODPart*   GetRealPart(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   ODPart* __somResult = 
      SOM_ResolveD(this,ODPart,ODPart,GetRealPart)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPart,GetRealPart)
	(this, ev);
#endif
}


/* method: ReleaseRealPart */
void   ReleaseRealPart(Environment *ev)
{
   SOM_ResolveD(this,ODPart,ODPart,ReleaseRealPart)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/*
 * Reintroduce inherited methods
 */

/* method: InitPersistentObject */
void   InitPersistentObject(Environment *ev,
		ODStorageUnit* storageUnit)
{
   SOM_ResolveD(this,ODPart,ODPersistentObject,InitPersistentObject)
	(this, ev,storageUnit);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: InitPersistentObjectFromStorage */
void   InitPersistentObjectFromStorage(Environment *ev,
		ODStorageUnit* storageUnit)
{
   SOM_ResolveD(this,ODPart,ODPersistentObject,InitPersistentObjectFromStorage)
	(this, ev,storageUnit);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: ReleaseAll */
void   ReleaseAll(Environment *ev)
{
   SOM_ResolveD(this,ODPart,ODPersistentObject,ReleaseAll)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: Externalize */
void   Externalize(Environment *ev)
{
   SOM_ResolveD(this,ODPart,ODPersistentObject,Externalize)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: GetStorageUnit */
ODStorageUnit*   GetStorageUnit(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   ODStorageUnit* __somResult = 
      SOM_ResolveD(this,ODPart,ODPersistentObject,GetStorageUnit)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPersistentObject,GetStorageUnit)
	(this, ev);
#endif
}


/* method: GetID */
ODID   GetID(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   ODID __somResult = 
      SOM_ResolveD(this,ODPart,ODPersistentObject,GetID)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODPersistentObject,GetID)
	(this, ev);
#endif
}


/* method: CloneInto */
void   CloneInto(Environment *ev,
		ODDraftKey key,
		ODStorageUnit* toSU,
		ODFrame* scope)
{
   SOM_ResolveD(this,ODPart,ODPersistentObject,CloneInto)
	(this, ev,key,toSU,scope);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: somUninit */
void   somUninit()
{
   SOM_ResolveD(this,ODPart,SOMObject,somUninit)
	(this);
}


/* method: InitRefCntObject */
void   InitRefCntObject(Environment *ev)
{
   SOM_ResolveD(this,ODPart,ODRefCntObject,InitRefCntObject)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: Acquire */
void   Acquire(Environment *ev)
{
   SOM_ResolveD(this,ODPart,ODRefCntObject,Acquire)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: Release */
void   Release(Environment *ev)
{
   SOM_ResolveD(this,ODPart,ODRefCntObject,Release)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: GetRefCount */
ODULong   GetRefCount(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   ODULong __somResult = 
      SOM_ResolveD(this,ODPart,ODRefCntObject,GetRefCount)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODRefCntObject,GetRefCount)
	(this, ev);
#endif
}


/* method: InitObject */
void   InitObject(Environment *ev)
{
   SOM_ResolveD(this,ODPart,ODObject,InitObject)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: HasExtension */
ODBoolean   HasExtension(Environment *ev,
		ODType extensionName)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODPart,ODObject,HasExtension)
	(this, ev,extensionName);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODObject,HasExtension)
	(this, ev,extensionName);
#endif
}


/* method: AcquireExtension */
ODExtension*   AcquireExtension(Environment *ev,
		ODType extensionName)
{
#ifdef SOMCHKEXCEPT
   ODExtension* __somResult = 
      SOM_ResolveD(this,ODPart,ODObject,AcquireExtension)
	(this, ev,extensionName);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODObject,AcquireExtension)
	(this, ev,extensionName);
#endif
}


/* method: ReleaseExtension */
void   ReleaseExtension(Environment *ev,
		ODExtension* extension)
{
   SOM_ResolveD(this,ODPart,ODObject,ReleaseExtension)
	(this, ev,extension);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: Purge */
ODSize   Purge(Environment *ev,
		ODSize size)
{
#ifdef SOMCHKEXCEPT
   ODSize __somResult = 
      SOM_ResolveD(this,ODPart,ODObject,Purge)
	(this, ev,size);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODObject,Purge)
	(this, ev,size);
#endif
}


/* method: IsEqualTo */
ODBoolean   IsEqualTo(Environment *ev,
		ODObject* object)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODPart,ODObject,IsEqualTo)
	(this, ev,object);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODPart,ODObject,IsEqualTo)
	(this, ev,object);
#endif
}


/* method: SubClassResponsibility */
void   SubClassResponsibility(Environment *ev)
{
   SOM_ResolveD(this,ODPart,ODObject,SubClassResponsibility)
	(this, ev);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: somInit */
void   somInit()
{
   SOM_ResolveD(this,ODPart,SOMObject,somInit)
	(this);
}


/* initializer method: somDefaultInit */
void   somDefaultInit(somInitCtrl* ctrl)
{
   SOM_ResolveD(this,ODPart,SOMObject,somDefaultInit)
	(this,ctrl);
}


/* method: somDestruct */
void   somDestruct(octet doFree,
		somDestructCtrl* ctrl)
{
   SOM_ResolveD(this,ODPart,SOMObject,somDestruct)
	(this,doFree,ctrl);
}


/* initializer method: somDefaultCopyInit */
void   somDefaultCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,ODPart,SOMObject,somDefaultCopyInit)
	(this,ctrl,fromObj);
}


/* method: somDefaultAssign */
ODPart*  somDefaultAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,ODPart,SOMObject,somDefaultAssign)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultConstCopyInit */
void   somDefaultConstCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,ODPart,SOMObject,somDefaultConstCopyInit)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultVCopyInit */
void   somDefaultVCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,ODPart,SOMObject,somDefaultVCopyInit)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultConstVCopyInit */
void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,ODPart,SOMObject,somDefaultConstVCopyInit)
	(this,ctrl,fromObj);
}


/* method: somDefaultConstAssign */
ODPart*  somDefaultConstAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,ODPart,SOMObject,somDefaultConstAssign)
	(this,ctrl,fromObj);
}


/* method: somDefaultVAssign */
ODPart*  somDefaultVAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,ODPart,SOMObject,somDefaultVAssign)
	(this,ctrl,fromObj);
}


/* method: somDefaultConstVAssign */
ODPart*  somDefaultConstVAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,ODPart,SOMObject,somDefaultConstVAssign)
	(this,ctrl,fromObj);
}


/* method: somFree */
void   somFree()
{
   SOM_ResolveD(this,ODPart,SOMObject,somFree)
	(this);
}


/* method: somGetClass */
SOMClass*   somGetClass()
{
   return SOM_ResolveD(this,ODPart,SOMObject,somGetClass)
	(this);
}


/* method: somGetClassName */
string   somGetClassName()
{
   return SOM_ResolveD(this,ODPart,SOMObject,somGetClassName)
	(this);
}


/* method: somGetSize */
long   somGetSize()
{
   return SOM_ResolveD(this,ODPart,SOMObject,somGetSize)
	(this);
}


/* method: somIsA */
boolean   somIsA(SOMClass* aClassObj)
{
   return SOM_ResolveD(this,ODPart,SOMObject,somIsA)
	(this,aClassObj);
}


/* method: somIsInstanceOf */
boolean   somIsInstanceOf(SOMClass* aClassObj)
{
   return SOM_ResolveD(this,ODPart,SOMObject,somIsInstanceOf)
	(this,aClassObj);
}


/* method: somRespondsTo */
boolean   somRespondsTo(somId mId)
{
   return SOM_ResolveD(this,ODPart,SOMObject,somRespondsTo)
	(this,mId);
}


/* va_list method: somDispatch */
/* the va_list invocation form */
boolean   ODPart_somDispatch(somToken* retValue,
		somId methodId,
		va_list ap)
{
return SOM_ResolveD(this,ODPart,SOMObject,somDispatch)
	(this,retValue,methodId,ap);
}

/* the varargs invocation form */
boolean   somDispatch(somToken* retValue,
		somId methodId,
		...)
{
   va_list ap;
   va_start(ap, methodId);
   boolean __somResult = 
      SOM_ResolveD(this,ODPart,SOMObject,somDispatch)
	(this,retValue,methodId,ap);
   va_end(ap);
   return __somResult;
}


/* va_list method: somClassDispatch */
/* the va_list invocation form */
boolean   ODPart_somClassDispatch(SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap)
{
return SOM_ResolveD(this,ODPart,SOMObject,somClassDispatch)
	(this,clsObj,retValue,methodId,ap);
}

/* the varargs invocation form */
boolean   somClassDispatch(SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		...)
{
   va_list ap;
   va_start(ap, methodId);
   boolean __somResult = 
      SOM_ResolveD(this,ODPart,SOMObject,somClassDispatch)
	(this,clsObj,retValue,methodId,ap);
   va_end(ap);
   return __somResult;
}


/* method: somCastObj */
boolean   somCastObj(SOMClass* cls)
{
   return SOM_ResolveD(this,ODPart,SOMObject,somCastObj)
	(this,cls);
}


/* method: somResetObj */
boolean   somResetObj()
{
   return SOM_ResolveD(this,ODPart,SOMObject,somResetObj)
	(this);
}


/* method: somPrintSelf */
SOMObject*   somPrintSelf()
{
   return SOM_ResolveD(this,ODPart,SOMObject,somPrintSelf)
	(this);
}


/* method: somDumpSelf */
void   somDumpSelf(long level)
{
   SOM_ResolveD(this,ODPart,SOMObject,somDumpSelf)
	(this,level);
}


/* method: somDumpSelfInt */
void   somDumpSelfInt(long level)
{
   SOM_ResolveD(this,ODPart,SOMObject,somDumpSelfInt)
	(this,level);
}



};   /* ODPart */



#endif       /* SOM_ODPart_xh */

#ifndef SOM_M_ODPart_xh
#define SOM_M_ODPart_xh

class M_ODPart;

#define M_ODPart_MajorVersion 0
#define M_ODPart_MinorVersion 0

/* C++ SOM defs */
#include <somcls.xh>
#include <somcm.xh>

/* C++ parent defs */
#ifndef SOM_SOMClass_xh
#include <somcls.xh>
#endif

#ifndef M_ODPart_API
#define M_ODPart_API
/*
 * -- The Class API
 */

/*
 * Start of user-defined types:
 */
struct PartKindInfo;
#ifndef _IDL_SEQUENCE_PartKindInfo_defined
#define _IDL_SEQUENCE_PartKindInfo_defined
typedef struct {
    unsigned long _maximum;
    unsigned long _length;
    struct PartKindInfo *_buffer;
} _IDL_SEQUENCE_PartKindInfo;
#endif /* _IDL_SEQUENCE_PartKindInfo_defined */ 

#ifndef SOM_DONT_USE_SHORT_NAMES
#endif /* SOM_DONT_USE_SHORT_NAMES */

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

/* A procedure to create the M_ODPart Class */
SOMEXTERN
#if (defined(SOM_Module_Part_Source) || defined(M_ODPart_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_M_ODPart))
WIN32_DLLEXPORT
#else
WIN32_DLLIMPORT
#endif
SOMClass * SOMLINK M_ODPartNewClass(
		integer4,
		integer4 );

/* The API to the M_ODPart class object, and the methods it introduces. */
SOMEXTERN struct M_ODPartClassDataStructure {
	SOMClass *classObject;
	somMToken clsGetODPartHandlerName;
	somMToken clsGetODPartHandlerDisplayName;
	somMToken clsGetODPartKinds;
	somMToken clsGetOLE2ClassId;
	somMToken clsGetWindowsIconFileName;
}
#if !(defined(SOM_Module_Part_Source) || defined(M_ODPart_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_M_ODPart))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK M_ODPartClassData;
#define _M_ODPart M_ODPartClassData.classObject

/* The API to parentMtabs for M_ODPart, and the instance data it introduces. */
SOMEXTERN struct M_ODPartCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
}
#if !(defined(SOM_Module_Part_Source) || defined(M_ODPart_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_M_ODPart))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK M_ODPartCClassData;

/*
 * -- Typedefs for M_ODPart Method Procedures
 */
extern "C" {
typedef ISOString   SOMLINK somTP_M_ODPart_clsGetODPartHandlerName(M_ODPart *somSelf, Environment *ev);
typedef somTP_M_ODPart_clsGetODPartHandlerName *somTD_M_ODPart_clsGetODPartHandlerName;
typedef string   SOMLINK somTP_M_ODPart_clsGetODPartHandlerDisplayName(M_ODPart *somSelf, Environment *ev);
typedef somTP_M_ODPart_clsGetODPartHandlerDisplayName *somTD_M_ODPart_clsGetODPartHandlerDisplayName;
typedef _IDL_SEQUENCE_PartKindInfo   SOMLINK somTP_M_ODPart_clsGetODPartKinds(M_ODPart *somSelf, Environment *ev);
typedef somTP_M_ODPart_clsGetODPartKinds *somTD_M_ODPart_clsGetODPartKinds;
typedef string   SOMLINK somTP_M_ODPart_clsGetOLE2ClassId(M_ODPart *somSelf, Environment *ev);
typedef somTP_M_ODPart_clsGetOLE2ClassId *somTD_M_ODPart_clsGetOLE2ClassId;
typedef string   SOMLINK somTP_M_ODPart_clsGetWindowsIconFileName(M_ODPart *somSelf, Environment *ev);
typedef somTP_M_ODPart_clsGetWindowsIconFileName *somTD_M_ODPart_clsGetWindowsIconFileName;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef long   SOMLINK somTP_M_ODPart__get_somDataAlignment(M_ODPart *somSelf);
typedef somTP_M_ODPart__get_somDataAlignment *somTD_M_ODPart__get_somDataAlignment;
typedef SOMClass_somOffsets   SOMLINK somTP_M_ODPart__get_somInstanceDataOffsets(M_ODPart *somSelf);
typedef somTP_M_ODPart__get_somInstanceDataOffsets *somTD_M_ODPart__get_somInstanceDataOffsets;
typedef SOMClass_SOMClassSequence   SOMLINK somTP_M_ODPart__get_somDirectInitClasses(M_ODPart *somSelf);
typedef somTP_M_ODPart__get_somDirectInitClasses *somTD_M_ODPart__get_somDirectInitClasses;
typedef void   SOMLINK somTP_M_ODPart__set_somDirectInitClasses(M_ODPart *somSelf,
		SOMClass_SOMClassSequence* somDirectInitClasses);
typedef somTP_M_ODPart__set_somDirectInitClasses *somTD_M_ODPart__set_somDirectInitClasses;
typedef SOMObject*   SOMLINK somTP_M_ODPart_somNew(M_ODPart *somSelf);
typedef somTP_M_ODPart_somNew *somTD_M_ODPart_somNew;
typedef SOMObject*   SOMLINK somTP_M_ODPart_somNewNoInit(M_ODPart *somSelf);
typedef somTP_M_ODPart_somNewNoInit *somTD_M_ODPart_somNewNoInit;
typedef SOMObject*   SOMLINK somTP_M_ODPart_somRenew(M_ODPart *somSelf,
		void* obj);
typedef somTP_M_ODPart_somRenew *somTD_M_ODPart_somRenew;
typedef SOMObject*   SOMLINK somTP_M_ODPart_somRenewNoInit(M_ODPart *somSelf,
		void* obj);
typedef somTP_M_ODPart_somRenewNoInit *somTD_M_ODPart_somRenewNoInit;
typedef SOMObject*   SOMLINK somTP_M_ODPart_somRenewNoZero(M_ODPart *somSelf,
		void* obj);
typedef somTP_M_ODPart_somRenewNoZero *somTD_M_ODPart_somRenewNoZero;
typedef SOMObject*   SOMLINK somTP_M_ODPart_somRenewNoInitNoZero(M_ODPart *somSelf,
		void* obj);
typedef somTP_M_ODPart_somRenewNoInitNoZero *somTD_M_ODPart_somRenewNoInitNoZero;
typedef string   SOMLINK somTP_M_ODPart_somAllocate(M_ODPart *somSelf,
		long size);
typedef somTP_M_ODPart_somAllocate *somTD_M_ODPart_somAllocate;
typedef void   SOMLINK somTP_M_ODPart_somDeallocate(M_ODPart *somSelf,
		string memptr);
typedef somTP_M_ODPart_somDeallocate *somTD_M_ODPart_somDeallocate;
typedef somMethodProc*   SOMLINK somTP_M_ODPart__get_somClassAllocate(M_ODPart *somSelf);
typedef somTP_M_ODPart__get_somClassAllocate *somTD_M_ODPart__get_somClassAllocate;
typedef somMethodProc*   SOMLINK somTP_M_ODPart__get_somClassDeallocate(M_ODPart *somSelf);
typedef somTP_M_ODPart__get_somClassDeallocate *somTD_M_ODPart__get_somClassDeallocate;
typedef somBooleanVector   SOMLINK somTP_M_ODPart_somGetInstanceInitMask(M_ODPart *somSelf,
		somInitCtrl* ctrl);
typedef somTP_M_ODPart_somGetInstanceInitMask *somTD_M_ODPart_somGetInstanceInitMask;
typedef somBooleanVector   SOMLINK somTP_M_ODPart_somGetInstanceDestructionMask(M_ODPart *somSelf,
		somDestructCtrl* ctrl);
typedef somTP_M_ODPart_somGetInstanceDestructionMask *somTD_M_ODPart_somGetInstanceDestructionMask;
typedef somBooleanVector   SOMLINK somTP_M_ODPart_somGetInstanceAssignmentMask(M_ODPart *somSelf,
		somAssignCtrl* ctrl);
typedef somTP_M_ODPart_somGetInstanceAssignmentMask *somTD_M_ODPart_somGetInstanceAssignmentMask;
typedef void   SOMLINK somTP_M_ODPart_somInitClass(M_ODPart *somSelf,
		string className,
		SOMClass* parentClass,
		long dataSize,
		long maxStaticMethods,
		long majorVersion,
		long minorVersion);
typedef somTP_M_ODPart_somInitClass *somTD_M_ODPart_somInitClass;
typedef void   SOMLINK somTP_M_ODPart_somInitMIClass(M_ODPart *somSelf,
		long inherit_vars,
		string className,
		SOMClass_SOMClassSequence* parentClasses,
		long dataSize,
		long dataAlignment,
		long maxStaticMethods,
		long majorVersion,
		long minorVersion);
typedef somTP_M_ODPart_somInitMIClass *somTD_M_ODPart_somInitMIClass;
typedef somMToken   SOMLINK somTP_M_ODPart_somAddStaticMethod(M_ODPart *somSelf,
		somId methodId,
		somId methodDescriptor,
		somMethodPtr method,
		somMethodPtr redispatchStub,
		somMethodPtr applyStub);
typedef somTP_M_ODPart_somAddStaticMethod *somTD_M_ODPart_somAddStaticMethod;
typedef void   SOMLINK somTP_M_ODPart_somAddDynamicMethod(M_ODPart *somSelf,
		somId methodId,
		somId methodDescriptor,
		somMethodPtr method,
		somMethodPtr applyStub);
typedef somTP_M_ODPart_somAddDynamicMethod *somTD_M_ODPart_somAddDynamicMethod;
typedef void   SOMLINK somTP_M_ODPart_somOverrideSMethod(M_ODPart *somSelf,
		somId methodId,
		somMethodPtr method);
typedef somTP_M_ODPart_somOverrideSMethod *somTD_M_ODPart_somOverrideSMethod;
typedef void   SOMLINK somTP_M_ODPart_somClassReady(M_ODPart *somSelf);
typedef somTP_M_ODPart_somClassReady *somTD_M_ODPart_somClassReady;
typedef somClassDataStructure*   SOMLINK somTP_M_ODPart_somGetClassData(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetClassData *somTD_M_ODPart_somGetClassData;
typedef void   SOMLINK somTP_M_ODPart_somSetClassData(M_ODPart *somSelf,
		somClassDataStructure* cds);
typedef somTP_M_ODPart_somSetClassData *somTD_M_ODPart_somSetClassData;
typedef somMethodTab*   SOMLINK somTP_M_ODPart_somGetClassMtab(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetClassMtab *somTD_M_ODPart_somGetClassMtab;
typedef long   SOMLINK somTP_M_ODPart_somGetInstanceOffset(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetInstanceOffset *somTD_M_ODPart_somGetInstanceOffset;
typedef long   SOMLINK somTP_M_ODPart_somGetInstancePartSize(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetInstancePartSize *somTD_M_ODPart_somGetInstancePartSize;
typedef long   SOMLINK somTP_M_ODPart_somGetInstanceSize(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetInstanceSize *somTD_M_ODPart_somGetInstanceSize;
typedef somDToken   SOMLINK somTP_M_ODPart_somGetInstanceToken(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetInstanceToken *somTD_M_ODPart_somGetInstanceToken;
typedef somDToken   SOMLINK somTP_M_ODPart_somGetMemberToken(M_ODPart *somSelf,
		long memberOffset,
		somDToken instanceToken);
typedef somTP_M_ODPart_somGetMemberToken *somTD_M_ODPart_somGetMemberToken;
typedef boolean   SOMLINK somTP_M_ODPart_somGetMethodData(M_ODPart *somSelf,
		somId methodId,
		somMethodData* md);
typedef somTP_M_ODPart_somGetMethodData *somTD_M_ODPart_somGetMethodData;
typedef somMethodProc*   SOMLINK somTP_M_ODPart_somGetRdStub(M_ODPart *somSelf,
		somId methodId);
typedef somTP_M_ODPart_somGetRdStub *somTD_M_ODPart_somGetRdStub;
typedef somId   SOMLINK somTP_M_ODPart_somGetMethodDescriptor(M_ODPart *somSelf,
		somId methodId);
typedef somTP_M_ODPart_somGetMethodDescriptor *somTD_M_ODPart_somGetMethodDescriptor;
typedef long   SOMLINK somTP_M_ODPart_somGetMethodIndex(M_ODPart *somSelf,
		somId id);
typedef somTP_M_ODPart_somGetMethodIndex *somTD_M_ODPart_somGetMethodIndex;
typedef somMToken   SOMLINK somTP_M_ODPart_somGetMethodToken(M_ODPart *somSelf,
		somId methodId);
typedef somTP_M_ODPart_somGetMethodToken *somTD_M_ODPart_somGetMethodToken;
typedef string   SOMLINK somTP_M_ODPart_somGetName(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetName *somTD_M_ODPart_somGetName;
typedef boolean   SOMLINK somTP_M_ODPart_somGetNthMethodData(M_ODPart *somSelf,
		long n,
		somMethodData* md);
typedef somTP_M_ODPart_somGetNthMethodData *somTD_M_ODPart_somGetNthMethodData;
typedef somId   SOMLINK somTP_M_ODPart_somGetNthMethodInfo(M_ODPart *somSelf,
		long n,
		somId* descriptor);
typedef somTP_M_ODPart_somGetNthMethodInfo *somTD_M_ODPart_somGetNthMethodInfo;
typedef long   SOMLINK somTP_M_ODPart_somGetNumMethods(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetNumMethods *somTD_M_ODPart_somGetNumMethods;
typedef long   SOMLINK somTP_M_ODPart_somGetNumStaticMethods(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetNumStaticMethods *somTD_M_ODPart_somGetNumStaticMethods;
typedef SOMClass*   SOMLINK somTP_M_ODPart_somGetParent(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetParent *somTD_M_ODPart_somGetParent;
typedef SOMClass_SOMClassSequence   SOMLINK somTP_M_ODPart_somGetParents(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetParents *somTD_M_ODPart_somGetParents;
typedef somMethodTabs   SOMLINK somTP_M_ODPart_somGetPClsMtab(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetPClsMtab *somTD_M_ODPart_somGetPClsMtab;
typedef somMethodTabs   SOMLINK somTP_M_ODPart_somGetPClsMtabs(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetPClsMtabs *somTD_M_ODPart_somGetPClsMtabs;
typedef void   SOMLINK somTP_M_ODPart_somGetVersionNumbers(M_ODPart *somSelf,
		long* majorVersion,
		long* minorVersion);
typedef somTP_M_ODPart_somGetVersionNumbers *somTD_M_ODPart_somGetVersionNumbers;
typedef boolean   SOMLINK somTP_M_ODPart_somSetMethodDescriptor(M_ODPart *somSelf,
		somId methodId,
		somId descriptor);
typedef somTP_M_ODPart_somSetMethodDescriptor *somTD_M_ODPart_somSetMethodDescriptor;
typedef boolean   SOMLINK somTP_M_ODPart_somFindMethod(M_ODPart *somSelf,
		somId methodId,
		somMethodPtr* m);
typedef somTP_M_ODPart_somFindMethod *somTD_M_ODPart_somFindMethod;
typedef boolean   SOMLINK somTP_M_ODPart_somFindMethodOk(M_ODPart *somSelf,
		somId methodId,
		somMethodPtr* m);
typedef somTP_M_ODPart_somFindMethodOk *somTD_M_ODPart_somFindMethodOk;
typedef somMethodPtr   SOMLINK somTP_M_ODPart_somFindSMethod(M_ODPart *somSelf,
		somId methodId);
typedef somTP_M_ODPart_somFindSMethod *somTD_M_ODPart_somFindSMethod;
typedef somMethodPtr   SOMLINK somTP_M_ODPart_somFindSMethodOk(M_ODPart *somSelf,
		somId methodId);
typedef somTP_M_ODPart_somFindSMethodOk *somTD_M_ODPart_somFindSMethodOk;
typedef somMethodPtr   SOMLINK somTP_M_ODPart_somLookupMethod(M_ODPart *somSelf,
		somId methodId);
typedef somTP_M_ODPart_somLookupMethod *somTD_M_ODPart_somLookupMethod;
typedef boolean   SOMLINK somTP_M_ODPart_somCheckVersion(M_ODPart *somSelf,
		long majorVersion,
		long minorVersion);
typedef somTP_M_ODPart_somCheckVersion *somTD_M_ODPart_somCheckVersion;
typedef boolean   SOMLINK somTP_M_ODPart_somDescendedFrom(M_ODPart *somSelf,
		SOMClass* aClassObj);
typedef somTP_M_ODPart_somDescendedFrom *somTD_M_ODPart_somDescendedFrom;
typedef boolean   SOMLINK somTP_M_ODPart_somSupportsMethod(M_ODPart *somSelf,
		somId mId);
typedef somTP_M_ODPart_somSupportsMethod *somTD_M_ODPart_somSupportsMethod;
typedef somMethodPtr   SOMLINK somTP_M_ODPart_somDefinedMethod(M_ODPart *somSelf,
		somMToken method);
typedef somTP_M_ODPart_somDefinedMethod *somTD_M_ODPart_somDefinedMethod;
typedef void   SOMLINK somTP_M_ODPart_somOverrideMtab(M_ODPart *somSelf);
typedef somTP_M_ODPart_somOverrideMtab *somTD_M_ODPart_somOverrideMtab;
typedef void   SOMLINK somTP_M_ODPart_somDefaultInit(M_ODPart *somSelf,
		somInitCtrl* ctrl);
typedef somTP_M_ODPart_somDefaultInit *somTD_M_ODPart_somDefaultInit;
typedef void   SOMLINK somTP_M_ODPart_somDestruct(M_ODPart *somSelf,
		octet doFree,
		somDestructCtrl* ctrl);
typedef somTP_M_ODPart_somDestruct *somTD_M_ODPart_somDestruct;
typedef void   SOMLINK somTP_M_ODPart_somDefaultCopyInit(M_ODPart *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_M_ODPart_somDefaultCopyInit *somTD_M_ODPart_somDefaultCopyInit;
typedef M_ODPart*   SOMLINK somTP_M_ODPart_somDefaultAssign(M_ODPart *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_M_ODPart_somDefaultAssign *somTD_M_ODPart_somDefaultAssign;
typedef void   SOMLINK somTP_M_ODPart_somDefaultConstCopyInit(M_ODPart *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_M_ODPart_somDefaultConstCopyInit *somTD_M_ODPart_somDefaultConstCopyInit;
typedef void   SOMLINK somTP_M_ODPart_somDefaultVCopyInit(M_ODPart *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_M_ODPart_somDefaultVCopyInit *somTD_M_ODPart_somDefaultVCopyInit;
typedef void   SOMLINK somTP_M_ODPart_somDefaultConstVCopyInit(M_ODPart *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_M_ODPart_somDefaultConstVCopyInit *somTD_M_ODPart_somDefaultConstVCopyInit;
typedef M_ODPart*   SOMLINK somTP_M_ODPart_somDefaultConstAssign(M_ODPart *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_M_ODPart_somDefaultConstAssign *somTD_M_ODPart_somDefaultConstAssign;
typedef M_ODPart*   SOMLINK somTP_M_ODPart_somDefaultVAssign(M_ODPart *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_M_ODPart_somDefaultVAssign *somTD_M_ODPart_somDefaultVAssign;
typedef M_ODPart*   SOMLINK somTP_M_ODPart_somDefaultConstVAssign(M_ODPart *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_M_ODPart_somDefaultConstVAssign *somTD_M_ODPart_somDefaultConstVAssign;
typedef void   SOMLINK somTP_M_ODPart_somInit(M_ODPart *somSelf);
typedef somTP_M_ODPart_somInit *somTD_M_ODPart_somInit;
typedef void   SOMLINK somTP_M_ODPart_somFree(M_ODPart *somSelf);
typedef somTP_M_ODPart_somFree *somTD_M_ODPart_somFree;
typedef void   SOMLINK somTP_M_ODPart_somUninit(M_ODPart *somSelf);
typedef somTP_M_ODPart_somUninit *somTD_M_ODPart_somUninit;
typedef SOMClass*   SOMLINK somTP_M_ODPart_somGetClass(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetClass *somTD_M_ODPart_somGetClass;
typedef string   SOMLINK somTP_M_ODPart_somGetClassName(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetClassName *somTD_M_ODPart_somGetClassName;
typedef long   SOMLINK somTP_M_ODPart_somGetSize(M_ODPart *somSelf);
typedef somTP_M_ODPart_somGetSize *somTD_M_ODPart_somGetSize;
typedef boolean   SOMLINK somTP_M_ODPart_somIsA(M_ODPart *somSelf,
		SOMClass* aClassObj);
typedef somTP_M_ODPart_somIsA *somTD_M_ODPart_somIsA;
typedef boolean   SOMLINK somTP_M_ODPart_somIsInstanceOf(M_ODPart *somSelf,
		SOMClass* aClassObj);
typedef somTP_M_ODPart_somIsInstanceOf *somTD_M_ODPart_somIsInstanceOf;
typedef boolean   SOMLINK somTP_M_ODPart_somRespondsTo(M_ODPart *somSelf,
		somId mId);
typedef somTP_M_ODPart_somRespondsTo *somTD_M_ODPart_somRespondsTo;
typedef boolean   SOMLINK somTP_M_ODPart_somDispatch(M_ODPart *somSelf,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_M_ODPart_somDispatch *somTD_M_ODPart_somDispatch;
typedef boolean   SOMLINK somTP_M_ODPart_somClassDispatch(M_ODPart *somSelf,
		SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_M_ODPart_somClassDispatch *somTD_M_ODPart_somClassDispatch;
typedef boolean   SOMLINK somTP_M_ODPart_somCastObj(M_ODPart *somSelf,
		SOMClass* cls);
typedef somTP_M_ODPart_somCastObj *somTD_M_ODPart_somCastObj;
typedef boolean   SOMLINK somTP_M_ODPart_somResetObj(M_ODPart *somSelf);
typedef somTP_M_ODPart_somResetObj *somTD_M_ODPart_somResetObj;
typedef SOMObject*   SOMLINK somTP_M_ODPart_somPrintSelf(M_ODPart *somSelf);
typedef somTP_M_ODPart_somPrintSelf *somTD_M_ODPart_somPrintSelf;
typedef void   SOMLINK somTP_M_ODPart_somDumpSelf(M_ODPart *somSelf,
		long level);
typedef somTP_M_ODPart_somDumpSelf *somTD_M_ODPart_somDumpSelf;
typedef void   SOMLINK somTP_M_ODPart_somDumpSelfInt(M_ODPart *somSelf,
		long level);
typedef somTP_M_ODPart_somDumpSelfInt *somTD_M_ODPart_somDumpSelfInt;
}

#endif /* M_ODPart_API */


/*
 * -- This emitter believes that method thunks are unavailable,
 * -- so somResolve will be called.
 */
#undef somresolve_
#define somresolve_(obj,mToken) (somResolve(obj,mToken))

/*
 * -- The C++ Wrapper Class for M_ODPart
 */
class M_ODPart : public SOMClass
{
public:

// M_ODPart::new creates the class object if necessary, and then uses somNewNoInit
// to allocate memory and create the object. Initialization is in ctors.
void *operator new(size_t)
{
   if (!_M_ODPart) M_ODPartNewClass(M_ODPart_MajorVersion,M_ODPart_MinorVersion);
   return (void*)
      SOM_Resolve(_M_ODPart,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_M_ODPart));
}

// M_ODPart::delete uses somDestruct.
void operator delete(void * obj)
{
   if (obj && *(void**)obj) {
      SOM_Resolve(obj,SOMObject,somDestruct)
         ((SOMObject*)obj, 1, 0);
   }
}

M_ODPart()
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (M_ODPartCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultInit(0);
}

M_ODPart(M_ODPart* fromObj)
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (M_ODPartCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
}

M_ODPart(const M_ODPart* fromObj)
{
   if (*(void**)this != 
       ((somParentMtabStructPtr)
        (M_ODPartCClassData.parentMtab))->mtab)
      return;
   ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
}


/* method: clsGetODPartHandlerName */
ISOString   clsGetODPartHandlerName(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   ISOString __somResult = 
      SOM_ResolveD(this,M_ODPart,M_ODPart,clsGetODPartHandlerName)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,M_ODPart,M_ODPart,clsGetODPartHandlerName)
	(this, ev);
#endif
}


/* method: clsGetODPartHandlerDisplayName */
string   clsGetODPartHandlerDisplayName(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   string __somResult = 
      SOM_ResolveD(this,M_ODPart,M_ODPart,clsGetODPartHandlerDisplayName)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,M_ODPart,M_ODPart,clsGetODPartHandlerDisplayName)
	(this, ev);
#endif
}


/* method: clsGetODPartKinds */
_IDL_SEQUENCE_PartKindInfo   clsGetODPartKinds(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   _IDL_SEQUENCE_PartKindInfo __somResult = 
      SOM_ResolveD(this,M_ODPart,M_ODPart,clsGetODPartKinds)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,M_ODPart,M_ODPart,clsGetODPartKinds)
	(this, ev);
#endif
}


/* method: clsGetOLE2ClassId */
string   clsGetOLE2ClassId(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   string __somResult = 
      SOM_ResolveD(this,M_ODPart,M_ODPart,clsGetOLE2ClassId)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,M_ODPart,M_ODPart,clsGetOLE2ClassId)
	(this, ev);
#endif
}


/* method: clsGetWindowsIconFileName */
string   clsGetWindowsIconFileName(Environment *ev)
{
#ifdef SOMCHKEXCEPT
   string __somResult = 
      SOM_ResolveD(this,M_ODPart,M_ODPart,clsGetWindowsIconFileName)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,M_ODPart,M_ODPart,clsGetWindowsIconFileName)
	(this, ev);
#endif
}


/*
 * Reintroduce inherited methods
 */

/* method: _get_somDataAlignment */
long   _get_somDataAlignment()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,_get_somDataAlignment)
	(this);
}


/* nonstatic method: _get_somInstanceDataOffsets */
SOMClass_somOffsets   _get_somInstanceDataOffsets()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,_get_somInstanceDataOffsets)
	(this);
}


/* nonstatic method: _get_somDirectInitClasses */
SOMClass_SOMClassSequence   _get_somDirectInitClasses()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,_get_somDirectInitClasses)
	(this);
}


/* nonstatic method: _set_somDirectInitClasses */
void   _set_somDirectInitClasses(SOMClass_SOMClassSequence* somDirectInitClasses)
{
   SOM_ResolveD(this,M_ODPart,SOMClass,_set_somDirectInitClasses)
	(this,somDirectInitClasses);
}


/* method: somNew */
SOMObject*   somNew()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somNew)
	(this);
}


/* method: somNewNoInit */
SOMObject*   somNewNoInit()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somNewNoInit)
	(this);
}


/* method: somRenew */
SOMObject*   somRenew(void* obj)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somRenew)
	(this,obj);
}


/* method: somRenewNoInit */
SOMObject*   somRenewNoInit(void* obj)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somRenewNoInit)
	(this,obj);
}


/* method: somRenewNoZero */
SOMObject*   somRenewNoZero(void* obj)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somRenewNoZero)
	(this,obj);
}


/* method: somRenewNoInitNoZero */
SOMObject*   somRenewNoInitNoZero(void* obj)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somRenewNoInitNoZero)
	(this,obj);
}


/* nonstatic method: somAllocate */
string   somAllocate(long size)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somAllocate)
	(this,size);
}


/* nonstatic method: somDeallocate */
void   somDeallocate(string memptr)
{
   SOM_ResolveD(this,M_ODPart,SOMClass,somDeallocate)
	(this,memptr);
}


/* nonstatic method: _get_somClassAllocate */
somMethodProc*   _get_somClassAllocate()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,_get_somClassAllocate)
	(this);
}


/* nonstatic method: _get_somClassDeallocate */
somMethodProc*   _get_somClassDeallocate()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,_get_somClassDeallocate)
	(this);
}


/* method: somGetInstanceInitMask */
somBooleanVector   somGetInstanceInitMask(somInitCtrl* ctrl)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetInstanceInitMask)
	(this,ctrl);
}


/* method: somGetInstanceDestructionMask */
somBooleanVector   somGetInstanceDestructionMask(somDestructCtrl* ctrl)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetInstanceDestructionMask)
	(this,ctrl);
}


/* method: somGetInstanceAssignmentMask */
somBooleanVector   somGetInstanceAssignmentMask(somAssignCtrl* ctrl)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetInstanceAssignmentMask)
	(this,ctrl);
}


/* method: somInitClass */
void   somInitClass(string className,
		SOMClass* parentClass,
		long dataSize,
		long maxStaticMethods,
		long majorVersion,
		long minorVersion)
{
   SOM_ResolveD(this,M_ODPart,SOMClass,somInitClass)
	(this,className,parentClass,dataSize,maxStaticMethods,majorVersion,minorVersion);
}


/* method: somInitMIClass */
void   somInitMIClass(long inherit_vars,
		string className,
		SOMClass_SOMClassSequence* parentClasses,
		long dataSize,
		long dataAlignment,
		long maxStaticMethods,
		long majorVersion,
		long minorVersion)
{
   SOM_ResolveD(this,M_ODPart,SOMClass,somInitMIClass)
	(this,inherit_vars,className,parentClasses,dataSize,dataAlignment,maxStaticMethods,majorVersion,minorVersion);
}


/* method: somAddStaticMethod */
somMToken   somAddStaticMethod(somId methodId,
		somId methodDescriptor,
		somMethodPtr method,
		somMethodPtr redispatchStub,
		somMethodPtr applyStub)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somAddStaticMethod)
	(this,methodId,methodDescriptor,method,redispatchStub,applyStub);
}


/* method: somAddDynamicMethod */
void   somAddDynamicMethod(somId methodId,
		somId methodDescriptor,
		somMethodPtr method,
		somMethodPtr applyStub)
{
   SOM_ResolveD(this,M_ODPart,SOMClass,somAddDynamicMethod)
	(this,methodId,methodDescriptor,method,applyStub);
}


/* method: somOverrideSMethod */
void   somOverrideSMethod(somId methodId,
		somMethodPtr method)
{
   SOM_ResolveD(this,M_ODPart,SOMClass,somOverrideSMethod)
	(this,methodId,method);
}


/* method: somClassReady */
void   somClassReady()
{
   SOM_ResolveD(this,M_ODPart,SOMClass,somClassReady)
	(this);
}


/* method: somGetClassData */
somClassDataStructure*   somGetClassData()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetClassData)
	(this);
}


/* method: somSetClassData */
void   somSetClassData(somClassDataStructure* cds)
{
   SOM_ResolveD(this,M_ODPart,SOMClass,somSetClassData)
	(this,cds);
}


/* method: somGetClassMtab */
somMethodTab*   somGetClassMtab()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetClassMtab)
	(this);
}


/* method: somGetInstanceOffset */
long   somGetInstanceOffset()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetInstanceOffset)
	(this);
}


/* method: somGetInstancePartSize */
long   somGetInstancePartSize()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetInstancePartSize)
	(this);
}


/* method: somGetInstanceSize */
long   somGetInstanceSize()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetInstanceSize)
	(this);
}


/* method: somGetInstanceToken */
somDToken   somGetInstanceToken()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetInstanceToken)
	(this);
}


/* method: somGetMemberToken */
somDToken   somGetMemberToken(long memberOffset,
		somDToken instanceToken)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetMemberToken)
	(this,memberOffset,instanceToken);
}


/* method: somGetMethodData */
boolean   somGetMethodData(somId methodId,
		somMethodData* md)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetMethodData)
	(this,methodId,md);
}


/* method: somGetRdStub */
somMethodProc*   somGetRdStub(somId methodId)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetRdStub)
	(this,methodId);
}


/* method: somGetMethodDescriptor */
somId   somGetMethodDescriptor(somId methodId)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetMethodDescriptor)
	(this,methodId);
}


/* method: somGetMethodIndex */
long   somGetMethodIndex(somId id)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetMethodIndex)
	(this,id);
}


/* method: somGetMethodToken */
somMToken   somGetMethodToken(somId methodId)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetMethodToken)
	(this,methodId);
}


/* method: somGetName */
string   somGetName()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetName)
	(this);
}


/* method: somGetNthMethodData */
boolean   somGetNthMethodData(long n,
		somMethodData* md)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetNthMethodData)
	(this,n,md);
}


/* method: somGetNthMethodInfo */
somId   somGetNthMethodInfo(long n,
		somId* descriptor)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetNthMethodInfo)
	(this,n,descriptor);
}


/* method: somGetNumMethods */
long   somGetNumMethods()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetNumMethods)
	(this);
}


/* method: somGetNumStaticMethods */
long   somGetNumStaticMethods()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetNumStaticMethods)
	(this);
}


/* method: somGetParent */
SOMClass*   somGetParent()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetParent)
	(this);
}


/* method: somGetParents */
SOMClass_SOMClassSequence   somGetParents()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetParents)
	(this);
}


/* method: somGetPClsMtab */
somMethodTabs   somGetPClsMtab()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetPClsMtab)
	(this);
}


/* method: somGetPClsMtabs */
somMethodTabs   somGetPClsMtabs()
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somGetPClsMtabs)
	(this);
}


/* method: somGetVersionNumbers */
void   somGetVersionNumbers(long* majorVersion,
		long* minorVersion)
{
   SOM_ResolveD(this,M_ODPart,SOMClass,somGetVersionNumbers)
	(this,majorVersion,minorVersion);
}


/* method: somSetMethodDescriptor */
boolean   somSetMethodDescriptor(somId methodId,
		somId descriptor)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somSetMethodDescriptor)
	(this,methodId,descriptor);
}


/* method: somFindMethod */
boolean   somFindMethod(somId methodId,
		somMethodPtr* m)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somFindMethod)
	(this,methodId,m);
}


/* method: somFindMethodOk */
boolean   somFindMethodOk(somId methodId,
		somMethodPtr* m)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somFindMethodOk)
	(this,methodId,m);
}


/* method: somFindSMethod */
somMethodPtr   somFindSMethod(somId methodId)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somFindSMethod)
	(this,methodId);
}


/* method: somFindSMethodOk */
somMethodPtr   somFindSMethodOk(somId methodId)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somFindSMethodOk)
	(this,methodId);
}


/* method: somLookupMethod */
somMethodPtr   somLookupMethod(somId methodId)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somLookupMethod)
	(this,methodId);
}


/* method: somCheckVersion */
boolean   somCheckVersion(long majorVersion,
		long minorVersion)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somCheckVersion)
	(this,majorVersion,minorVersion);
}


/* method: somDescendedFrom */
boolean   somDescendedFrom(SOMClass* aClassObj)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somDescendedFrom)
	(this,aClassObj);
}


/* method: somSupportsMethod */
boolean   somSupportsMethod(somId mId)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somSupportsMethod)
	(this,mId);
}


/* method: somDefinedMethod */
somMethodPtr   somDefinedMethod(somMToken method)
{
   return SOM_ResolveD(this,M_ODPart,SOMClass,somDefinedMethod)
	(this,method);
}


/* method: somOverrideMtab */
void   somOverrideMtab()
{
   SOM_ResolveD(this,M_ODPart,SOMClass,somOverrideMtab)
	(this);
}


/* initializer method: somDefaultInit */
void   somDefaultInit(somInitCtrl* ctrl)
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somDefaultInit)
	(this,ctrl);
}


/* method: somDestruct */
void   somDestruct(octet doFree,
		somDestructCtrl* ctrl)
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somDestruct)
	(this,doFree,ctrl);
}


/* initializer method: somDefaultCopyInit */
void   somDefaultCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somDefaultCopyInit)
	(this,ctrl,fromObj);
}


/* method: somDefaultAssign */
M_ODPart*  somDefaultAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somDefaultAssign)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultConstCopyInit */
void   somDefaultConstCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somDefaultConstCopyInit)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultVCopyInit */
void   somDefaultVCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somDefaultVCopyInit)
	(this,ctrl,fromObj);
}


/* initializer method: somDefaultConstVCopyInit */
void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
		SOMObject* fromObj)
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somDefaultConstVCopyInit)
	(this,ctrl,fromObj);
}


/* method: somDefaultConstAssign */
M_ODPart*  somDefaultConstAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somDefaultConstAssign)
	(this,ctrl,fromObj);
}


/* method: somDefaultVAssign */
M_ODPart*  somDefaultVAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somDefaultVAssign)
	(this,ctrl,fromObj);
}


/* method: somDefaultConstVAssign */
M_ODPart*  somDefaultConstVAssign(somAssignCtrl* ctrl,
		SOMObject* fromObj)
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somDefaultConstVAssign)
	(this,ctrl,fromObj);
}


/* method: somInit */
void   somInit()
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somInit)
	(this);
}


/* method: somFree */
void   somFree()
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somFree)
	(this);
}


/* method: somUninit */
void   somUninit()
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somUninit)
	(this);
}


/* method: somGetClass */
SOMClass*   somGetClass()
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somGetClass)
	(this);
}


/* method: somGetClassName */
string   somGetClassName()
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somGetClassName)
	(this);
}


/* method: somGetSize */
long   somGetSize()
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somGetSize)
	(this);
}


/* method: somIsA */
boolean   somIsA(SOMClass* aClassObj)
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somIsA)
	(this,aClassObj);
}


/* method: somIsInstanceOf */
boolean   somIsInstanceOf(SOMClass* aClassObj)
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somIsInstanceOf)
	(this,aClassObj);
}


/* method: somRespondsTo */
boolean   somRespondsTo(somId mId)
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somRespondsTo)
	(this,mId);
}


/* va_list method: somDispatch */
/* the va_list invocation form */
boolean   M_ODPart_somDispatch(somToken* retValue,
		somId methodId,
		va_list ap)
{
return SOM_ResolveD(this,M_ODPart,SOMObject,somDispatch)
	(this,retValue,methodId,ap);
}

/* the varargs invocation form */
boolean   somDispatch(somToken* retValue,
		somId methodId,
		...)
{
   va_list ap;
   va_start(ap, methodId);
   boolean __somResult = 
      SOM_ResolveD(this,M_ODPart,SOMObject,somDispatch)
	(this,retValue,methodId,ap);
   va_end(ap);
   return __somResult;
}


/* va_list method: somClassDispatch */
/* the va_list invocation form */
boolean   M_ODPart_somClassDispatch(SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap)
{
return SOM_ResolveD(this,M_ODPart,SOMObject,somClassDispatch)
	(this,clsObj,retValue,methodId,ap);
}

/* the varargs invocation form */
boolean   somClassDispatch(SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		...)
{
   va_list ap;
   va_start(ap, methodId);
   boolean __somResult = 
      SOM_ResolveD(this,M_ODPart,SOMObject,somClassDispatch)
	(this,clsObj,retValue,methodId,ap);
   va_end(ap);
   return __somResult;
}


/* method: somCastObj */
boolean   somCastObj(SOMClass* cls)
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somCastObj)
	(this,cls);
}


/* method: somResetObj */
boolean   somResetObj()
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somResetObj)
	(this);
}


/* method: somPrintSelf */
SOMObject*   somPrintSelf()
{
   return SOM_ResolveD(this,M_ODPart,SOMObject,somPrintSelf)
	(this);
}


/* method: somDumpSelf */
void   somDumpSelf(long level)
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somDumpSelf)
	(this,level);
}


/* method: somDumpSelfInt */
void   somDumpSelfInt(long level)
{
   SOM_ResolveD(this,M_ODPart,SOMObject,somDumpSelfInt)
	(this,level);
}



};   /* M_ODPart */



#endif       /* SOM_M_ODPart_xh */
