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

#ifndef SOM_DocumentManager_xh
#define SOM_DocumentManager_xh

class DocumentManager;

#define DocumentManager_MajorVersion 1
#define DocumentManager_MinorVersion 0

/*
 * Passthru lines: File: "C.xh", "before"
 */
#include <PlfmFile.h>
#ifndef _ODTYPES_
#include "ODTypes.h"
#endif
#ifndef _DRAFTREC_
#include "DraftRec.h"
#endif
class OleWrapper;


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

/* C++ parent defs */
#ifndef SOM_somf_MLinkable_xh
#include <mlink.xh>
#endif

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

/*
 * Start of user-defined types:
 */
class SOMClass;
class SOMObject;
class ODFrame;
class ODFacet;
class ODPlatformCanvas;
class DocumentManager;
class ODSession;
class ODContainer;
class ODDocument;
class ODDraft;
class ODPart;
class ODWindowState;
class ODStorageUnit;

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

/* A procedure to create the DocumentManager Class */
SOMEXTERN
#if (defined(SOM_Module_DocMgr_Source) || defined(DocumentManager_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_DocumentManager))
WIN32_DLLEXPORT
#else
WIN32_DLLIMPORT
#endif
SOMClass * SOMLINK DocumentManagerNewClass(
		integer4,
		integer4 );

/* The API to the DocumentManager class object, and the methods it introduces. */
SOMEXTERN struct DocumentManagerClassDataStructure {
	SOMClass *classObject;
	somMToken Initialize;
	somMToken OpenDocumentFromFile;
	somMToken OpenDocumentFromMemory;
	somMToken CreateDocumentInFile;
	somMToken CreateDocumentInMemory;
	somMToken CreateDocumentAsStationery;
	somMToken GetDocument;
	somMToken SaveDocument;
	somMToken CloseDocument;
	somMToken CloseWindow;
	somMToken CreateDraft;
	somMToken OpenDraft;
	somMToken CloseDraft;
	somMToken SaveDraft;
	somMToken DeleteDraft;
	somMToken GetLatestCreatedDraft;
	somMToken GetDraft;
	somMToken GetDraftList;
	somMToken DeleteDraftList;
	somMToken HasWriteAccess;
	somMToken InternalizeHistory;
	somMToken Revert;
	somMToken SaveACopyAs;
	somMToken SetOleWrapper;
	somMToken GetOleWrapper;
	somMToken GetFileName;
	somMToken SetFileName;
	somMToken GetPartKindName;
	somMToken SetPartKindName;
	somMToken reserved1;
	somMToken reserved2;
	somMToken reserved3;
	somMToken reserved4;
	somMToken reserved5;
	somMToken reserved6;
	somMToken reserved7;
	somMToken reserved8;
	somMToken reserved9;
	somMToken reserved10;
	somMToken reserved11;
	somMToken reserved12;
	somMToken reserved13;
	somMToken reserved14;
	somMToken reserved15;
	somMToken reserved16;
	somMToken reserved17;
	somMToken reserved18;
	somMToken reserved19;
	somMToken reserved20;
}
#if !(defined(SOM_Module_DocMgr_Source) || defined(DocumentManager_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_DocumentManager))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK DocumentManagerClassData;
#define _DocumentManager DocumentManagerClassData.classObject

/* The API to parentMtabs for DocumentManager, and the instance data it introduces. */
SOMEXTERN struct DocumentManagerCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken              instanceDataToken;
}
#if !(defined(SOM_Module_DocMgr_Source) || defined(DocumentManager_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_DocumentManager))
WIN32_DLLIMPORT
#elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
WIN32_DLLEXPORT
#endif
SOMDLINK DocumentManagerCClassData;

/*
 * -- Typedefs for DocumentManager Method Procedures
 */
