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

#ifndef SOM_ApplicationShell_xh
#define SOM_ApplicationShell_xh

class ApplicationShell;

#define ApplicationShell_MajorVersion 1
#define ApplicationShell_MinorVersion 0

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

/* C++ parent defs */
#ifndef SOM_OpenDocShell_xh
#include <ODShell.xh>
#endif

#ifndef ApplicationShell_API
#define ApplicationShell_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;

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

/* A procedure to create the ApplicationShell Class */
SOMEXTERN
#if (defined(SOM_Module_AppShell_Source) || defined(ApplicationShell_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ApplicationShell))
WIN32_DLLEXPORT
#else
WIN32_DLLIMPORT
#endif
SOMClass * SOMLINK ApplicationShellNewClass(
		integer4,
		integer4 );

/* The API to the ApplicationShell class object, and the methods it introduces. */
SOMEXTERN struct ApplicationShellClassDataStructure {
	SOMClass *classObject;
	somMToken Go;
	somMToken ProcessArgs;
	somMToken OpenDocument;
	somMToken CreateMenuBar;
	somMToken InitWindowSystem;
	somMToken Exec;
	somMToken MainLoop;
	somMToken DocumentNew;
	somMToken DocumentOpen;
	somMToken DocumentSave;
	somMToken DocumentSaveAs;
	somMToken DocumentRevert;
	somMToken DocumentDraftCreate;
	somMToken DocumentDraftHistory;
	somMToken DocumentInfo;
	somMToken DocumentPageSetup;
	somMToken DocumentPrint;
	somMToken DocumentClose;
	somMToken DocumentAbout;
	somMToken UpdateUndoMenus;
	somMToken SendEventToRootPart;
	somMToken CloseCleanup;
	somMToken SetExecString;
	somMToken GetExecString;
	somMToken IsValidFileName;
	somMToken HandleMenuEvent;
	somMToken HandleCloseEvent;
	somMToken HandleHelpEvent;
	somMToken AdjustMenu;
	somMToken GetEventType;
	somMToken GetEventSubType;
	somMToken GetEventWindow;
}
#if !(defined(SOM_Module_AppShell_Source) || defined(ApplicationShell_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ApplicationShell))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ApplicationShellClassData;
#define _ApplicationShell ApplicationShellClassData.classObject

/* The API to parentMtabs for ApplicationShell, and the instance data it introduces. */
SOMEXTERN struct ApplicationShellCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
}
#if !(defined(SOM_Module_AppShell_Source) || defined(ApplicationShell_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ApplicationShell))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ApplicationShellCClassData;

/*
 * -- Typedefs for ApplicationShell Method Procedures
 */
