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

#ifndef SOM_ODBaseSession_xh
#define SOM_ODBaseSession_xh

class ODBaseSession;

#define ODBaseSession_MajorVersion 1
#define ODBaseSession_MinorVersion 0

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

/* C++ parent defs */
#ifndef SOM_ODObject_xh
#include <ODObject.xh>
#endif

#ifndef ODBaseSession_API
#define ODBaseSession_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;

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

/* A procedure to create the ODBaseSession Class */
SOMEXTERN
#if (defined(SOM_Module_ODSessnB_Source) || defined(ODBaseSession_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODBaseSession))
WIN32_DLLEXPORT
#else
WIN32_DLLIMPORT
#endif
SOMClass * SOMLINK ODBaseSessionNewClass(
		integer4,
		integer4 );

/* The API to the ODBaseSession class object, and the methods it introduces. */
SOMEXTERN struct ODBaseSessionClassDataStructure {
	SOMClass *classObject;
	somMToken GetArbitrator;
	somMToken GetBinding;
	somMToken GetClipboard;
	somMToken GetDispatcher;
	somMToken GetDragAndDrop;
	somMToken GetInfo;
	somMToken GetLinkManager;
	somMToken GetMessageInterface;
	somMToken GetNameResolver;
	somMToken GetNameSpaceManager;
	somMToken GetStorageSystem;
	somMToken GetTranslation;
	somMToken GetUndo;
	somMToken GetWindowState;
	somMToken SetArbitrator;
	somMToken SetBinding;
	somMToken SetClipboard;
	somMToken SetDispatcher;
	somMToken SetDragAndDrop;
	somMToken SetInfo;
	somMToken SetLinkManager;
	somMToken SetMessageInterface;
	somMToken SetNameResolver;
	somMToken SetNameSpaceManager;
	somMToken SetStorageSystem;
	somMToken SetTranslation;
	somMToken SetUndo;
	somMToken SetWindowState;
	somMToken AcquireShellSemtInterface;
	somMToken SetShellSemtInterface;
	somMToken Tokenize;
	somMToken RemoveEntry;
	somMToken GetType;
	somMToken reserved1;
	somMToken reserved2;
	somMToken reserved3;
	somMToken reserved4;
	somMToken reserved5;
	somMToken reserved6;
	somMToken reserved7;
	somMToken reserved8;
}
#if !(defined(SOM_Module_ODSessnB_Source) || defined(ODBaseSession_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODBaseSession))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ODBaseSessionClassData;
#define _ODBaseSession ODBaseSessionClassData.classObject

/* The API to parentMtabs for ODBaseSession, and the instance data it introduces. */
SOMEXTERN struct ODBaseSessionCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
}
#if !(defined(SOM_Module_ODSessnB_Source) || defined(ODBaseSession_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ODBaseSession))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK ODBaseSessionCClassData;

/*
 * -- Typedefs for ODBaseSession Method Procedures
 */