extern "C" {
typedef void   SOMLINK somTP_DocumentManager_Initialize(DocumentManager *somSelf, Environment *ev,
		ODSession* session);
typedef somTP_DocumentManager_Initialize *somTD_DocumentManager_Initialize;
typedef char*   SOMLINK somTP_DocumentManager_OpenDocumentFromFile(DocumentManager *somSelf, Environment *ev,
		char* fileName,
		ODUShort actionFlag);
typedef somTP_DocumentManager_OpenDocumentFromFile *somTD_DocumentManager_OpenDocumentFromFile;
typedef char*   SOMLINK somTP_DocumentManager_OpenDocumentFromMemory(DocumentManager *somSelf, Environment *ev,
		ODHandle handle);
typedef somTP_DocumentManager_OpenDocumentFromMemory *somTD_DocumentManager_OpenDocumentFromMemory;
typedef void   SOMLINK somTP_DocumentManager_CreateDocumentInFile(DocumentManager *somSelf, Environment *ev,
		ODType kindName,
		char* fileName);
typedef somTP_DocumentManager_CreateDocumentInFile *somTD_DocumentManager_CreateDocumentInFile;
typedef void   SOMLINK somTP_DocumentManager_CreateDocumentInMemory(DocumentManager *somSelf, Environment *ev,
		ODType kindName);
typedef somTP_DocumentManager_CreateDocumentInMemory *somTD_DocumentManager_CreateDocumentInMemory;
typedef void   SOMLINK somTP_DocumentManager_CreateDocumentAsStationery(DocumentManager *somSelf, Environment *ev,
		ODType kindName,
		char* fileName);
typedef somTP_DocumentManager_CreateDocumentAsStationery *somTD_DocumentManager_CreateDocumentAsStationery;
typedef ODDocument*   SOMLINK somTP_DocumentManager_GetDocument(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_GetDocument *somTD_DocumentManager_GetDocument;
typedef void   SOMLINK somTP_DocumentManager_SaveDocument(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_SaveDocument *somTD_DocumentManager_SaveDocument;
typedef void   SOMLINK somTP_DocumentManager_CloseDocument(DocumentManager *somSelf, Environment *ev,
		ODULong saveOption);
typedef somTP_DocumentManager_CloseDocument *somTD_DocumentManager_CloseDocument;
typedef ODBoolean   SOMLINK somTP_DocumentManager_CloseWindow(DocumentManager *somSelf, Environment *ev,
		ODPlatformWindow pwindow,
		ODBoolean confirm);
typedef somTP_DocumentManager_CloseWindow *somTD_DocumentManager_CloseWindow;
typedef void   SOMLINK somTP_DocumentManager_CreateDraft(DocumentManager *somSelf, Environment *ev,
		ODULong draftNum,
		ODIText* modUser,
		ODIText* comment);
typedef somTP_DocumentManager_CreateDraft *somTD_DocumentManager_CreateDraft;
typedef ODBoolean   SOMLINK somTP_DocumentManager_OpenDraft(DocumentManager *somSelf, Environment *ev,
		ODDraft* draft,
		ODBoolean toBeRelease);
typedef somTP_DocumentManager_OpenDraft *somTD_DocumentManager_OpenDraft;
typedef void   SOMLINK somTP_DocumentManager_CloseDraft(DocumentManager *somSelf, Environment *ev,
		ODDraft* draft);
typedef somTP_DocumentManager_CloseDraft *somTD_DocumentManager_CloseDraft;
typedef void   SOMLINK somTP_DocumentManager_SaveDraft(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_SaveDraft *somTD_DocumentManager_SaveDraft;
typedef ODBoolean   SOMLINK somTP_DocumentManager_DeleteDraft(DocumentManager *somSelf, Environment *ev,
		DraftInfoRec* draftInfoRec);
typedef somTP_DocumentManager_DeleteDraft *somTD_DocumentManager_DeleteDraft;
typedef ODDraft*   SOMLINK somTP_DocumentManager_GetLatestCreatedDraft(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_GetLatestCreatedDraft *somTD_DocumentManager_GetLatestCreatedDraft;
typedef ODDraft*   SOMLINK somTP_DocumentManager_GetDraft(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_GetDraft *somTD_DocumentManager_GetDraft;
typedef DraftInfoRec*   SOMLINK somTP_DocumentManager_GetDraftList(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_GetDraftList *somTD_DocumentManager_GetDraftList;
typedef void   SOMLINK somTP_DocumentManager_DeleteDraftList(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_DeleteDraftList *somTD_DocumentManager_DeleteDraftList;
typedef ODBoolean   SOMLINK somTP_DocumentManager_HasWriteAccess(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_HasWriteAccess *somTD_DocumentManager_HasWriteAccess;
typedef void   SOMLINK somTP_DocumentManager_InternalizeHistory(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_InternalizeHistory *somTD_DocumentManager_InternalizeHistory;
typedef void   SOMLINK somTP_DocumentManager_Revert(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_Revert *somTD_DocumentManager_Revert;
typedef void   SOMLINK somTP_DocumentManager_SaveACopyAs(DocumentManager *somSelf, Environment *ev,
		ODDraft* draft,
		PlatformFile* file);
typedef somTP_DocumentManager_SaveACopyAs *somTD_DocumentManager_SaveACopyAs;
typedef void   SOMLINK somTP_DocumentManager_SetOleWrapper(DocumentManager *somSelf, Environment *ev,
		OleWrapper* oleWrapper);
typedef somTP_DocumentManager_SetOleWrapper *somTD_DocumentManager_SetOleWrapper;
typedef OleWrapper*   SOMLINK somTP_DocumentManager_GetOleWrapper(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_GetOleWrapper *somTD_DocumentManager_GetOleWrapper;
typedef char*   SOMLINK somTP_DocumentManager_GetFileName(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_GetFileName *somTD_DocumentManager_GetFileName;
typedef void   SOMLINK somTP_DocumentManager_SetFileName(DocumentManager *somSelf, Environment *ev,
		char* fileName);
typedef somTP_DocumentManager_SetFileName *somTD_DocumentManager_SetFileName;
typedef char*   SOMLINK somTP_DocumentManager_GetPartKindName(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_GetPartKindName *somTD_DocumentManager_GetPartKindName;
typedef void   SOMLINK somTP_DocumentManager_SetPartKindName(DocumentManager *somSelf, Environment *ev,
		char* kindName);
typedef somTP_DocumentManager_SetPartKindName *somTD_DocumentManager_SetPartKindName;

/*
 * -- Typedefs for Reintroduced Wrapper Methods
 */
typedef somf_MLinkable*   SOMLINK somTP_DocumentManager_somfMLinkableInit(DocumentManager *somSelf, Environment *ev,
		somf_MLinkable* n,
		somf_MLinkable* p);
typedef somTP_DocumentManager_somfMLinkableInit *somTD_DocumentManager_somfMLinkableInit;
typedef somf_MLinkable*   SOMLINK somTP_DocumentManager_somfGetNext(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_somfGetNext *somTD_DocumentManager_somfGetNext;
typedef void   SOMLINK somTP_DocumentManager_somfSetNext(DocumentManager *somSelf, Environment *ev,
		somf_MLinkable* aLink);
typedef somTP_DocumentManager_somfSetNext *somTD_DocumentManager_somfSetNext;
typedef somf_MLinkable*   SOMLINK somTP_DocumentManager_somfGetPrevious(DocumentManager *somSelf, Environment *ev);
typedef somTP_DocumentManager_somfGetPrevious *somTD_DocumentManager_somfGetPrevious;
typedef void   SOMLINK somTP_DocumentManager_somfSetPrevious(DocumentManager *somSelf, Environment *ev,
		somf_MLinkable* aLink);
typedef somTP_DocumentManager_somfSetPrevious *somTD_DocumentManager_somfSetPrevious;
typedef void   SOMLINK somTP_DocumentManager_somInit(DocumentManager *somSelf);
typedef somTP_DocumentManager_somInit *somTD_DocumentManager_somInit;
typedef void   SOMLINK somTP_DocumentManager_somDefaultInit(DocumentManager *somSelf,
		somInitCtrl* ctrl);
typedef somTP_DocumentManager_somDefaultInit *somTD_DocumentManager_somDefaultInit;
typedef void   SOMLINK somTP_DocumentManager_somDestruct(DocumentManager *somSelf,
		octet doFree,
		somDestructCtrl* ctrl);
typedef somTP_DocumentManager_somDestruct *somTD_DocumentManager_somDestruct;
typedef void   SOMLINK somTP_DocumentManager_somDefaultCopyInit(DocumentManager *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_DocumentManager_somDefaultCopyInit *somTD_DocumentManager_somDefaultCopyInit;
typedef DocumentManager*   SOMLINK somTP_DocumentManager_somDefaultAssign(DocumentManager *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_DocumentManager_somDefaultAssign *somTD_DocumentManager_somDefaultAssign;
typedef void   SOMLINK somTP_DocumentManager_somDefaultConstCopyInit(DocumentManager *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_DocumentManager_somDefaultConstCopyInit *somTD_DocumentManager_somDefaultConstCopyInit;
typedef void   SOMLINK somTP_DocumentManager_somDefaultVCopyInit(DocumentManager *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_DocumentManager_somDefaultVCopyInit *somTD_DocumentManager_somDefaultVCopyInit;
typedef void   SOMLINK somTP_DocumentManager_somDefaultConstVCopyInit(DocumentManager *somSelf,
		somInitCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_DocumentManager_somDefaultConstVCopyInit *somTD_DocumentManager_somDefaultConstVCopyInit;
typedef DocumentManager*   SOMLINK somTP_DocumentManager_somDefaultConstAssign(DocumentManager *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_DocumentManager_somDefaultConstAssign *somTD_DocumentManager_somDefaultConstAssign;
typedef DocumentManager*   SOMLINK somTP_DocumentManager_somDefaultVAssign(DocumentManager *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_DocumentManager_somDefaultVAssign *somTD_DocumentManager_somDefaultVAssign;
typedef DocumentManager*   SOMLINK somTP_DocumentManager_somDefaultConstVAssign(DocumentManager *somSelf,
		somAssignCtrl* ctrl,
		SOMObject* fromObj);
typedef somTP_DocumentManager_somDefaultConstVAssign *somTD_DocumentManager_somDefaultConstVAssign;
typedef void   SOMLINK somTP_DocumentManager_somFree(DocumentManager *somSelf);
typedef somTP_DocumentManager_somFree *somTD_DocumentManager_somFree;
typedef void   SOMLINK somTP_DocumentManager_somUninit(DocumentManager *somSelf);
typedef somTP_DocumentManager_somUninit *somTD_DocumentManager_somUninit;
typedef SOMClass*   SOMLINK somTP_DocumentManager_somGetClass(DocumentManager *somSelf);
typedef somTP_DocumentManager_somGetClass *somTD_DocumentManager_somGetClass;
typedef string   SOMLINK somTP_DocumentManager_somGetClassName(DocumentManager *somSelf);
typedef somTP_DocumentManager_somGetClassName *somTD_DocumentManager_somGetClassName;
typedef long   SOMLINK somTP_DocumentManager_somGetSize(DocumentManager *somSelf);
typedef somTP_DocumentManager_somGetSize *somTD_DocumentManager_somGetSize;
typedef boolean   SOMLINK somTP_DocumentManager_somIsA(DocumentManager *somSelf,
		SOMClass* aClassObj);
typedef somTP_DocumentManager_somIsA *somTD_DocumentManager_somIsA;
typedef boolean   SOMLINK somTP_DocumentManager_somIsInstanceOf(DocumentManager *somSelf,
		SOMClass* aClassObj);
typedef somTP_DocumentManager_somIsInstanceOf *somTD_DocumentManager_somIsInstanceOf;
typedef boolean   SOMLINK somTP_DocumentManager_somRespondsTo(DocumentManager *somSelf,
		somId mId);
typedef somTP_DocumentManager_somRespondsTo *somTD_DocumentManager_somRespondsTo;
typedef boolean   SOMLINK somTP_DocumentManager_somDispatch(DocumentManager *somSelf,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_DocumentManager_somDispatch *somTD_DocumentManager_somDispatch;
typedef boolean   SOMLINK somTP_DocumentManager_somClassDispatch(DocumentManager *somSelf,
		SOMClass* clsObj,
		somToken* retValue,
		somId methodId,
		va_list ap);
typedef somTP_DocumentManager_somClassDispatch *somTD_DocumentManager_somClassDispatch;
typedef boolean   SOMLINK somTP_DocumentManager_somCastObj(DocumentManager *somSelf,
		SOMClass* cls);
typedef somTP_DocumentManager_somCastObj *somTD_DocumentManager_somCastObj;
typedef boolean   SOMLINK somTP_DocumentManager_somResetObj(DocumentManager *somSelf);
typedef somTP_DocumentManager_somResetObj *somTD_DocumentManager_somResetObj;
typedef SOMObject*   SOMLINK somTP_DocumentManager_somPrintSelf(DocumentManager *somSelf);
typedef somTP_DocumentManager_somPrintSelf *somTD_DocumentManager_somPrintSelf;
typedef void   SOMLINK somTP_DocumentManager_somDumpSelf(DocumentManager *somSelf,
		long level);
typedef somTP_DocumentManager_somDumpSelf *somTD_DocumentManager_somDumpSelf;
typedef void   SOMLINK somTP_DocumentManager_somDumpSelfInt(DocumentManager *somSelf,
		long level);
typedef somTP_DocumentManager_somDumpSelfInt *somTD_DocumentManager_somDumpSelfInt;
}

#endif /* DocumentManager_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 DocumentManager
 */
class DocumentManager : public somf_MLinkable
{
public:

// DocumentManager::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 (!_DocumentManager) DocumentManagerNewClass(DocumentManager_MajorVersion,DocumentManager_MinorVersion);
   return (void*)
      SOM_Resolve(_DocumentManager,SOMClass,somNewNoInit)
         ((SOMClass *)((void*)_DocumentManager));
}

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

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

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

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


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


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


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


/* method: CreateDocumentInFile */
void   CreateDocumentInFile(Environment *ev,
		ODType kindName,
		char* fileName)
{
   SOM_ResolveD(this,DocumentManager,DocumentManager,CreateDocumentInFile)
	(this, ev,kindName,fileName);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


/* method: CreateDocumentAsStationery */
void   CreateDocumentAsStationery(Environment *ev,
		ODType kindName,
		char* fileName)
{
   SOM_ResolveD(this,DocumentManager,DocumentManager,CreateDocumentAsStationery)
	(this, ev,kindName,fileName);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


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


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


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


/* method: CreateDraft */
void   CreateDraft(Environment *ev,
		ODULong draftNum,
		ODIText* modUser,
		ODIText* comment)
{
   SOM_ResolveD(this,DocumentManager,DocumentManager,CreateDraft)
	(this, ev,draftNum,modUser,comment);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


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


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


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


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


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


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


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


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


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


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


/* method: SaveACopyAs */
void   SaveACopyAs(Environment *ev,
		ODDraft* draft,
		PlatformFile* file)
{
   SOM_ResolveD(this,DocumentManager,DocumentManager,SaveACopyAs)
	(this, ev,draft,file);
#ifdef SOMCHKEXCEPT
   if ( ev->_major != NO_EXCEPTION )
      SOMCHKEXCEPT;
#endif
}


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


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


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


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


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


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


/*
 * Reintroduce inherited methods
 */

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



};   /* DocumentManager */



#endif       /* SOM_DocumentManager_xh */