extern "C" {
typedef ODSLong   SOMLINK somTP_ApplicationShell_Go(ApplicationShell *somSelf, Environment *ev,
		long argc,
		char** argv);
typedef somTP_ApplicationShell_Go *somTD_ApplicationShell_Go;
typedef void   SOMLINK somTP_ApplicationShell_ProcessArgs(ApplicationShell *somSelf, Environment *ev,
		long argc,
		char** argv,
		char* fileName,
		char* partKind,
		ODUShort* actionFlag);
typedef somTP_ApplicationShell_ProcessArgs *somTD_ApplicationShell_ProcessArgs;
typedef ODBoolean   SOMLINK somTP_ApplicationShell_OpenDocument(ApplicationShell *somSelf, Environment *ev,
		DocumentManager* docMgr,
		char* fileName,
		char* partKind,
		ODUShort actionFlag);
typedef somTP_ApplicationShell_OpenDocument *somTD_ApplicationShell_OpenDocument;
typedef void   SOMLINK somTP_ApplicationShell_CreateMenuBar(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_CreateMenuBar *somTD_ApplicationShell_CreateMenuBar;
typedef void   SOMLINK somTP_ApplicationShell_InitWindowSystem(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_InitWindowSystem *somTD_ApplicationShell_InitWindowSystem;
typedef void   SOMLINK somTP_ApplicationShell_Exec(ApplicationShell *somSelf, Environment *ev,
		char* str);
typedef somTP_ApplicationShell_Exec *somTD_ApplicationShell_Exec;
typedef ODSLong   SOMLINK somTP_ApplicationShell_MainLoop(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_MainLoop *somTD_ApplicationShell_MainLoop;
typedef void   SOMLINK somTP_ApplicationShell_DocumentNew(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_DocumentNew *somTD_ApplicationShell_DocumentNew;
typedef void   SOMLINK somTP_ApplicationShell_DocumentOpen(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_DocumentOpen *somTD_ApplicationShell_DocumentOpen;
typedef void   SOMLINK somTP_ApplicationShell_DocumentSave(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_DocumentSave *somTD_ApplicationShell_DocumentSave;
typedef void   SOMLINK somTP_ApplicationShell_DocumentSaveAs(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_DocumentSaveAs *somTD_ApplicationShell_DocumentSaveAs;
typedef void   SOMLINK somTP_ApplicationShell_DocumentRevert(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_DocumentRevert *somTD_ApplicationShell_DocumentRevert;
typedef void   SOMLINK somTP_ApplicationShell_DocumentDraftCreate(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_DocumentDraftCreate *somTD_ApplicationShell_DocumentDraftCreate;
typedef void   SOMLINK somTP_ApplicationShell_DocumentDraftHistory(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_DocumentDraftHistory *somTD_ApplicationShell_DocumentDraftHistory;
typedef void   SOMLINK somTP_ApplicationShell_DocumentInfo(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_DocumentInfo *somTD_ApplicationShell_DocumentInfo;
typedef void   SOMLINK somTP_ApplicationShell_DocumentPageSetup(ApplicationShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_ApplicationShell_DocumentPageSetup *somTD_ApplicationShell_DocumentPageSetup;
typedef void   SOMLINK somTP_ApplicationShell_DocumentPrint(ApplicationShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_ApplicationShell_DocumentPrint *somTD_ApplicationShell_DocumentPrint;
typedef void   SOMLINK somTP_ApplicationShell_DocumentClose(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_DocumentClose *somTD_ApplicationShell_DocumentClose;
typedef void   SOMLINK somTP_ApplicationShell_DocumentAbout(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_DocumentAbout *somTD_ApplicationShell_DocumentAbout;
typedef void   SOMLINK somTP_ApplicationShell_UpdateUndoMenus(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_UpdateUndoMenus *somTD_ApplicationShell_UpdateUndoMenus;
typedef void   SOMLINK somTP_ApplicationShell_SendEventToRootPart(ApplicationShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_ApplicationShell_SendEventToRootPart *somTD_ApplicationShell_SendEventToRootPart;
typedef void   SOMLINK somTP_ApplicationShell_CloseCleanup(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_CloseCleanup *somTD_ApplicationShell_CloseCleanup;
typedef void   SOMLINK somTP_ApplicationShell_SetExecString(ApplicationShell *somSelf, Environment *ev,
		char* execString);
typedef somTP_ApplicationShell_SetExecString *somTD_ApplicationShell_SetExecString;
typedef char*   SOMLINK somTP_ApplicationShell_GetExecString(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_GetExecString *somTD_ApplicationShell_GetExecString;
typedef ODBoolean   SOMLINK somTP_ApplicationShell_IsValidFileName(ApplicationShell *somSelf, Environment *ev,
		char* docName);
typedef somTP_ApplicationShell_IsValidFileName *somTD_ApplicationShell_IsValidFileName;
typedef ODBoolean   SOMLINK somTP_ApplicationShell_HandleMenuEvent(ApplicationShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_ApplicationShell_HandleMenuEvent *somTD_ApplicationShell_HandleMenuEvent;
typedef ODBoolean   SOMLINK somTP_ApplicationShell_HandleCloseEvent(ApplicationShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_ApplicationShell_HandleCloseEvent *somTD_ApplicationShell_HandleCloseEvent;
typedef ODBoolean   SOMLINK somTP_ApplicationShell_HandleHelpEvent(ApplicationShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_ApplicationShell_HandleHelpEvent *somTD_ApplicationShell_HandleHelpEvent;
typedef void   SOMLINK somTP_ApplicationShell_AdjustMenu(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_AdjustMenu *somTD_ApplicationShell_AdjustMenu;
typedef ODULong   SOMLINK somTP_ApplicationShell_GetEventType(ApplicationShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_ApplicationShell_GetEventType *somTD_ApplicationShell_GetEventType;
typedef ODULong   SOMLINK somTP_ApplicationShell_GetEventSubType(ApplicationShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_ApplicationShell_GetEventSubType *somTD_ApplicationShell_GetEventSubType;
typedef ODPlatformWindow   SOMLINK somTP_ApplicationShell_GetEventWindow(ApplicationShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_ApplicationShell_GetEventWindow *somTD_ApplicationShell_GetEventWindow;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef void   SOMLINK somTP_ApplicationShell_InitOpenDocShell(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_InitOpenDocShell *somTD_ApplicationShell_InitOpenDocShell;
typedef ODBoolean   SOMLINK somTP_ApplicationShell_DispatchEvent(ApplicationShell *somSelf, Environment *ev,
		ODEventData* event);
typedef somTP_ApplicationShell_DispatchEvent *somTD_ApplicationShell_DispatchEvent;
typedef void   SOMLINK somTP_ApplicationShell_Terminate(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_Terminate *somTD_ApplicationShell_Terminate;
typedef DocumentManager*   SOMLINK somTP_ApplicationShell_CreateDocumentManager(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_CreateDocumentManager *somTD_ApplicationShell_CreateDocumentManager;
typedef void   SOMLINK somTP_ApplicationShell_DeleteDocumentManager(ApplicationShell *somSelf, Environment *ev,
		DocumentManager* docMgr);
typedef somTP_ApplicationShell_DeleteDocumentManager *somTD_ApplicationShell_DeleteDocumentManager;
typedef void   SOMLINK somTP_ApplicationShell_UpdateActiveDocumentManager(ApplicationShell *somSelf, Environment *ev,
		ODWindow* odWindow);
typedef somTP_ApplicationShell_UpdateActiveDocumentManager *somTD_ApplicationShell_UpdateActiveDocumentManager;
typedef DocumentManager*   SOMLINK somTP_ApplicationShell_GetActiveDocumentManager(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_GetActiveDocumentManager *somTD_ApplicationShell_GetActiveDocumentManager;
typedef void   SOMLINK somTP_ApplicationShell_SetActiveDocumentManager(ApplicationShell *somSelf, Environment *ev,
		DocumentManager* docMgr);
typedef somTP_ApplicationShell_SetActiveDocumentManager *somTD_ApplicationShell_SetActiveDocumentManager;
typedef DocumentManager*   SOMLINK somTP_ApplicationShell_GetDocumentManagerOfDraft(ApplicationShell *somSelf, Environment *ev,
		ODDraft* draft);
typedef somTP_ApplicationShell_GetDocumentManagerOfDraft *somTD_ApplicationShell_GetDocumentManagerOfDraft;
typedef somf_TPrimitiveLinkedListIterator*   SOMLINK somTP_ApplicationShell_CreateDocumentManagerIterator(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_CreateDocumentManagerIterator *somTD_ApplicationShell_CreateDocumentManagerIterator;
typedef void   SOMLINK somTP_ApplicationShell_DeleteDocumentManagerIterator(ApplicationShell *somSelf, Environment *ev,
		somf_TPrimitiveLinkedListIterator* docMgrIter);
typedef somTP_ApplicationShell_DeleteDocumentManagerIterator *somTD_ApplicationShell_DeleteDocumentManagerIterator;
typedef ODSession*   SOMLINK somTP_ApplicationShell_GetSession(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_GetSession *somTD_ApplicationShell_GetSession;
typedef ODDispatcher*   SOMLINK somTP_ApplicationShell_GetDispatcher(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_GetDispatcher *somTD_ApplicationShell_GetDispatcher;
typedef ODWindowState*   SOMLINK somTP_ApplicationShell_GetWindowState(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_GetWindowState *somTD_ApplicationShell_GetWindowState;
typedef void   SOMLINK somTP_ApplicationShell_SubClassResponsibility(ApplicationShell *somSelf, Environment *ev,
		char* methodName);
typedef somTP_ApplicationShell_SubClassResponsibility *somTD_ApplicationShell_SubClassResponsibility;
typedef WindowSystemData*   SOMLINK somTP_ApplicationShell_GetWindowSystemData(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_GetWindowSystemData *somTD_ApplicationShell_GetWindowSystemData;
typedef void   SOMLINK somTP_ApplicationShell_SetWindowSystemData(ApplicationShell *somSelf, Environment *ev,
		WindowSystemData* windowSystemData);
typedef somTP_ApplicationShell_SetWindowSystemData *somTD_ApplicationShell_SetWindowSystemData;
typedef long   SOMLINK somTP_ApplicationShell_GetArgc(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_GetArgc *somTD_ApplicationShell_GetArgc;
typedef void   SOMLINK somTP_ApplicationShell_SetArgc(ApplicationShell *somSelf, Environment *ev,
		long argc);
typedef somTP_ApplicationShell_SetArgc *somTD_ApplicationShell_SetArgc;
typedef char**   SOMLINK somTP_ApplicationShell_GetArgv(ApplicationShell *somSelf, Environment *ev);
typedef somTP_ApplicationShell_GetArgv *somTD_ApplicationShell_GetArgv;
typedef void   SOMLINK somTP_ApplicationShell_SetArgv(ApplicationShell *somSelf, Environment *ev,
		char** argv);
typedef somTP_ApplicationShell_SetArgv *somTD_ApplicationShell_SetArgv;
typedef void   SOMLINK somTP_ApplicationShell_somUninit(ApplicationShell *somSelf);
typedef somTP_ApplicationShell_somUninit *somTD_ApplicationShell_somUninit;
typedef void   SOMLINK somTP_ApplicationShell_somDefaultInit(ApplicationShell *somSelf,
		somInitCtrl* ctrl);
typedef somTP_ApplicationShell_somDefaultInit *somTD_ApplicationShell_somDefaultInit;
typedef void   SOMLINK somTP_ApplicationShell_somDestruct(ApplicationShell *somSelf,
		octet doFree,
		somDestructCtrl* ctrl);
typedef somTP_ApplicationShell_somDestruct *somTD_ApplicationShell_somDestruct;
typedef void   SOMLINK somTP_ApplicationShell_somDefaultCopyInit(ApplicationShell *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ApplicationShell_somDefaultCopyInit *somTD_ApplicationShell_somDefaultCopyInit;
typedef ApplicationShell*   SOMLINK somTP_ApplicationShell_somDefaultAssign(ApplicationShell *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ApplicationShell_somDefaultAssign *somTD_ApplicationShell_somDefaultAssign;
typedef void   SOMLINK somTP_ApplicationShell_somDefaultConstCopyInit(ApplicationShell *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ApplicationShell_somDefaultConstCopyInit *somTD_ApplicationShell_somDefaultConstCopyInit;
typedef void   SOMLINK somTP_ApplicationShell_somDefaultVCopyInit(ApplicationShell *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ApplicationShell_somDefaultVCopyInit *somTD_ApplicationShell_somDefaultVCopyInit;
typedef void   SOMLINK somTP_ApplicationShell_somDefaultConstVCopyInit(ApplicationShell *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ApplicationShell_somDefaultConstVCopyInit *somTD_ApplicationShell_somDefaultConstVCopyInit;
typedef ApplicationShell*   SOMLINK somTP_ApplicationShell_somDefaultConstAssign(ApplicationShell *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ApplicationShell_somDefaultConstAssign *somTD_ApplicationShell_somDefaultConstAssign;
typedef ApplicationShell*   SOMLINK somTP_ApplicationShell_somDefaultVAssign(ApplicationShell *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ApplicationShell_somDefaultVAssign *somTD_ApplicationShell_somDefaultVAssign;
typedef ApplicationShell*   SOMLINK somTP_ApplicationShell_somDefaultConstVAssign(ApplicationShell *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ApplicationShell_somDefaultConstVAssign *somTD_ApplicationShell_somDefaultConstVAssign;
typedef void   SOMLINK somTP_ApplicationShell_somInit(ApplicationShell *somSelf);
typedef somTP_ApplicationShell_somInit *somTD_ApplicationShell_somInit;
typedef void   SOMLINK somTP_ApplicationShell_somFree(ApplicationShell *somSelf);
typedef somTP_ApplicationShell_somFree *somTD_ApplicationShell_somFree;
typedef SOMClass*   SOMLINK somTP_ApplicationShell_somGetClass(ApplicationShell *somSelf);
typedef somTP_ApplicationShell_somGetClass *somTD_ApplicationShell_somGetClass;
typedef string   SOMLINK somTP_ApplicationShell_somGetClassName(ApplicationShell *somSelf);
typedef somTP_ApplicationShell_somGetClassName *somTD_ApplicationShell_somGetClassName;
typedef long   SOMLINK somTP_ApplicationShell_somGetSize(ApplicationShell *somSelf);
typedef somTP_ApplicationShell_somGetSize *somTD_ApplicationShell_somGetSize;
typedef boolean   SOMLINK somTP_ApplicationShell_somIsA(ApplicationShell *somSelf,
		SOMClass* aClassObj);
typedef somTP_ApplicationShell_somIsA *somTD_ApplicationShell_somIsA;
typedef boolean   SOMLINK somTP_ApplicationShell_somIsInstanceOf(ApplicationShell *somSelf,
		SOMClass* aClassObj);
typedef somTP_ApplicationShell_somIsInstanceOf *somTD_ApplicationShell_somIsInstanceOf;
typedef boolean   SOMLINK somTP_ApplicationShell_somRespondsTo(ApplicationShell *somSelf,
		somId mId);
typedef somTP_ApplicationShell_somRespondsTo *somTD_ApplicationShell_somRespondsTo;
typedef boolean   SOMLINK somTP_ApplicationShell_somDispatch(ApplicationShell *somSelf,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ApplicationShell_somDispatch *somTD_ApplicationShell_somDispatch;
typedef boolean   SOMLINK somTP_ApplicationShell_somClassDispatch(ApplicationShell *somSelf,
		SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ApplicationShell_somClassDispatch *somTD_ApplicationShell_somClassDispatch;
typedef boolean   SOMLINK somTP_ApplicationShell_somCastObj(ApplicationShell *somSelf,
		SOMClass* cls);
typedef somTP_ApplicationShell_somCastObj *somTD_ApplicationShell_somCastObj;
typedef boolean   SOMLINK somTP_ApplicationShell_somResetObj(ApplicationShell *somSelf);
typedef somTP_ApplicationShell_somResetObj *somTD_ApplicationShell_somResetObj;
typedef SOMObject*   SOMLINK somTP_ApplicationShell_somPrintSelf(ApplicationShell *somSelf);
typedef somTP_ApplicationShell_somPrintSelf *somTD_ApplicationShell_somPrintSelf;
typedef void   SOMLINK somTP_ApplicationShell_somDumpSelf(ApplicationShell *somSelf,
		long level);
typedef somTP_ApplicationShell_somDumpSelf *somTD_ApplicationShell_somDumpSelf;
typedef void   SOMLINK somTP_ApplicationShell_somDumpSelfInt(ApplicationShell *somSelf,
		long level);
typedef somTP_ApplicationShell_somDumpSelfInt *somTD_ApplicationShell_somDumpSelfInt;
}

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

// ApplicationShell::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 (!_ApplicationShell) ApplicationShellNewClass(ApplicationShell_MajorVersion,ApplicationShell_MinorVersion);
   return (void*)
      SOM_Resolve(_ApplicationShell,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_ApplicationShell));
}

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

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

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

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


/* method: Go */
ODSLong   Go(Environment *ev,
		long argc,
		char** argv)
{
#ifdef SOMCHKEXCEPT
   ODSLong __somResult = 
      SOM_ResolveD(this,ApplicationShell,ApplicationShell,Go)
	(this, ev,argc,argv);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ApplicationShell,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,ApplicationShell,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,ApplicationShell,ApplicationShell,OpenDocument)
	(this, ev,docMgr,fileName,partKind,actionFlag);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ApplicationShell,ApplicationShell,OpenDocument)
	(this, ev,docMgr,fileName,partKind,actionFlag);
#endif
}


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


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


/* method: Exec */
void   Exec(Environment *ev,
		char* str)
{
   SOM_ResolveD(this,ApplicationShell,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,ApplicationShell,ApplicationShell,MainLoop)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ApplicationShell,ApplicationShell,MainLoop)
	(this, ev);
#endif
}


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


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


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


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


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


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


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


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


/* method: DocumentPageSetup */
void   DocumentPageSetup(Environment *ev,
		ODEventData* event)
{
   SOM_ResolveD(this,ApplicationShell,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,ApplicationShell,ApplicationShell,DocumentPrint)
	(this, ev,event);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


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


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


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


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


/* method: SetExecString */
void   SetExecString(Environment *ev,
		char* execString)
{
   SOM_ResolveD(this,ApplicationShell,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,ApplicationShell,ApplicationShell,GetExecString)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ApplicationShell,ApplicationShell,GetExecString)
	(this, ev);
#endif
}


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


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


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


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


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


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


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


/*
 * Reintroduce inherited methods
 */

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


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


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


/* method: DeleteDocumentManager */
void   DeleteDocumentManager(Environment *ev,
		DocumentManager* docMgr)
{
   SOM_ResolveD(this,ApplicationShell,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,ApplicationShell,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,ApplicationShell,OpenDocShell,GetActiveDocumentManager)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ApplicationShell,OpenDocShell,GetActiveDocumentManager)
	(this, ev);
#endif
}


/* method: SetActiveDocumentManager */
void   SetActiveDocumentManager(Environment *ev,
		DocumentManager* docMgr)
{
   SOM_ResolveD(this,ApplicationShell,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,ApplicationShell,OpenDocShell,GetDocumentManagerOfDraft)
	(this, ev,draft);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ApplicationShell,OpenDocShell,GetDocumentManagerOfDraft)
	(this, ev,draft);
#endif
}


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


/* method: DeleteDocumentManagerIterator */
void   DeleteDocumentManagerIterator(Environment *ev,
		somf_TPrimitiveLinkedListIterator* docMgrIter)
{
   SOM_ResolveD(this,ApplicationShell,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,ApplicationShell,OpenDocShell,GetSession)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ApplicationShell,OpenDocShell,GetSession)
	(this, ev);
#endif
}


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


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


/* method: SubClassResponsibility */
void   SubClassResponsibility(Environment *ev,
		char* methodName)
{
   SOM_ResolveD(this,ApplicationShell,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,ApplicationShell,OpenDocShell,GetWindowSystemData)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ApplicationShell,OpenDocShell,GetWindowSystemData)
	(this, ev);
#endif
}


/* method: SetWindowSystemData */
void   SetWindowSystemData(Environment *ev,
		WindowSystemData* windowSystemData)
{
   SOM_ResolveD(this,ApplicationShell,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,ApplicationShell,OpenDocShell,GetArgc)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ApplicationShell,OpenDocShell,GetArgc)
	(this, ev);
#endif
}


/* method: SetArgc */
void   SetArgc(Environment *ev,
		long argc)
{
   SOM_ResolveD(this,ApplicationShell,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,ApplicationShell,OpenDocShell,GetArgv)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ApplicationShell,OpenDocShell,GetArgv)
	(this, ev);
#endif
}


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



};   /* ApplicationShell */



#endif       /* SOM_ApplicationShell_xh */