extern "C" {
typedef ODArbitrator*   SOMLINK somTP_ODBaseSession_GetArbitrator(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetArbitrator *somTD_ODBaseSession_GetArbitrator;
typedef void   SOMLINK somTP_ODBaseSession_SetArbitrator(ODBaseSession *somSelf, Environment *ev,
		ODArbitrator* arbitrator);
typedef somTP_ODBaseSession_SetArbitrator *somTD_ODBaseSession_SetArbitrator;
typedef ODBinding*   SOMLINK somTP_ODBaseSession_GetBinding(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetBinding *somTD_ODBaseSession_GetBinding;
typedef void   SOMLINK somTP_ODBaseSession_SetBinding(ODBaseSession *somSelf, Environment *ev,
		ODBinding* binding);
typedef somTP_ODBaseSession_SetBinding *somTD_ODBaseSession_SetBinding;
typedef ODDispatcher*   SOMLINK somTP_ODBaseSession_GetDispatcher(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetDispatcher *somTD_ODBaseSession_GetDispatcher;
typedef void   SOMLINK somTP_ODBaseSession_SetDispatcher(ODBaseSession *somSelf, Environment *ev,
		ODDispatcher* dispatcher);
typedef somTP_ODBaseSession_SetDispatcher *somTD_ODBaseSession_SetDispatcher;
typedef ODClipboard*   SOMLINK somTP_ODBaseSession_GetClipboard(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetClipboard *somTD_ODBaseSession_GetClipboard;
typedef void   SOMLINK somTP_ODBaseSession_SetClipboard(ODBaseSession *somSelf, Environment *ev,
		ODClipboard* clipboard);
typedef somTP_ODBaseSession_SetClipboard *somTD_ODBaseSession_SetClipboard;
typedef ODDragAndDrop*   SOMLINK somTP_ODBaseSession_GetDragAndDrop(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetDragAndDrop *somTD_ODBaseSession_GetDragAndDrop;
typedef void   SOMLINK somTP_ODBaseSession_SetDragAndDrop(ODBaseSession *somSelf, Environment *ev,
		ODDragAndDrop* dragAndDrop);
typedef somTP_ODBaseSession_SetDragAndDrop *somTD_ODBaseSession_SetDragAndDrop;
typedef ODInfo*   SOMLINK somTP_ODBaseSession_GetInfo(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetInfo *somTD_ODBaseSession_GetInfo;
typedef void   SOMLINK somTP_ODBaseSession_SetInfo(ODBaseSession *somSelf, Environment *ev,
		ODInfo* info);
typedef somTP_ODBaseSession_SetInfo *somTD_ODBaseSession_SetInfo;
typedef ODLinkManager*   SOMLINK somTP_ODBaseSession_GetLinkManager(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetLinkManager *somTD_ODBaseSession_GetLinkManager;
typedef void   SOMLINK somTP_ODBaseSession_SetLinkManager(ODBaseSession *somSelf, Environment *ev,
		ODLinkManager* linkManager);
typedef somTP_ODBaseSession_SetLinkManager *somTD_ODBaseSession_SetLinkManager;
typedef ODMessageInterface*   SOMLINK somTP_ODBaseSession_GetMessageInterface(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetMessageInterface *somTD_ODBaseSession_GetMessageInterface;
typedef void   SOMLINK somTP_ODBaseSession_SetMessageInterface(ODBaseSession *somSelf, Environment *ev,
		ODMessageInterface* messageInterface);
typedef somTP_ODBaseSession_SetMessageInterface *somTD_ODBaseSession_SetMessageInterface;
typedef ODNameResolver*   SOMLINK somTP_ODBaseSession_GetNameResolver(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetNameResolver *somTD_ODBaseSession_GetNameResolver;
typedef void   SOMLINK somTP_ODBaseSession_SetNameResolver(ODBaseSession *somSelf, Environment *ev,
		ODNameResolver* nameResolver);
typedef somTP_ODBaseSession_SetNameResolver *somTD_ODBaseSession_SetNameResolver;
typedef ODNameSpaceManager*   SOMLINK somTP_ODBaseSession_GetNameSpaceManager(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetNameSpaceManager *somTD_ODBaseSession_GetNameSpaceManager;
typedef void   SOMLINK somTP_ODBaseSession_SetNameSpaceManager(ODBaseSession *somSelf, Environment *ev,
		ODNameSpaceManager* nameSpaceManager);
typedef somTP_ODBaseSession_SetNameSpaceManager *somTD_ODBaseSession_SetNameSpaceManager;
typedef ODStorageSystem*   SOMLINK somTP_ODBaseSession_GetStorageSystem(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetStorageSystem *somTD_ODBaseSession_GetStorageSystem;
typedef void   SOMLINK somTP_ODBaseSession_SetStorageSystem(ODBaseSession *somSelf, Environment *ev,
		ODStorageSystem* storageSystem);
typedef somTP_ODBaseSession_SetStorageSystem *somTD_ODBaseSession_SetStorageSystem;
typedef ODTranslation*   SOMLINK somTP_ODBaseSession_GetTranslation(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetTranslation *somTD_ODBaseSession_GetTranslation;
typedef void   SOMLINK somTP_ODBaseSession_SetTranslation(ODBaseSession *somSelf, Environment *ev,
		ODTranslation* translation);
typedef somTP_ODBaseSession_SetTranslation *somTD_ODBaseSession_SetTranslation;
typedef ODUndo*   SOMLINK somTP_ODBaseSession_GetUndo(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetUndo *somTD_ODBaseSession_GetUndo;
typedef void   SOMLINK somTP_ODBaseSession_SetUndo(ODBaseSession *somSelf, Environment *ev,
		ODUndo* undo);
typedef somTP_ODBaseSession_SetUndo *somTD_ODBaseSession_SetUndo;
typedef ODWindowState*   SOMLINK somTP_ODBaseSession_GetWindowState(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_GetWindowState *somTD_ODBaseSession_GetWindowState;
typedef void   SOMLINK somTP_ODBaseSession_SetWindowState(ODBaseSession *somSelf, Environment *ev,
		ODWindowState* windowState);
typedef somTP_ODBaseSession_SetWindowState *somTD_ODBaseSession_SetWindowState;
typedef ODSemanticInterface*   SOMLINK somTP_ODBaseSession_AcquireShellSemtInterface(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_AcquireShellSemtInterface *somTD_ODBaseSession_AcquireShellSemtInterface;
typedef void   SOMLINK somTP_ODBaseSession_SetShellSemtInterface(ODBaseSession *somSelf, Environment *ev,
		ODSemanticInterface* shellSemanticInterface);
typedef somTP_ODBaseSession_SetShellSemtInterface *somTD_ODBaseSession_SetShellSemtInterface;
typedef ODTypeToken   SOMLINK somTP_ODBaseSession_Tokenize(ODBaseSession *somSelf, Environment *ev,
		ODType type);
typedef somTP_ODBaseSession_Tokenize *somTD_ODBaseSession_Tokenize;
typedef void   SOMLINK somTP_ODBaseSession_RemoveEntry(ODBaseSession *somSelf, Environment *ev,
		ODType type);
typedef somTP_ODBaseSession_RemoveEntry *somTD_ODBaseSession_RemoveEntry;
typedef ODBoolean   SOMLINK somTP_ODBaseSession_GetType(ODBaseSession *somSelf, Environment *ev,
		ODTypeToken token,
		ODType* type);
typedef somTP_ODBaseSession_GetType *somTD_ODBaseSession_GetType;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef void   SOMLINK somTP_ODBaseSession_InitObject(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_InitObject *somTD_ODBaseSession_InitObject;
typedef ODBoolean   SOMLINK somTP_ODBaseSession_HasExtension(ODBaseSession *somSelf, Environment *ev,
		ODType extensionName);
typedef somTP_ODBaseSession_HasExtension *somTD_ODBaseSession_HasExtension;
typedef ODExtension*   SOMLINK somTP_ODBaseSession_AcquireExtension(ODBaseSession *somSelf, Environment *ev,
		ODType extensionName);
typedef somTP_ODBaseSession_AcquireExtension *somTD_ODBaseSession_AcquireExtension;
typedef void   SOMLINK somTP_ODBaseSession_ReleaseExtension(ODBaseSession *somSelf, Environment *ev,
		ODExtension* extension);
typedef somTP_ODBaseSession_ReleaseExtension *somTD_ODBaseSession_ReleaseExtension;
typedef ODSize   SOMLINK somTP_ODBaseSession_Purge(ODBaseSession *somSelf, Environment *ev,
		ODSize size);
typedef somTP_ODBaseSession_Purge *somTD_ODBaseSession_Purge;
typedef ODBoolean   SOMLINK somTP_ODBaseSession_IsEqualTo(ODBaseSession *somSelf, Environment *ev,
		ODObject* object);
typedef somTP_ODBaseSession_IsEqualTo *somTD_ODBaseSession_IsEqualTo;
typedef void   SOMLINK somTP_ODBaseSession_SubClassResponsibility(ODBaseSession *somSelf, Environment *ev);
typedef somTP_ODBaseSession_SubClassResponsibility *somTD_ODBaseSession_SubClassResponsibility;
typedef void   SOMLINK somTP_ODBaseSession_somInit(ODBaseSession *somSelf);
typedef somTP_ODBaseSession_somInit *somTD_ODBaseSession_somInit;
typedef void   SOMLINK somTP_ODBaseSession_somUninit(ODBaseSession *somSelf);
typedef somTP_ODBaseSession_somUninit *somTD_ODBaseSession_somUninit;
typedef void   SOMLINK somTP_ODBaseSession_somDefaultInit(ODBaseSession *somSelf,
		somInitCtrl* ctrl);
typedef somTP_ODBaseSession_somDefaultInit *somTD_ODBaseSession_somDefaultInit;
typedef void   SOMLINK somTP_ODBaseSession_somDestruct(ODBaseSession *somSelf,
		octet doFree,
		somDestructCtrl* ctrl);
typedef somTP_ODBaseSession_somDestruct *somTD_ODBaseSession_somDestruct;
typedef void   SOMLINK somTP_ODBaseSession_somDefaultCopyInit(ODBaseSession *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODBaseSession_somDefaultCopyInit *somTD_ODBaseSession_somDefaultCopyInit;
typedef ODBaseSession*   SOMLINK somTP_ODBaseSession_somDefaultAssign(ODBaseSession *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODBaseSession_somDefaultAssign *somTD_ODBaseSession_somDefaultAssign;
typedef void   SOMLINK somTP_ODBaseSession_somDefaultConstCopyInit(ODBaseSession *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODBaseSession_somDefaultConstCopyInit *somTD_ODBaseSession_somDefaultConstCopyInit;
typedef void   SOMLINK somTP_ODBaseSession_somDefaultVCopyInit(ODBaseSession *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODBaseSession_somDefaultVCopyInit *somTD_ODBaseSession_somDefaultVCopyInit;
typedef void   SOMLINK somTP_ODBaseSession_somDefaultConstVCopyInit(ODBaseSession *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODBaseSession_somDefaultConstVCopyInit *somTD_ODBaseSession_somDefaultConstVCopyInit;
typedef ODBaseSession*   SOMLINK somTP_ODBaseSession_somDefaultConstAssign(ODBaseSession *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODBaseSession_somDefaultConstAssign *somTD_ODBaseSession_somDefaultConstAssign;
typedef ODBaseSession*   SOMLINK somTP_ODBaseSession_somDefaultVAssign(ODBaseSession *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODBaseSession_somDefaultVAssign *somTD_ODBaseSession_somDefaultVAssign;
typedef ODBaseSession*   SOMLINK somTP_ODBaseSession_somDefaultConstVAssign(ODBaseSession *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_ODBaseSession_somDefaultConstVAssign *somTD_ODBaseSession_somDefaultConstVAssign;
typedef void   SOMLINK somTP_ODBaseSession_somFree(ODBaseSession *somSelf);
typedef somTP_ODBaseSession_somFree *somTD_ODBaseSession_somFree;
typedef SOMClass*   SOMLINK somTP_ODBaseSession_somGetClass(ODBaseSession *somSelf);
typedef somTP_ODBaseSession_somGetClass *somTD_ODBaseSession_somGetClass;
typedef string   SOMLINK somTP_ODBaseSession_somGetClassName(ODBaseSession *somSelf);
typedef somTP_ODBaseSession_somGetClassName *somTD_ODBaseSession_somGetClassName;
typedef long   SOMLINK somTP_ODBaseSession_somGetSize(ODBaseSession *somSelf);
typedef somTP_ODBaseSession_somGetSize *somTD_ODBaseSession_somGetSize;
typedef boolean   SOMLINK somTP_ODBaseSession_somIsA(ODBaseSession *somSelf,
		SOMClass* aClassObj);
typedef somTP_ODBaseSession_somIsA *somTD_ODBaseSession_somIsA;
typedef boolean   SOMLINK somTP_ODBaseSession_somIsInstanceOf(ODBaseSession *somSelf,
		SOMClass* aClassObj);
typedef somTP_ODBaseSession_somIsInstanceOf *somTD_ODBaseSession_somIsInstanceOf;
typedef boolean   SOMLINK somTP_ODBaseSession_somRespondsTo(ODBaseSession *somSelf,
		somId mId);
typedef somTP_ODBaseSession_somRespondsTo *somTD_ODBaseSession_somRespondsTo;
typedef boolean   SOMLINK somTP_ODBaseSession_somDispatch(ODBaseSession *somSelf,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ODBaseSession_somDispatch *somTD_ODBaseSession_somDispatch;
typedef boolean   SOMLINK somTP_ODBaseSession_somClassDispatch(ODBaseSession *somSelf,
		SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_ODBaseSession_somClassDispatch *somTD_ODBaseSession_somClassDispatch;
typedef boolean   SOMLINK somTP_ODBaseSession_somCastObj(ODBaseSession *somSelf,
		SOMClass* cls);
typedef somTP_ODBaseSession_somCastObj *somTD_ODBaseSession_somCastObj;
typedef boolean   SOMLINK somTP_ODBaseSession_somResetObj(ODBaseSession *somSelf);
typedef somTP_ODBaseSession_somResetObj *somTD_ODBaseSession_somResetObj;
typedef SOMObject*   SOMLINK somTP_ODBaseSession_somPrintSelf(ODBaseSession *somSelf);
typedef somTP_ODBaseSession_somPrintSelf *somTD_ODBaseSession_somPrintSelf;
typedef void   SOMLINK somTP_ODBaseSession_somDumpSelf(ODBaseSession *somSelf,
		long level);
typedef somTP_ODBaseSession_somDumpSelf *somTD_ODBaseSession_somDumpSelf;
typedef void   SOMLINK somTP_ODBaseSession_somDumpSelfInt(ODBaseSession *somSelf,
		long level);
typedef somTP_ODBaseSession_somDumpSelfInt *somTD_ODBaseSession_somDumpSelfInt;
}

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

// ODBaseSession::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 (!_ODBaseSession) ODBaseSessionNewClass(ODBaseSession_MajorVersion,ODBaseSession_MinorVersion);
   return (void*)
      SOM_Resolve(_ODBaseSession,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_ODBaseSession));
}

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

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

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

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


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


/* method: SetArbitrator */
void   SetArbitrator(Environment *ev,
		ODArbitrator* arbitrator)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetBinding)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetBinding)
	(this, ev);
#endif
}


/* method: SetBinding */
void   SetBinding(Environment *ev,
		ODBinding* binding)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetDispatcher)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetDispatcher)
	(this, ev);
#endif
}


/* method: SetDispatcher */
void   SetDispatcher(Environment *ev,
		ODDispatcher* dispatcher)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetClipboard)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetClipboard)
	(this, ev);
#endif
}


/* method: SetClipboard */
void   SetClipboard(Environment *ev,
		ODClipboard* clipboard)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetDragAndDrop)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetDragAndDrop)
	(this, ev);
#endif
}


/* method: SetDragAndDrop */
void   SetDragAndDrop(Environment *ev,
		ODDragAndDrop* dragAndDrop)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetInfo)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetInfo)
	(this, ev);
#endif
}


/* method: SetInfo */
void   SetInfo(Environment *ev,
		ODInfo* info)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetLinkManager)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetLinkManager)
	(this, ev);
#endif
}


/* method: SetLinkManager */
void   SetLinkManager(Environment *ev,
		ODLinkManager* linkManager)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetMessageInterface)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetMessageInterface)
	(this, ev);
#endif
}


/* method: SetMessageInterface */
void   SetMessageInterface(Environment *ev,
		ODMessageInterface* messageInterface)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetNameResolver)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetNameResolver)
	(this, ev);
#endif
}


