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

#ifndef SOM_ODSession_xh
#define SOM_ODSession_xh

class ODSession;

#define ODSession_MajorVersion 1
#define ODSession_MinorVersion 0

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

/* C++ parent defs */
#ifndef SOM_ODBaseSession_xh
#include <ODSessnB.xh>
#endif

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

/*
 * Start of user-defined types:
 */
class SOMClass;
class SOMObject;
class ODFrame;
class ODFacet;
class ODPlatformCanvas;
class ODObject;
class ODExtension;
class ODBaseSession;
class ODWindowState;
class ODDispatcher;
class ODArbitrator;
class ODStorageSystem;
class ODClipboard;
class ODDragAndDrop;
class ODLinkManager;
class ODNameSpaceManager;
class ODMessageInterface;
class ODNameResolver;
class ODTranslation;
class ODUndo;
class ODSemanticInterface;
class ODBinding;
class ODInfo;
class ODPartHandlerRegistryInt;
class ODSession;
class OpenDocShell;
class ODHelp;

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

/* A procedure to create the ODSession Class */
SOMEXTERN
#if (defined(SOM_Module_ODSessn_Source) || defined(ODSession_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODSession))
WIN32_DLLEXPORT
#else
WIN32_DLLIMPORT
#endif
SOMClass * SOMLINK ODSessionNewClass(
		integer4,
		integer4 );

/* The API to the ODSession class object, and the methods it introduces. */
SOMEXTERN struct ODSessionClassDataStructure {
	SOMClass *classObject;
	somMToken UniqueUpdateID;
	somMToken GetUserName;
	somMToken InitSession;
	somMToken GetHelp;
	somMToken GetRegistry;
	somMToken reserved1;
}
#if !(defined(SOM_Module_ODSessn_Source) || defined(ODSession_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODSession))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ODSessionClassData;
#define _ODSession ODSessionClassData.classObject

/* The API to parentMtabs for ODSession, and the instance data it introduces. */
SOMEXTERN struct ODSessionCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
}
#if !(defined(SOM_Module_ODSessn_Source) || defined(ODSession_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODSession))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ODSessionCClassData;

/*
 * -- Typedefs for ODSession Method Procedures
 */
