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

#ifndef SOM_ODWindow_xh
#define SOM_ODWindow_xh

class ODWindow;

#define ODWindow_MajorVersion 1
#define ODWindow_MinorVersion 0

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

/* C++ parent defs */
#ifndef SOM_ODRefCntObject_xh
#include <RefCtObj.xh>
#endif

#ifndef ODWindow_API
#define ODWindow_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 ODWindow;

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

/* A procedure to create the ODWindow Class */
SOMEXTERN
#if (defined(SOM_Module_Window_Source) || defined(ODWindow_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODWindow))
WIN32_DLLEXPORT
#else
WIN32_DLLIMPORT
#endif
SOMClass * SOMLINK ODWindowNewClass(
		integer4,
		integer4 );

/* The API to the ODWindow class object, and the methods it introduces. */
SOMEXTERN struct ODWindowClassDataStructure {
	SOMClass *classObject;
	somMToken GetPlatformWindow;
	somMToken AcquireSourceFrame;
	somMToken SetSourceFrame;
	somMToken GetRootFrame;
	somMToken GetFacetUnderPoint;
	somMToken IsActive;
	somMToken Open;
	somMToken Close;
	somMToken CloseAndRemove;
	somMToken Show;
	somMToken Hide;
	somMToken IsShown;
	somMToken IsResizable;
	somMToken IsRootWindow;
	somMToken ShouldSave;
	somMToken SetShouldSave;
	somMToken ShouldShowLinks;
	somMToken SetShouldShowLinks;
	somMToken AdjustWindowShape;
	somMToken GetID;
	somMToken IsFloating;
	somMToken GetRootFacet;
	somMToken Select;
	somMToken Update;
	somMToken ShouldDispose;
	somMToken SetShouldDispose;
	somMToken reserved1;
	somMToken reserved2;
	somMToken reserved3;
	somMToken reserved4;
	somMToken reserved5;
	somMToken reserved6;
	somMToken reserved7;
	somMToken reserved8;
	somMToken reserved9;
	somMToken reserved10;
	somMToken reserved11;
	somMToken reserved12;
	somMToken reserved13;
	somMToken reserved14;
	somMToken reserved15;
	somMToken reserved16;
	somMToken reserved17;
	somMToken reserved18;
	somMToken reserved19;
	somMToken reserved20;
	somMToken reserved21;
	somMToken UpdateWindow;
}
#if !(defined(SOM_Module_Window_Source) || defined(ODWindow_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODWindow))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ODWindowClassData;
#define _ODWindow ODWindowClassData.classObject

/* The API to parentMtabs for ODWindow, and the instance data it introduces. */
SOMEXTERN struct ODWindowCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
}
#if !(defined(SOM_Module_Window_Source) || defined(ODWindow_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODWindow))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ODWindowCClassData;

/*
 * -- Typedefs for ODWindow Method Procedures
 */