/* method: SetNameResolver */
void   SetNameResolver(Environment *ev,
		ODNameResolver* nameResolver)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetNameSpaceManager)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetNameSpaceManager)
	(this, ev);
#endif
}


/* method: SetNameSpaceManager */
void   SetNameSpaceManager(Environment *ev,
		ODNameSpaceManager* nameSpaceManager)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetStorageSystem)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetStorageSystem)
	(this, ev);
#endif
}


/* method: SetStorageSystem */
void   SetStorageSystem(Environment *ev,
		ODStorageSystem* storageSystem)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetTranslation)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetTranslation)
	(this, ev);
#endif
}


/* method: SetTranslation */
void   SetTranslation(Environment *ev,
		ODTranslation* translation)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetUndo)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetUndo)
	(this, ev);
#endif
}


/* method: SetUndo */
void   SetUndo(Environment *ev,
		ODUndo* undo)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetWindowState)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetWindowState)
	(this, ev);
#endif
}


/* method: SetWindowState */
void   SetWindowState(Environment *ev,
		ODWindowState* windowState)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,AcquireShellSemtInterface)
	(this, ev);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,AcquireShellSemtInterface)
	(this, ev);
#endif
}


/* method: SetShellSemtInterface */
void   SetShellSemtInterface(Environment *ev,
		ODSemanticInterface* shellSemanticInterface)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,Tokenize)
	(this, ev,type);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,Tokenize)
	(this, ev,type);
#endif
}


/* method: RemoveEntry */
void   RemoveEntry(Environment *ev,
		ODType type)
{
   SOM_ResolveD(this,ODBaseSession,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,ODBaseSession,ODBaseSession,GetType)
	(this, ev,token,type);
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
   return __somResult;
#else
   return SOM_ResolveD(this,ODBaseSession,ODBaseSession,GetType)
	(this, ev,token,type);
#endif
}


/*
 * Reintroduce inherited methods
 */

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



};   /* ODBaseSession */



#endif       /* SOM_ODBaseSession_xh */
