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

#ifndef SOM_WinShell_xh
#define SOM_WinShell_xh

class WinShell;

#define WinShell_MajorVersion 1
#define WinShell_MinorVersion 0

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

/* C++ parent defs */
#ifndef SOM_ApplicationShell_xh
#include <AppShell.xh>
#endif

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

/*
 * Start of user-defined types:
 */
class SOMClass;
class SOMObject;
class ODFrame;
class ODFacet;
class ODPlatformCanvas;
class OpenDocShell;
class ODSession;
class ODWindowState;
class ODWindow;
class ODDispatcher;
class DocumentManager;
class somf_TPrimitiveLinkedList;
class somf_TPrimitiveLinkedListIterator;
class ODDraft;
class ApplicationShell;
class WinShell;

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

/* A procedure to create the WinShell Class */
SOMEXTERN
#if (defined(SOM_Module_WinShell_Source) || defined(WinShell_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_WinShell))
WIN32_DLLEXPORT
#else
WIN32_DLLIMPORT
#endif
SOMClass * SOMLINK WinShellNewClass(
		integer4,
		integer4 );

/* The API to the WinShell class object, and the methods it introduces. */
SOMEXTERN struct WinShellClassDataStructure {
	SOMClass *classObject;
}
#if !(defined(SOM_Module_WinShell_Source) || defined(WinShell_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_WinShell))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK WinShellClassData;
#define _WinShell WinShellClassData.classObject

/* The API to parentMtabs for WinShell, and the instance data it introduces. */
SOMEXTERN struct WinShellCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
}
#if !(defined(SOM_Module_WinShell_Source) || defined(WinShell_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_WinShell))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK WinShellCClassData;

/*
 * -- Typedefs for WinShell Method Procedures
 */