extern "C" {
typedef void   SOMLINK somTP_ODSession_InitSession(ODSession *somSelf, Environment *ev,
		OpenDocShell* shell);
typedef somTP_ODSession_InitSession *somTD_ODSession_InitSession;
typedef void   SOMLINK somTP_ODSession_GetUserName(ODSession *somSelf, Environment *ev,
		ODIText** name);
typedef somTP_ODSession_GetUserName *somTD_ODSession_GetUserName;
typedef ODUpdateID   SOMLINK somTP_ODSession_UniqueUpdateID(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_UniqueUpdateID *somTD_ODSession_UniqueUpdateID;
typedef ODHelp*   SOMLINK somTP_ODSession_GetHelp(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetHelp *somTD_ODSession_GetHelp;
typedef ODPartHandlerRegistryInt*   SOMLINK somTP_ODSession_GetRegistry(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetRegistry *somTD_ODSession_GetRegistry;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef ODArbitrator*   SOMLINK somTP_ODSession_GetArbitrator(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetArbitrator *somTD_ODSession_GetArbitrator;
typedef void   SOMLINK somTP_ODSession_SetArbitrator(ODSession *somSelf, Environment *ev,
		ODArbitrator* arbitrator);
typedef somTP_ODSession_SetArbitrator *somTD_ODSession_SetArbitrator;
typedef ODBinding*   SOMLINK somTP_ODSession_GetBinding(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetBinding *somTD_ODSession_GetBinding;
typedef void   SOMLINK somTP_ODSession_SetBinding(ODSession *somSelf, Environment *ev,
		ODBinding* binding);
typedef somTP_ODSession_SetBinding *somTD_ODSession_SetBinding;
typedef ODDispatcher*   SOMLINK somTP_ODSession_GetDispatcher(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetDispatcher *somTD_ODSession_GetDispatcher;
typedef void   SOMLINK somTP_ODSession_SetDispatcher(ODSession *somSelf, Environment *ev,
		ODDispatcher* dispatcher);
typedef somTP_ODSession_SetDispatcher *somTD_ODSession_SetDispatcher;
typedef ODClipboard*   SOMLINK somTP_ODSession_GetClipboard(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetClipboard *somTD_ODSession_GetClipboard;
typedef void   SOMLINK somTP_ODSession_SetClipboard(ODSession *somSelf, Environment *ev,
		ODClipboard* clipboard);
typedef somTP_ODSession_SetClipboard *somTD_ODSession_SetClipboard;
typedef ODDragAndDrop*   SOMLINK somTP_ODSession_GetDragAndDrop(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetDragAndDrop *somTD_ODSession_GetDragAndDrop;
typedef void   SOMLINK somTP_ODSession_SetDragAndDrop(ODSession *somSelf, Environment *ev,
		ODDragAndDrop* dragAndDrop);
typedef somTP_ODSession_SetDragAndDrop *somTD_ODSession_SetDragAndDrop;
typedef ODInfo*   SOMLINK somTP_ODSession_GetInfo(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetInfo *somTD_ODSession_GetInfo;
typedef void   SOMLINK somTP_ODSession_SetInfo(ODSession *somSelf, Environment *ev,
		ODInfo* info);
typedef somTP_ODSession_SetInfo *somTD_ODSession_SetInfo;
typedef ODLinkManager*   SOMLINK somTP_ODSession_GetLinkManager(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetLinkManager *somTD_ODSession_GetLinkManager;
typedef void   SOMLINK somTP_ODSession_SetLinkManager(ODSession *somSelf, Environment *ev,
		ODLinkManager* linkManager);
typedef somTP_ODSession_SetLinkManager *somTD_ODSession_SetLinkManager;
typedef ODMessageInterface*   SOMLINK somTP_ODSession_GetMessageInterface(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetMessageInterface *somTD_ODSession_GetMessageInterface;
typedef void   SOMLINK somTP_ODSession_SetMessageInterface(ODSession *somSelf, Environment *ev,
		ODMessageInterface* messageInterface);
typedef somTP_ODSession_SetMessageInterface *somTD_ODSession_SetMessageInterface;
typedef ODNameResolver*   SOMLINK somTP_ODSession_GetNameResolver(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetNameResolver *somTD_ODSession_GetNameResolver;
typedef void   SOMLINK somTP_ODSession_SetNameResolver(ODSession *somSelf, Environment *ev,
		ODNameResolver* nameResolver);
typedef somTP_ODSession_SetNameResolver *somTD_ODSession_SetNameResolver;
typedef ODNameSpaceManager*   SOMLINK somTP_ODSession_GetNameSpaceManager(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetNameSpaceManager *somTD_ODSession_GetNameSpaceManager;
typedef void   SOMLINK somTP_ODSession_SetNameSpaceManager(ODSession *somSelf, Environment *ev,
		ODNameSpaceManager* nameSpaceManager);
typedef somTP_ODSession_SetNameSpaceManager *somTD_ODSession_SetNameSpaceManager;
typedef ODStorageSystem*   SOMLINK somTP_ODSession_GetStorageSystem(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetStorageSystem *somTD_ODSession_GetStorageSystem;
typedef void   SOMLINK somTP_ODSession_SetStorageSystem(ODSession *somSelf, Environment *ev,
		ODStorageSystem* storageSystem);
typedef somTP_ODSession_SetStorageSystem *somTD_ODSession_SetStorageSystem;
typedef ODTranslation*   SOMLINK somTP_ODSession_GetTranslation(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetTranslation *somTD_ODSession_GetTranslation;
typedef void   SOMLINK somTP_ODSession_SetTranslation(ODSession *somSelf, Environment *ev,
		ODTranslation* translation);
typedef somTP_ODSession_SetTranslation *somTD_ODSession_SetTranslation;
typedef ODUndo*   SOMLINK somTP_ODSession_GetUndo(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetUndo *somTD_ODSession_GetUndo;
typedef void   SOMLINK somTP_ODSession_SetUndo(ODSession *somSelf, Environment *ev,
		ODUndo* undo);
typedef somTP_ODSession_SetUndo *somTD_ODSession_SetUndo;
typedef ODWindowState*   SOMLINK somTP_ODSession_GetWindowState(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_GetWindowState *somTD_ODSession_GetWindowState;
typedef void   SOMLINK somTP_ODSession_SetWindowState(ODSession *somSelf, Environment *ev,
		ODWindowState* windowState);
typedef somTP_ODSession_SetWindowState *somTD_ODSession_SetWindowState;
typedef ODSemanticInterface*   SOMLINK somTP_ODSession_AcquireShellSemtInterface(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_AcquireShellSemtInterface *somTD_ODSession_AcquireShellSemtInterface;
typedef void   SOMLINK somTP_ODSession_SetShellSemtInterface(ODSession *somSelf, Environment *ev,
		ODSemanticInterface* shellSemanticInterface);
typedef somTP_ODSession_SetShellSemtInterface *somTD_ODSession_SetShellSemtInterface;
typedef ODTypeToken   SOMLINK somTP_ODSession_Tokenize(ODSession *somSelf, Environment *ev,
		ODType type);
typedef somTP_ODSession_Tokenize *somTD_ODSession_Tokenize;
typedef void   SOMLINK somTP_ODSession_RemoveEntry(ODSession *somSelf, Environment *ev,
		ODType type);
typedef somTP_ODSession_RemoveEntry *somTD_ODSession_RemoveEntry;
typedef ODBoolean   SOMLINK somTP_ODSession_GetType(ODSession *somSelf, Environment *ev,
		ODTypeToken token,
		ODType* type);
typedef somTP_ODSession_GetType *somTD_ODSession_GetType;
typedef void   SOMLINK somTP_ODSession_somUninit(ODSession *somSelf);
typedef somTP_ODSession_somUninit *somTD_ODSession_somUninit;
typedef void   SOMLINK somTP_ODSession_InitObject(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_InitObject *somTD_ODSession_InitObject;
typedef ODBoolean   SOMLINK somTP_ODSession_HasExtension(ODSession *somSelf, Environment *ev,
		ODType extensionName);
typedef somTP_ODSession_HasExtension *somTD_ODSession_HasExtension;
typedef ODExtension*   SOMLINK somTP_ODSession_AcquireExtension(ODSession *somSelf, Environment *ev,
		ODType extensionName);
typedef somTP_ODSession_AcquireExtension *somTD_ODSession_AcquireExtension;
typedef void   SOMLINK somTP_ODSession_ReleaseExtension(ODSession *somSelf, Environment *ev,
		ODExtension* extension);
typedef somTP_ODSession_ReleaseExtension *somTD_ODSession_ReleaseExtension;
typedef ODSize   SOMLINK somTP_ODSession_Purge(ODSession *somSelf, Environment *ev,
		ODSize size);
typedef somTP_ODSession_Purge *somTD_ODSession_Purge;
typedef ODBoolean   SOMLINK somTP_ODSession_IsEqualTo(ODSession *somSelf, Environment *ev,
		ODObject* object);
typedef somTP_ODSession_IsEqualTo *somTD_ODSession_IsEqualTo;
typedef void   SOMLINK somTP_ODSession_SubClassResponsibility(ODSession *somSelf, Environment *ev);
typedef somTP_ODSession_SubClassResponsibility *somTD_ODSession_SubClassResponsibility;
typedef void   SOMLINK somTP_ODSession_somInit(ODSession *somSelf);
typedef somTP_ODSession_somInit *somTD_ODSession_somInit;
typedef void   SOMLINK somTP_ODSession_somDefaultInit(ODSession *somSelf,
		somInitCtrl* ctrl);
typedef somTP_ODSession_somDefaultInit *somTD_ODSession_somDefaultInit;
typedef void   SOMLINK somTP_ODSession_somDestruct(ODSession *somSelf,
		octet doFree,
		somDestructCtrl* ctrl);
typedef somTP_ODSession_somDestruct *somTD_ODSession_somDestruct;
typedef void   SOMLINK somTP_ODSession_somDefaultCopyInit(ODSession *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODSession_somDefaultCopyInit *somTD_ODSession_somDefaultCopyInit;
typedef ODSession*   SOMLINK somTP_ODSession_somDefaultAssign(ODSession *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODSession_somDefaultAssign *somTD_ODSession_somDefaultAssign;
typedef void   SOMLINK somTP_ODSession_somDefaultConstCopyInit(ODSession *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODSession_somDefaultConstCopyInit *somTD_ODSession_somDefaultConstCopyInit;
typedef void   SOMLINK somTP_ODSession_somDefaultVCopyInit(ODSession *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODSession_somDefaultVCopyInit *somTD_ODSession_somDefaultVCopyInit;
typedef void   SOMLINK somTP_ODSession_somDefaultConstVCopyInit(ODSession *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODSession_somDefaultConstVCopyInit *somTD_ODSession_somDefaultConstVCopyInit;
typedef ODSession*   SOMLINK somTP_ODSession_somDefaultConstAssign(ODSession *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODSession_somDefaultConstAssign *somTD_ODSession_somDefaultConstAssign;
typedef ODSession*   SOMLINK somTP_ODSession_somDefaultVAssign(ODSession *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODSession_somDefaultVAssign *somTD_ODSession_somDefaultVAssign;
typedef ODSession*   SOMLINK somTP_ODSession_somDefaultConstVAssign(ODSession *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODSession_somDefaultConstVAssign *somTD_ODSession_somDefaultConstVAssign;
typedef void   SOMLINK somTP_ODSession_somFree(ODSession *somSelf);
typedef somTP_ODSession_somFree *somTD_ODSession_somFree;
typedef SOMClass*   SOMLINK somTP_ODSession_somGetClass(ODSession *somSelf);
typedef somTP_ODSession_somGetClass *somTD_ODSession_somGetClass;
typedef string   SOMLINK somTP_ODSession_somGetClassName(ODSession *somSelf);
typedef somTP_ODSession_somGetClassName *somTD_ODSession_somGetClassName;
typedef long   SOMLINK somTP_ODSession_somGetSize(ODSession *somSelf);
typedef somTP_ODSession_somGetSize *somTD_ODSession_somGetSize;
typedef boolean   SOMLINK somTP_ODSession_somIsA(ODSession *somSelf,
		SOMClass* aClassObj);
typedef somTP_ODSession_somIsA *somTD_ODSession_somIsA;
typedef boolean   SOMLINK somTP_ODSession_somIsInstanceOf(ODSession *somSelf,
		SOMClass* aClassObj);
typedef somTP_ODSession_somIsInstanceOf *somTD_ODSession_somIsInstanceOf;
typedef boolean   SOMLINK somTP_ODSession_somRespondsTo(ODSession *somSelf,
		somId mId);
typedef somTP_ODSession_somRespondsTo *somTD_ODSession_somRespondsTo;
typedef boolean   SOMLINK somTP_ODSession_somDispatch(ODSession *somSelf,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ODSession_somDispatch *somTD_ODSession_somDispatch;
typedef boolean   SOMLINK somTP_ODSession_somClassDispatch(ODSession *somSelf,
		SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ODSession_somClassDispatch *somTD_ODSession_somClassDispatch;
typedef boolean   SOMLINK somTP_ODSession_somCastObj(ODSession *somSelf,
		SOMClass* cls);
typedef somTP_ODSession_somCastObj *somTD_ODSession_somCastObj;
typedef boolean   SOMLINK somTP_ODSession_somResetObj(ODSession *somSelf);
typedef somTP_ODSession_somResetObj *somTD_ODSession_somResetObj;
typedef SOMObject*   SOMLINK somTP_ODSession_somPrintSelf(ODSession *somSelf);
typedef somTP_ODSession_somPrintSelf *somTD_ODSession_somPrintSelf;
typedef void   SOMLINK somTP_ODSession_somDumpSelf(ODSession *somSelf,
		long level);
typedef somTP_ODSession_somDumpSelf *somTD_ODSession_somDumpSelf;
typedef void   SOMLINK somTP_ODSession_somDumpSelfInt(ODSession *somSelf,
		long level);
typedef somTP_ODSession_somDumpSelfInt *somTD_ODSession_somDumpSelfInt;
}

#endif /* ODSession_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 ODSession
 */
class ODSession : public ODBaseSession
{
public:

// ODSession::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 (!_ODSession) ODSessionNewClass(ODSession_MajorVersion,ODSession_MinorVersion);
   return (void*)
      SOM_Resolve(_ODSession,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_ODSession));
}

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

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

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

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


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


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


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


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


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


/*
 * Reintroduce inherited methods
 */

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


/* method: SetArbitrator */
void   SetArbitrator(Environment *ev,
		ODArbitrator* arbitrator)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetArbitrator)
	(this, ev,arbitrator);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetBinding */
void   SetBinding(Environment *ev,
		ODBinding* binding)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetBinding)
	(this, ev,binding);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetDispatcher */
void   SetDispatcher(Environment *ev,
		ODDispatcher* dispatcher)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetDispatcher)
	(this, ev,dispatcher);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetClipboard */
void   SetClipboard(Environment *ev,
		ODClipboard* clipboard)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetClipboard)
	(this, ev,clipboard);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetDragAndDrop */
void   SetDragAndDrop(Environment *ev,
		ODDragAndDrop* dragAndDrop)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetDragAndDrop)
	(this, ev,dragAndDrop);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetInfo */
void   SetInfo(Environment *ev,
		ODInfo* info)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetInfo)
	(this, ev,info);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetLinkManager */
void   SetLinkManager(Environment *ev,
		ODLinkManager* linkManager)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetLinkManager)
	(this, ev,linkManager);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetMessageInterface */
void   SetMessageInterface(Environment *ev,
		ODMessageInterface* messageInterface)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetMessageInterface)
	(this, ev,messageInterface);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetNameResolver */
void   SetNameResolver(Environment *ev,
		ODNameResolver* nameResolver)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetNameResolver)
	(this, ev,nameResolver);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetNameSpaceManager */
void   SetNameSpaceManager(Environment *ev,
		ODNameSpaceManager* nameSpaceManager)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetNameSpaceManager)
	(this, ev,nameSpaceManager);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetStorageSystem */
void   SetStorageSystem(Environment *ev,
		ODStorageSystem* storageSystem)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetStorageSystem)
	(this, ev,storageSystem);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetTranslation */
void   SetTranslation(Environment *ev,
		ODTranslation* translation)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetTranslation)
	(this, ev,translation);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetUndo */
void   SetUndo(Environment *ev,
		ODUndo* undo)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetUndo)
	(this, ev,undo);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetWindowState */
void   SetWindowState(Environment *ev,
		ODWindowState* windowState)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetWindowState)
	(this, ev,windowState);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: SetShellSemtInterface */
void   SetShellSemtInterface(Environment *ev,
		ODSemanticInterface* shellSemanticInterface)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,SetShellSemtInterface)
	(this, ev,shellSemanticInterface);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: Tokenize */
ODTypeToken   Tokenize(Environment *ev,
		ODType type)
{
#ifdef SOMCHKEXCEPT
   ODTypeToken __somResult = 
      SOM_ResolveD(this,ODSession,ODBaseSession,Tokenize)
	(this, ev,type);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODSession,ODBaseSession,Tokenize)
	(this, ev,type);
#endif
}


/* method: RemoveEntry */
void   RemoveEntry(Environment *ev,
		ODType type)
{
   SOM_ResolveD(this,ODSession,ODBaseSession,RemoveEntry)
	(this, ev,type);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


/* method: GetType */
ODBoolean   GetType(Environment *ev,
		ODTypeToken token,
		ODType* type)
{
#ifdef SOMCHKEXCEPT
   ODBoolean __somResult = 
      SOM_ResolveD(this,ODSession,ODBaseSession,GetType)
	(this, ev,token,type);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODSession,ODBaseSession,GetType)
	(this, ev,token,type);
#endif
}


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



};   /* ODSession */



#endif       /* SOM_ODSession_xh */