extern "C" {
typedef ODPlatformWindow   SOMLINK somTP_ODWindow_GetPlatformWindow(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_GetPlatformWindow *somTD_ODWindow_GetPlatformWindow;
typedef ODFrame*   SOMLINK somTP_ODWindow_AcquireSourceFrame(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_AcquireSourceFrame *somTD_ODWindow_AcquireSourceFrame;
typedef void   SOMLINK somTP_ODWindow_SetSourceFrame(ODWindow *somSelf, Environment *ev,
		ODFrame* frame);
typedef somTP_ODWindow_SetSourceFrame *somTD_ODWindow_SetSourceFrame;
typedef ODFrame*   SOMLINK somTP_ODWindow_GetRootFrame(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_GetRootFrame *somTD_ODWindow_GetRootFrame;
typedef ODFacet*   SOMLINK somTP_ODWindow_GetFacetUnderPoint(ODWindow *somSelf, Environment *ev,
		ODPoint* aPoint);
typedef somTP_ODWindow_GetFacetUnderPoint *somTD_ODWindow_GetFacetUnderPoint;
typedef ODBoolean   SOMLINK somTP_ODWindow_IsActive(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_IsActive *somTD_ODWindow_IsActive;
typedef void   SOMLINK somTP_ODWindow_Open(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_Open *somTD_ODWindow_Open;
typedef void   SOMLINK somTP_ODWindow_Close(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_Close *somTD_ODWindow_Close;
typedef void   SOMLINK somTP_ODWindow_CloseAndRemove(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_CloseAndRemove *somTD_ODWindow_CloseAndRemove;
typedef void   SOMLINK somTP_ODWindow_Show(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_Show *somTD_ODWindow_Show;
typedef void   SOMLINK somTP_ODWindow_Hide(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_Hide *somTD_ODWindow_Hide;
typedef ODBoolean   SOMLINK somTP_ODWindow_IsShown(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_IsShown *somTD_ODWindow_IsShown;
typedef ODBoolean   SOMLINK somTP_ODWindow_IsResizable(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_IsResizable *somTD_ODWindow_IsResizable;
typedef ODBoolean   SOMLINK somTP_ODWindow_IsRootWindow(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_IsRootWindow *somTD_ODWindow_IsRootWindow;
typedef ODBoolean   SOMLINK somTP_ODWindow_ShouldSave(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_ShouldSave *somTD_ODWindow_ShouldSave;
typedef void   SOMLINK somTP_ODWindow_SetShouldSave(ODWindow *somSelf, Environment *ev,
		ODBoolean shouldSave);
typedef somTP_ODWindow_SetShouldSave *somTD_ODWindow_SetShouldSave;
typedef ODBoolean   SOMLINK somTP_ODWindow_ShouldShowLinks(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_ShouldShowLinks *somTD_ODWindow_ShouldShowLinks;
typedef void   SOMLINK somTP_ODWindow_SetShouldShowLinks(ODWindow *somSelf, Environment *ev,
		ODBoolean shouldShowLinks);
typedef somTP_ODWindow_SetShouldShowLinks *somTD_ODWindow_SetShouldShowLinks;
typedef void   SOMLINK somTP_ODWindow_AdjustWindowShape(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_AdjustWindowShape *somTD_ODWindow_AdjustWindowShape;
typedef ODID   SOMLINK somTP_ODWindow_GetID(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_GetID *somTD_ODWindow_GetID;
typedef ODBoolean   SOMLINK somTP_ODWindow_IsFloating(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_IsFloating *somTD_ODWindow_IsFloating;
typedef ODFacet*   SOMLINK somTP_ODWindow_GetRootFacet(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_GetRootFacet *somTD_ODWindow_GetRootFacet;
typedef void   SOMLINK somTP_ODWindow_Select(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_Select *somTD_ODWindow_Select;
typedef void   SOMLINK somTP_ODWindow_Update(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_Update *somTD_ODWindow_Update;
typedef void   SOMLINK somTP_ODWindow_UpdateWindow(ODWindow *somSelf, Environment *ev,
		ODEventData* theEvent);
typedef somTP_ODWindow_UpdateWindow *somTD_ODWindow_UpdateWindow;
typedef ODBoolean   SOMLINK somTP_ODWindow_ShouldDispose(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_ShouldDispose *somTD_ODWindow_ShouldDispose;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef void   SOMLINK somTP_ODWindow_InitRefCntObject(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_InitRefCntObject *somTD_ODWindow_InitRefCntObject;
typedef void   SOMLINK somTP_ODWindow_Acquire(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_Acquire *somTD_ODWindow_Acquire;
typedef void   SOMLINK somTP_ODWindow_Release(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_Release *somTD_ODWindow_Release;
typedef ODULong   SOMLINK somTP_ODWindow_GetRefCount(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_GetRefCount *somTD_ODWindow_GetRefCount;
typedef void   SOMLINK somTP_ODWindow_somUninit(ODWindow *somSelf);
typedef somTP_ODWindow_somUninit *somTD_ODWindow_somUninit;
typedef void   SOMLINK somTP_ODWindow_InitObject(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_InitObject *somTD_ODWindow_InitObject;
typedef ODBoolean   SOMLINK somTP_ODWindow_HasExtension(ODWindow *somSelf, Environment *ev,
		ODType extensionName);
typedef somTP_ODWindow_HasExtension *somTD_ODWindow_HasExtension;
typedef ODExtension*   SOMLINK somTP_ODWindow_AcquireExtension(ODWindow *somSelf, Environment *ev,
		ODType extensionName);
typedef somTP_ODWindow_AcquireExtension *somTD_ODWindow_AcquireExtension;
typedef void   SOMLINK somTP_ODWindow_ReleaseExtension(ODWindow *somSelf, Environment *ev,
		ODExtension* extension);
typedef somTP_ODWindow_ReleaseExtension *somTD_ODWindow_ReleaseExtension;
typedef ODSize   SOMLINK somTP_ODWindow_Purge(ODWindow *somSelf, Environment *ev,
		ODSize size);
typedef somTP_ODWindow_Purge *somTD_ODWindow_Purge;
typedef ODBoolean   SOMLINK somTP_ODWindow_IsEqualTo(ODWindow *somSelf, Environment *ev,
		ODObject* object);
typedef somTP_ODWindow_IsEqualTo *somTD_ODWindow_IsEqualTo;
typedef void   SOMLINK somTP_ODWindow_SubClassResponsibility(ODWindow *somSelf, Environment *ev);
typedef somTP_ODWindow_SubClassResponsibility *somTD_ODWindow_SubClassResponsibility;
typedef void   SOMLINK somTP_ODWindow_somInit(ODWindow *somSelf);
typedef somTP_ODWindow_somInit *somTD_ODWindow_somInit;
typedef void   SOMLINK somTP_ODWindow_somDefaultInit(ODWindow *somSelf,
		somInitCtrl* ctrl);
typedef somTP_ODWindow_somDefaultInit *somTD_ODWindow_somDefaultInit;
typedef void   SOMLINK somTP_ODWindow_somDestruct(ODWindow *somSelf,
		octet doFree,
		somDestructCtrl* ctrl);
typedef somTP_ODWindow_somDestruct *somTD_ODWindow_somDestruct;
typedef void   SOMLINK somTP_ODWindow_somDefaultCopyInit(ODWindow *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWindow_somDefaultCopyInit *somTD_ODWindow_somDefaultCopyInit;
typedef ODWindow*   SOMLINK somTP_ODWindow_somDefaultAssign(ODWindow *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWindow_somDefaultAssign *somTD_ODWindow_somDefaultAssign;
typedef void   SOMLINK somTP_ODWindow_somDefaultConstCopyInit(ODWindow *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWindow_somDefaultConstCopyInit *somTD_ODWindow_somDefaultConstCopyInit;
typedef void   SOMLINK somTP_ODWindow_somDefaultVCopyInit(ODWindow *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWindow_somDefaultVCopyInit *somTD_ODWindow_somDefaultVCopyInit;
typedef void   SOMLINK somTP_ODWindow_somDefaultConstVCopyInit(ODWindow *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWindow_somDefaultConstVCopyInit *somTD_ODWindow_somDefaultConstVCopyInit;
typedef ODWindow*   SOMLINK somTP_ODWindow_somDefaultConstAssign(ODWindow *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWindow_somDefaultConstAssign *somTD_ODWindow_somDefaultConstAssign;
typedef ODWindow*   SOMLINK somTP_ODWindow_somDefaultVAssign(ODWindow *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWindow_somDefaultVAssign *somTD_ODWindow_somDefaultVAssign;
typedef ODWindow*   SOMLINK somTP_ODWindow_somDefaultConstVAssign(ODWindow *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODWindow_somDefaultConstVAssign *somTD_ODWindow_somDefaultConstVAssign;
typedef void   SOMLINK somTP_ODWindow_somFree(ODWindow *somSelf);
typedef somTP_ODWindow_somFree *somTD_ODWindow_somFree;
typedef SOMClass*   SOMLINK somTP_ODWindow_somGetClass(ODWindow *somSelf);
typedef somTP_ODWindow_somGetClass *somTD_ODWindow_somGetClass;
typedef string   SOMLINK somTP_ODWindow_somGetClassName(ODWindow *somSelf);
typedef somTP_ODWindow_somGetClassName *somTD_ODWindow_somGetClassName;
typedef long   SOMLINK somTP_ODWindow_somGetSize(ODWindow *somSelf);
typedef somTP_ODWindow_somGetSize *somTD_ODWindow_somGetSize;
typedef boolean   SOMLINK somTP_ODWindow_somIsA(ODWindow *somSelf,
		SOMClass* aClassObj);
typedef somTP_ODWindow_somIsA *somTD_ODWindow_somIsA;
typedef boolean   SOMLINK somTP_ODWindow_somIsInstanceOf(ODWindow *somSelf,
		SOMClass* aClassObj);
typedef somTP_ODWindow_somIsInstanceOf *somTD_ODWindow_somIsInstanceOf;
typedef boolean   SOMLINK somTP_ODWindow_somRespondsTo(ODWindow *somSelf,
		somId mId);
typedef somTP_ODWindow_somRespondsTo *somTD_ODWindow_somRespondsTo;
typedef boolean   SOMLINK somTP_ODWindow_somDispatch(ODWindow *somSelf,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ODWindow_somDispatch *somTD_ODWindow_somDispatch;
typedef boolean   SOMLINK somTP_ODWindow_somClassDispatch(ODWindow *somSelf,
		SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ODWindow_somClassDispatch *somTD_ODWindow_somClassDispatch;
typedef boolean   SOMLINK somTP_ODWindow_somCastObj(ODWindow *somSelf,
		SOMClass* cls);
typedef somTP_ODWindow_somCastObj *somTD_ODWindow_somCastObj;
typedef boolean   SOMLINK somTP_ODWindow_somResetObj(ODWindow *somSelf);
typedef somTP_ODWindow_somResetObj *somTD_ODWindow_somResetObj;
typedef SOMObject*   SOMLINK somTP_ODWindow_somPrintSelf(ODWindow *somSelf);
typedef somTP_ODWindow_somPrintSelf *somTD_ODWindow_somPrintSelf;
typedef void   SOMLINK somTP_ODWindow_somDumpSelf(ODWindow *somSelf,
		long level);
typedef somTP_ODWindow_somDumpSelf *somTD_ODWindow_somDumpSelf;
typedef void   SOMLINK somTP_ODWindow_somDumpSelfInt(ODWindow *somSelf,
		long level);
typedef somTP_ODWindow_somDumpSelfInt *somTD_ODWindow_somDumpSelfInt;
}

#endif /* ODWindow_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 ODWindow
 */
class ODWindow : public ODRefCntObject
{
public:

// ODWindow::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 (!_ODWindow) ODWindowNewClass(ODWindow_MajorVersion,ODWindow_MinorVersion);
   return (void*)
      SOM_Resolve(_ODWindow,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_ODWindow));
}

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

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

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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


/*
 * Reintroduce inherited methods
 */

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


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


/* method: Release */
void   Release(Environment *ev)
{
   SOM_ResolveD(this,ODWindow,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,ODWindow,ODRefCntObject,GetRefCount)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWindow,ODRefCntObject,GetRefCount)
	(this, ev);
#endif
}


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


/* method: InitObject */
void   InitObject(Environment *ev)
{
   SOM_ResolveD(this,ODWindow,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,ODWindow,ODObject,HasExtension)
	(this, ev,extensionName);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWindow,ODObject,HasExtension)
	(this, ev,extensionName);
#endif
}


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


/* method: ReleaseExtension */
void   ReleaseExtension(Environment *ev,
		ODExtension* extension)
{
   SOM_ResolveD(this,ODWindow,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,ODWindow,ODObject,Purge)
	(this, ev,size);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODWindow,ODObject,Purge)
	(this, ev,size);
#endif
}


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


/* va_list method: somDispatch */
/* the va_list invocation form */
boolean   ODWindow_somDispatch(somToken* retValue,
		somId methodId,
		va_list ap)
{
return SOM_ResolveD(this,ODWindow,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,ODWindow,SOMObject,somDispatch)
	(this,retValue,methodId,ap);
   va_end(ap);
   return __somResult;
}


/* va_list method: somClassDispatch */
/* the va_list invocation form */
boolean   ODWindow_somClassDispatch(SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap)
{
return SOM_ResolveD(this,ODWindow,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,ODWindow,SOMObject,somClassDispatch)
	(this,clsObj,retValue,methodId,ap);
   va_end(ap);
   return __somResult;
}


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


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


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


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


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



};   /* ODWindow */



#endif       /* SOM_ODWindow_xh */