extern "C" {

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef ODSLong   SOMLINK somTP_WinShell_Go(WinShell *somSelf, Environment *ev,
		long argc,
		char** argv);
typedef somTP_WinShell_Go *somTD_WinShell_Go;
typedef void   SOMLINK somTP_WinShell_ProcessArgs(WinShell *somSelf, Environment *ev,
		long argc,
		char** argv,
		char* fileName,
		char* partKind,
		ODUShort* actionFlag);
typedef somTP_WinShell_ProcessArgs *somTD_WinShell_ProcessArgs;
typedef ODBoolean   SOMLINK somTP_WinShell_OpenDocument(WinShell *somSelf, Environment *ev,
		DocumentManager* docMgr,
		char* fileName,
		char* partKind,
		ODUShort actionFlag);
typedef somTP_WinShell_OpenDocument *somTD_WinShell_OpenDocument;
typedef void   SOMLINK somTP_WinShell_CreateMenuBar(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_CreateMenuBar *somTD_WinShell_CreateMenuBar;
typedef void   SOMLINK somTP_WinShell_InitWindowSystem(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_InitWindowSystem *somTD_WinShell_InitWindowSystem;
typedef void   SOMLINK somTP_WinShell_Exec(WinShell *somSelf, Environment *ev,
		char* str);
typedef somTP_WinShell_Exec *somTD_WinShell_Exec;
typedef ODSLong   SOMLINK somTP_WinShell_MainLoop(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_MainLoop *somTD_WinShell_MainLoop;
typedef void   SOMLINK somTP_WinShell_DocumentNew(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_DocumentNew *somTD_WinShell_DocumentNew;
typedef void   SOMLINK somTP_WinShell_DocumentOpen(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_DocumentOpen *somTD_WinShell_DocumentOpen;
typedef void   SOMLINK somTP_WinShell_DocumentSave(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_DocumentSave *somTD_WinShell_DocumentSave;
typedef void   SOMLINK somTP_WinShell_DocumentSaveAs(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_DocumentSaveAs *somTD_WinShell_DocumentSaveAs;
typedef void   SOMLINK somTP_WinShell_DocumentRevert(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_DocumentRevert *somTD_WinShell_DocumentRevert;
typedef void   SOMLINK somTP_WinShell_DocumentDraftCreate(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_DocumentDraftCreate *somTD_WinShell_DocumentDraftCreate;
typedef void   SOMLINK somTP_WinShell_DocumentDraftHistory(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_DocumentDraftHistory *somTD_WinShell_DocumentDraftHistory;
typedef void   SOMLINK somTP_WinShell_DocumentInfo(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_DocumentInfo *somTD_WinShell_DocumentInfo;
typedef void   SOMLINK somTP_WinShell_DocumentPageSetup(WinShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_WinShell_DocumentPageSetup *somTD_WinShell_DocumentPageSetup;
typedef void   SOMLINK somTP_WinShell_DocumentPrint(WinShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_WinShell_DocumentPrint *somTD_WinShell_DocumentPrint;
typedef void   SOMLINK somTP_WinShell_DocumentClose(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_DocumentClose *somTD_WinShell_DocumentClose;
typedef void   SOMLINK somTP_WinShell_DocumentAbout(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_DocumentAbout *somTD_WinShell_DocumentAbout;
typedef void   SOMLINK somTP_WinShell_UpdateUndoMenus(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_UpdateUndoMenus *somTD_WinShell_UpdateUndoMenus;
typedef void   SOMLINK somTP_WinShell_SendEventToRootPart(WinShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_WinShell_SendEventToRootPart *somTD_WinShell_SendEventToRootPart;
typedef void   SOMLINK somTP_WinShell_CloseCleanup(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_CloseCleanup *somTD_WinShell_CloseCleanup;
typedef void   SOMLINK somTP_WinShell_SetExecString(WinShell *somSelf, Environment *ev,
		char* execString);
typedef somTP_WinShell_SetExecString *somTD_WinShell_SetExecString;
typedef char*   SOMLINK somTP_WinShell_GetExecString(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_GetExecString *somTD_WinShell_GetExecString;
typedef ODBoolean   SOMLINK somTP_WinShell_IsValidFileName(WinShell *somSelf, Environment *ev,
		char* docName);
typedef somTP_WinShell_IsValidFileName *somTD_WinShell_IsValidFileName;
typedef ODBoolean   SOMLINK somTP_WinShell_HandleMenuEvent(WinShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_WinShell_HandleMenuEvent *somTD_WinShell_HandleMenuEvent;
typedef ODBoolean   SOMLINK somTP_WinShell_HandleCloseEvent(WinShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_WinShell_HandleCloseEvent *somTD_WinShell_HandleCloseEvent;
typedef ODBoolean   SOMLINK somTP_WinShell_HandleHelpEvent(WinShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_WinShell_HandleHelpEvent *somTD_WinShell_HandleHelpEvent;
typedef void   SOMLINK somTP_WinShell_AdjustMenu(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_AdjustMenu *somTD_WinShell_AdjustMenu;
typedef ODULong   SOMLINK somTP_WinShell_GetEventType(WinShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_WinShell_GetEventType *somTD_WinShell_GetEventType;
typedef ODULong   SOMLINK somTP_WinShell_GetEventSubType(WinShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_WinShell_GetEventSubType *somTD_WinShell_GetEventSubType;
typedef ODPlatformWindow   SOMLINK somTP_WinShell_GetEventWindow(WinShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_WinShell_GetEventWindow *somTD_WinShell_GetEventWindow;
typedef ODBoolean   SOMLINK somTP_WinShell_DispatchEvent(WinShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_WinShell_DispatchEvent *somTD_WinShell_DispatchEvent;
typedef void   SOMLINK somTP_WinShell_InitOpenDocShell(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_InitOpenDocShell *somTD_WinShell_InitOpenDocShell;
typedef void   SOMLINK somTP_WinShell_Terminate(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_Terminate *somTD_WinShell_Terminate;
typedef DocumentManager*   SOMLINK somTP_WinShell_CreateDocumentManager(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_CreateDocumentManager *somTD_WinShell_CreateDocumentManager;
typedef void   SOMLINK somTP_WinShell_DeleteDocumentManager(WinShell *somSelf, Environment *ev,
		DocumentManager* docMgr);
typedef somTP_WinShell_DeleteDocumentManager *somTD_WinShell_DeleteDocumentManager;
typedef void   SOMLINK somTP_WinShell_UpdateActiveDocumentManager(WinShell *somSelf, Environment *ev,
		ODWindow* odWindow);
typedef somTP_WinShell_UpdateActiveDocumentManager *somTD_WinShell_UpdateActiveDocumentManager;
typedef DocumentManager*   SOMLINK somTP_WinShell_GetActiveDocumentManager(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_GetActiveDocumentManager *somTD_WinShell_GetActiveDocumentManager;
typedef void   SOMLINK somTP_WinShell_SetActiveDocumentManager(WinShell *somSelf, Environment *ev,
		DocumentManager* docMgr);
typedef somTP_WinShell_SetActiveDocumentManager *somTD_WinShell_SetActiveDocumentManager;
typedef DocumentManager*   SOMLINK somTP_WinShell_GetDocumentManagerOfDraft(WinShell *somSelf, Environment *ev,
		ODDraft* draft);
typedef somTP_WinShell_GetDocumentManagerOfDraft *somTD_WinShell_GetDocumentManagerOfDraft;
typedef somf_TPrimitiveLinkedListIterator*   SOMLINK somTP_WinShell_CreateDocumentManagerIterator(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_CreateDocumentManagerIterator *somTD_WinShell_CreateDocumentManagerIterator;
typedef void   SOMLINK somTP_WinShell_DeleteDocumentManagerIterator(WinShell *somSelf, Environment *ev,
		somf_TPrimitiveLinkedListIterator* docMgrIter);
typedef somTP_WinShell_DeleteDocumentManagerIterator *somTD_WinShell_DeleteDocumentManagerIterator;
typedef ODSession*   SOMLINK somTP_WinShell_GetSession(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_GetSession *somTD_WinShell_GetSession;
typedef ODDispatcher*   SOMLINK somTP_WinShell_GetDispatcher(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_GetDispatcher *somTD_WinShell_GetDispatcher;
typedef ODWindowState*   SOMLINK somTP_WinShell_GetWindowState(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_GetWindowState *somTD_WinShell_GetWindowState;
typedef void   SOMLINK somTP_WinShell_SubClassResponsibility(WinShell *somSelf, Environment *ev,
		char* methodName);
typedef somTP_WinShell_SubClassResponsibility *somTD_WinShell_SubClassResponsibility;
typedef WindowSystemData*   SOMLINK somTP_WinShell_GetWindowSystemData(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_GetWindowSystemData *somTD_WinShell_GetWindowSystemData;
typedef void   SOMLINK somTP_WinShell_SetWindowSystemData(WinShell *somSelf, Environment *ev,
		WindowSystemData* windowSystemData);
typedef somTP_WinShell_SetWindowSystemData *somTD_WinShell_SetWindowSystemData;
typedef long   SOMLINK somTP_WinShell_GetArgc(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_GetArgc *somTD_WinShell_GetArgc;
typedef void   SOMLINK somTP_WinShell_SetArgc(WinShell *somSelf, Environment *ev,
		long argc);
typedef somTP_WinShell_SetArgc *somTD_WinShell_SetArgc;
typedef char**   SOMLINK somTP_WinShell_GetArgv(WinShell *somSelf, Environment *ev);
typedef somTP_WinShell_GetArgv *somTD_WinShell_GetArgv;
typedef void   SOMLINK somTP_WinShell_SetArgv(WinShell *somSelf, Environment *ev,
		char** argv);
typedef somTP_WinShell_SetArgv *somTD_WinShell_SetArgv;
typedef void   SOMLINK somTP_WinShell_somUninit(WinShell *somSelf);
typedef somTP_WinShell_somUninit *somTD_WinShell_somUninit;
typedef void   SOMLINK somTP_WinShell_somDefaultInit(WinShell *somSelf,
		somInitCtrl* ctrl);
typedef somTP_WinShell_somDefaultInit *somTD_WinShell_somDefaultInit;
typedef void   SOMLINK somTP_WinShell_somDestruct(WinShell *somSelf,
		octet doFree,
		somDestructCtrl* ctrl);
typedef somTP_WinShell_somDestruct *somTD_WinShell_somDestruct;
typedef void   SOMLINK somTP_WinShell_somDefaultCopyInit(WinShell *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_WinShell_somDefaultCopyInit *somTD_WinShell_somDefaultCopyInit;
typedef WinShell*   SOMLINK somTP_WinShell_somDefaultAssign(WinShell *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_WinShell_somDefaultAssign *somTD_WinShell_somDefaultAssign;
typedef void   SOMLINK somTP_WinShell_somDefaultConstCopyInit(WinShell *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_WinShell_somDefaultConstCopyInit *somTD_WinShell_somDefaultConstCopyInit;
typedef void   SOMLINK somTP_WinShell_somDefaultVCopyInit(WinShell *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_WinShell_somDefaultVCopyInit *somTD_WinShell_somDefaultVCopyInit;
typedef void   SOMLINK somTP_WinShell_somDefaultConstVCopyInit(WinShell *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_WinShell_somDefaultConstVCopyInit *somTD_WinShell_somDefaultConstVCopyInit;
typedef WinShell*   SOMLINK somTP_WinShell_somDefaultConstAssign(WinShell *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_WinShell_somDefaultConstAssign *somTD_WinShell_somDefaultConstAssign;
typedef WinShell*   SOMLINK somTP_WinShell_somDefaultVAssign(WinShell *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_WinShell_somDefaultVAssign *somTD_WinShell_somDefaultVAssign;
typedef WinShell*   SOMLINK somTP_WinShell_somDefaultConstVAssign(WinShell *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_WinShell_somDefaultConstVAssign *somTD_WinShell_somDefaultConstVAssign;
typedef void   SOMLINK somTP_WinShell_somInit(WinShell *somSelf);
typedef somTP_WinShell_somInit *somTD_WinShell_somInit;
typedef void   SOMLINK somTP_WinShell_somFree(WinShell *somSelf);
typedef somTP_WinShell_somFree *somTD_WinShell_somFree;
typedef SOMClass*   SOMLINK somTP_WinShell_somGetClass(WinShell *somSelf);
typedef somTP_WinShell_somGetClass *somTD_WinShell_somGetClass;
typedef string   SOMLINK somTP_WinShell_somGetClassName(WinShell *somSelf);
typedef somTP_WinShell_somGetClassName *somTD_WinShell_somGetClassName;
typedef long   SOMLINK somTP_WinShell_somGetSize(WinShell *somSelf);
typedef somTP_WinShell_somGetSize *somTD_WinShell_somGetSize;
typedef boolean   SOMLINK somTP_WinShell_somIsA(WinShell *somSelf,
		SOMClass* aClassObj);
typedef somTP_WinShell_somIsA *somTD_WinShell_somIsA;
typedef boolean   SOMLINK somTP_WinShell_somIsInstanceOf(WinShell *somSelf,
		SOMClass* aClassObj);
typedef somTP_WinShell_somIsInstanceOf *somTD_WinShell_somIsInstanceOf;
typedef boolean   SOMLINK somTP_WinShell_somRespondsTo(WinShell *somSelf,
		somId mId);
typedef somTP_WinShell_somRespondsTo *somTD_WinShell_somRespondsTo;
typedef boolean   SOMLINK somTP_WinShell_somDispatch(WinShell *somSelf,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_WinShell_somDispatch *somTD_WinShell_somDispatch;
typedef boolean   SOMLINK somTP_WinShell_somClassDispatch(WinShell *somSelf,
		SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_WinShell_somClassDispatch *somTD_WinShell_somClassDispatch;
typedef boolean   SOMLINK somTP_WinShell_somCastObj(WinShell *somSelf,
		SOMClass* cls);
typedef somTP_WinShell_somCastObj *somTD_WinShell_somCastObj;
typedef boolean   SOMLINK somTP_WinShell_somResetObj(WinShell *somSelf);
typedef somTP_WinShell_somResetObj *somTD_WinShell_somResetObj;
typedef SOMObject*   SOMLINK somTP_WinShell_somPrintSelf(WinShell *somSelf);
typedef somTP_WinShell_somPrintSelf *somTD_WinShell_somPrintSelf;
typedef void   SOMLINK somTP_WinShell_somDumpSelf(WinShell *somSelf,
		long level);
typedef somTP_WinShell_somDumpSelf *somTD_WinShell_somDumpSelf;
typedef void   SOMLINK somTP_WinShell_somDumpSelfInt(WinShell *somSelf,
		long level);
typedef somTP_WinShell_somDumpSelfInt *somTD_WinShell_somDumpSelfInt;
}

#endif /* WinShell_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 WinShell
 */
class WinShell : public ApplicationShell
{
public:

// WinShell::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 (!_WinShell) WinShellNewClass(WinShell_MajorVersion,WinShell_MinorVersion);
   return (void*)
      SOM_Resolve(_WinShell,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_WinShell));
}

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

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

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

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


/*
 * Reintroduce inherited methods
 */

/* method: Go */
ODSLong   Go(Environment *ev,
		long argc,
		char** argv)
{
#ifdef SOMCHKEXCEPT
   ODSLong __somResult = 
      SOM_ResolveD(this,WinShell,ApplicationShell,Go)
	(this, ev,argc,argv);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,WinShell,ApplicationShell,Go)
	(this, ev,argc,argv);
#endif
}


/* method: ProcessArgs */
void   ProcessArgs(Environment *ev,
		long argc,
		char** argv,
		char* fileName,
		char* partKind,
		ODUShort* actionFlag)
{
   SOM_ResolveD(this,WinShell,ApplicationShell,ProcessArgs)
	(this, ev,argc,argv,fileName,partKind,actionFlag);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: OpenDocument */
ODBoolean   OpenDocument(Environment *ev,
		DocumentManager* docMgr,
		char* fileName,
		char* partKind,
		ODUShort actionFlag)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,WinShell,ApplicationShell,OpenDocument)
	(this, ev,docMgr,fileName,partKind,actionFlag);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,WinShell,ApplicationShell,OpenDocument)
	(this, ev,docMgr,fileName,partKind,actionFlag);
#endif
}


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


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


/* method: Exec */
void   Exec(Environment *ev,
		char* str)
{
   SOM_ResolveD(this,WinShell,ApplicationShell,Exec)
	(this, ev,str);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


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


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


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


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


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


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


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


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


/* method: DocumentPageSetup */
void   DocumentPageSetup(Environment *ev,
		ODEventData* event)
{
   SOM_ResolveD(this,WinShell,ApplicationShell,DocumentPageSetup)
	(this, ev,event);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: DocumentPrint */
void   DocumentPrint(Environment *ev,
		ODEventData* event)
{
   SOM_ResolveD(this,WinShell,ApplicationShell,DocumentPrint)
	(this, ev,event);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


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


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


/* method: SendEventToRootPart */
void   SendEventToRootPart(Environment *ev,
		ODEventData* event)
{
   SOM_ResolveD(this,WinShell,ApplicationShell,SendEventToRootPart)
	(this, ev,event);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetExecString */
void   SetExecString(Environment *ev,
		char* execString)
{
   SOM_ResolveD(this,WinShell,ApplicationShell,SetExecString)
	(this, ev,execString);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


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


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


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


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


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


/* method: GetEventType */
ODULong   GetEventType(Environment *ev,
		ODEventData* event)
{
#ifdef SOMCHKEXCEPT
   ODULong __somResult = 
      SOM_ResolveD(this,WinShell,ApplicationShell,GetEventType)
	(this, ev,event);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,WinShell,ApplicationShell,GetEventType)
	(this, ev,event);
#endif
}


/* method: GetEventSubType */
ODULong   GetEventSubType(Environment *ev,
		ODEventData* event)
{
#ifdef SOMCHKEXCEPT
   ODULong __somResult = 
      SOM_ResolveD(this,WinShell,ApplicationShell,GetEventSubType)
	(this, ev,event);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,WinShell,ApplicationShell,GetEventSubType)
	(this, ev,event);
#endif
}


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


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


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


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


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


/* method: DeleteDocumentManager */
void   DeleteDocumentManager(Environment *ev,
		DocumentManager* docMgr)
{
   SOM_ResolveD(this,WinShell,OpenDocShell,DeleteDocumentManager)
	(this, ev,docMgr);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


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


/* method: SetActiveDocumentManager */
void   SetActiveDocumentManager(Environment *ev,
		DocumentManager* docMgr)
{
   SOM_ResolveD(this,WinShell,OpenDocShell,SetActiveDocumentManager)
	(this, ev,docMgr);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: GetDocumentManagerOfDraft */
DocumentManager*   GetDocumentManagerOfDraft(Environment *ev,
		ODDraft* draft)
{
#ifdef SOMCHKEXCEPT
   DocumentManager* __somResult = 
      SOM_ResolveD(this,WinShell,OpenDocShell,GetDocumentManagerOfDraft)
	(this, ev,draft);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,WinShell,OpenDocShell,GetDocumentManagerOfDraft)
	(this, ev,draft);
#endif
}


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


/* method: DeleteDocumentManagerIterator */
void   DeleteDocumentManagerIterator(Environment *ev,
		somf_TPrimitiveLinkedListIterator* docMgrIter)
{
   SOM_ResolveD(this,WinShell,OpenDocShell,DeleteDocumentManagerIterator)
	(this, ev,docMgrIter);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


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


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


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


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


/* method: SetWindowSystemData */
void   SetWindowSystemData(Environment *ev,
		WindowSystemData* windowSystemData)
{
   SOM_ResolveD(this,WinShell,OpenDocShell,SetWindowSystemData)
	(this, ev,windowSystemData);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetArgc */
void   SetArgc(Environment *ev,
		long argc)
{
   SOM_ResolveD(this,WinShell,OpenDocShell,SetArgc)
	(this, ev,argc);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetArgv */
void   SetArgv(Environment *ev,
		char** argv)
{
   SOM_ResolveD(this,WinShell,OpenDocShell,SetArgv)
	(this, ev,argv);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



};   /* WinShell */



#endif       /* SOM_WinShell_xh */
