
/*
 * This file was generated by the SOM Compiler.
 * FileName: \odwin\h\CMDRAFT.h.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.3
 *     SOM Emitter emith.dll: 2.41
 */

/*
 * 
 *  Classes defined in this interface
 * 
 */


#ifndef SOM_CMDraft_h
#define SOM_CMDraft_h


#include <som.h>

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))



/*
 * Define class data structures as resolution macros
 */
#define CMDraftClassData (*resolve_CMDraftClassData())
#define CMDraftCClassData (*resolve_CMDraftCClassData())

/*
 * Define the class name as an object type
 */
#ifndef CMDraft
#define CMDraft SOMObject
#endif
#include <Draft.h>

/*
 * Start of user-defined types:
 */
#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */
#ifndef ODObject
    #define ODObject SOMObject
#endif /* ODObject */
#ifndef ODExtension
    #define ODExtension SOMObject
#endif /* ODExtension */
#ifndef ODRefCntObject
    #define ODRefCntObject SOMObject
#endif /* ODRefCntObject */
#ifndef ODDraft
    #define ODDraft SOMObject
#endif /* ODDraft */
#ifndef ODCanvas
    #define ODCanvas SOMObject
#endif /* ODCanvas */
#ifndef ODDocument
    #define ODDocument SOMObject
#endif /* ODDocument */
#ifndef ODFrame
    #define ODFrame SOMObject
#endif /* ODFrame */
#ifndef ODLink
    #define ODLink SOMObject
#endif /* ODLink */
#ifndef ODLinkSource
    #define ODLinkSource SOMObject
#endif /* ODLinkSource */
#ifndef ODLinkIterator
    #define ODLinkIterator SOMObject
#endif /* ODLinkIterator */
#ifndef ODLinkSourceIterator
    #define ODLinkSourceIterator SOMObject
#endif /* ODLinkSourceIterator */
#ifndef ODLinkSpec
    #define ODLinkSpec SOMObject
#endif /* ODLinkSpec */
#ifndef ODPart
    #define ODPart SOMObject
#endif /* ODPart */
#ifndef ODShape
    #define ODShape SOMObject
#endif /* ODShape */
#ifndef ODStorageUnit
    #define ODStorageUnit SOMObject
#endif /* ODStorageUnit */
#ifndef CMDraft
    #define CMDraft SOMObject
#endif /* CMDraft */
#ifndef ODPersistentObject
    #define ODPersistentObject SOMObject
#endif /* ODPersistentObject */
#ifndef CMDocument
    #define CMDocument SOMObject
#endif /* CMDocument */
#ifndef ODEmbeddedContainer
    #define ODEmbeddedContainer SOMObject
#endif /* ODEmbeddedContainer */
#ifndef CMLinkIterator
    #define CMLinkIterator SOMObject
#endif /* CMLinkIterator */
#ifndef CMLinkSourceIterator
    #define CMLinkSourceIterator SOMObject
#endif /* CMLinkSourceIterator */

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

#define CMDraft_MajorVersion 0
#define CMDraft_MinorVersion 0

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define CMDraftNewClass c
#define CMDraftClassData d
#define CMDraftCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define CMDraft_classObj CMDraftClassData.classObject
#define _CMDraft CMDraft_classObj

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMClass * SOMLINK CMDraftNewClass(integer4 somntmajorVersion,
		integer4 somntminorVersion);

/*
 * Declare the class data structure
 */
SOMEXTERN struct CMDraftClassDataStructure {
	SOMClass *classObject;
	somMToken CreateSU;
	somMToken CreateVersion;
	somMToken OpenVersion;
	somMToken CloseVersion;
	somMToken DestroyVersion;
	somMToken FlushVersion;
	somMToken GetPersistentObject;
	somMToken ReleasePersistentObject;
	somMToken RemovePersistentObject;
	somMToken CreateCollections;
	somMToken DeleteCollections;
	somMToken ExternalizeCollections;
	somMToken CloseCollections;
	somMToken OpenCollections;
	somMToken AreEmptyCollections;
	somMToken FailIfNotExclusiveWrite;
	somMToken CreateLink;
	somMToken SetChangedFromPrevFlag;
	somMToken GetIDList;
	somMToken Reinitialize;
	somMToken Open;
	somMToken Close;
	somMToken Abort;
	somMToken Flush;
	somMToken IsNewDraft;
	somMToken GetEmbeddedContainer;
	somMToken GetCMContainer;
	somMToken NeedExternalizing;
	somMToken IsChangedFromPrev;
	somMToken GetClonedSUIDs;
	somMToken IsValidDraftKey;
	somMToken GetHeap;
	somMToken GetPersistentLinkID;
	somMToken GetLinkID;
	somMToken StrongClone;
	somMToken ValidWeakReferenceProperty;
	somMToken SetOriginalID;
	somMToken GetOriginalID;
	somMToken CompanionWasCloned;
	somMToken GetCloneKind;
	somMToken CopiedLinkSubstitution;
}  _CMDraftClassData;
SOMEXTERN struct CMDraftClassDataStructure * SOMLINK resolve_CMDraftClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct CMDraftCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _CMDraftCClassData;
SOMEXTERN struct CMDraftCClassDataStructure * SOMLINK resolve_CMDraftCClassData(void);

/*
 * New and Renew macros for CMDraft
 */
#define CMDraftNew() \
   (_somNew(_CMDraft ? _CMDraft : CMDraftNewClass(CMDraft_MajorVersion, CMDraft_MinorVersion)))
#define CMDraftRenew(buf) \
   (_somRenew(_CMDraft ? _CMDraft : CMDraftNewClass(CMDraft_MajorVersion, CMDraft_MinorVersion), buf))

/*
 * Override method: somInit
 */
#define CMDraft_somInit(somSelf) \
	SOMObject_somInit(somSelf)

/*
 * Override method: somUninit
 */
#define CMDraft_somUninit(somSelf) \
	SOMObject_somUninit(somSelf)

/*
 * Override method: IncrementRefCount
 */
#define CMDraft_IncrementRefCount(somSelf,ev) \
	ODRefCntObject_IncrementRefCount(somSelf,ev)

/*
 * Override method: Release
 */
#define CMDraft_Release(somSelf,ev) \
	ODRefCntObject_Release(somSelf,ev)

/*
 * Override method: Purge
 */
#define CMDraft_Purge(somSelf,ev,size) \
	ODObject_Purge(somSelf,ev,size)

/*
 * Override method: GetDocument
 */
#define CMDraft_GetDocument(somSelf,ev) \
	ODDraft_GetDocument(somSelf,ev)

/*
 * Override method: GetID
 */
#define CMDraft_GetID(somSelf,ev) \
	ODDraft_GetID(somSelf,ev)

/*
 * Override method: GetDraftProperties
 */
#define CMDraft_GetDraftProperties(somSelf,ev) \
	ODDraft_GetDraftProperties(somSelf,ev)

/*
 * Override method: GetPermissions
 */
#define CMDraft_GetPermissions(somSelf,ev) \
	ODDraft_GetPermissions(somSelf,ev)

/*
 * Override method: CreateStorageUnit
 */
#define CMDraft_CreateStorageUnit(somSelf,ev) \
	ODDraft_CreateStorageUnit(somSelf,ev)

/*
 * Override method: GetStorageUnit
 */
#define CMDraft_GetStorageUnit(somSelf,ev,id) \
	ODDraft_GetStorageUnit(somSelf,ev,id)

/*
 * Override method: RemoveStorageUnit
 */
#define CMDraft_RemoveStorageUnit(somSelf,ev,storageUnit) \
	ODDraft_RemoveStorageUnit(somSelf,ev,storageUnit)

/*
 * Override method: BeginClone
 */
#define CMDraft_BeginClone(somSelf,ev,destDraft,kind) \
	ODDraft_BeginClone(somSelf,ev,destDraft,kind)

/*
 * Override method: EndClone
 */
#define CMDraft_EndClone(somSelf,ev,key) \
	ODDraft_EndClone(somSelf,ev,key)

/*
 * Override method: AbortClone
 */
#define CMDraft_AbortClone(somSelf,ev,key) \
	ODDraft_AbortClone(somSelf,ev,key)

/*
 * Override method: Clone
 */
#define CMDraft_Clone(somSelf,ev,key,fromObjectID,toObjectID,scope) \
	ODDraft_Clone(somSelf,ev,key,fromObjectID,toObjectID,scope)

/*
 * Override method: WeakClone
 */
#define CMDraft_WeakClone(somSelf,ev,key,objectID,toObjectID,scope) \
	ODDraft_WeakClone(somSelf,ev,key,objectID,toObjectID,scope)

/*
 * Override method: ChangedFromPrev
 */
#define CMDraft_ChangedFromPrev(somSelf,ev) \
	ODDraft_ChangedFromPrev(somSelf,ev)

/*
 * Override method: SetChangedFromPrev
 */
#define CMDraft_SetChangedFromPrev(somSelf,ev) \
	ODDraft_SetChangedFromPrev(somSelf,ev)

/*
 * Override method: RemoveFromDocument
 */
#define CMDraft_RemoveFromDocument(somSelf,ev) \
	ODDraft_RemoveFromDocument(somSelf,ev)

/*
 * Override method: RemoveChanges
 */
#define CMDraft_RemoveChanges(somSelf,ev) \
	ODDraft_RemoveChanges(somSelf,ev)

/*
 * Override method: Externalize
 */
#define CMDraft_Externalize(somSelf,ev) \
	ODDraft_Externalize(somSelf,ev)

/*
 * Override method: SaveToAPrevious
 */
#define CMDraft_SaveToAPrevious(somSelf,ev,to) \
	ODDraft_SaveToAPrevious(somSelf,ev,to)

/*
 * Override method: CreateFrame
 */
#define CMDraft_CreateFrame(somSelf,ev,frameType,containingFrame,frameShape,biasCanvas,part,viewType,presentation,isRoot,isOverlaid) \
	ODDraft_CreateFrame(somSelf,ev,frameType,containingFrame,frameShape,biasCanvas,part,viewType,presentation,isRoot,isOverlaid)

/*
 * Override method: GetFrame
 */
#define CMDraft_GetFrame(somSelf,ev,id) \
	ODDraft_GetFrame(somSelf,ev,id)

/*
 * Override method: RemoveFrame
 */
#define CMDraft_RemoveFrame(somSelf,ev,frame) \
	ODDraft_RemoveFrame(somSelf,ev,frame)

/*
 * Override method: CreatePart
 */
#define CMDraft_CreatePart(somSelf,ev,partType,optionalEditor) \
	ODDraft_CreatePart(somSelf,ev,partType,optionalEditor)

/*
 * Override method: GetPart
 */
#define CMDraft_GetPart(somSelf,ev,id) \
	ODDraft_GetPart(somSelf,ev,id)

/*
 * Override method: RemovePart
 */
#define CMDraft_RemovePart(somSelf,ev,part) \
	ODDraft_RemovePart(somSelf,ev,part)

/*
 * Override method: CreateLinkSpec
 */
#define CMDraft_CreateLinkSpec(somSelf,ev,part,data,size) \
	ODDraft_CreateLinkSpec(somSelf,ev,part,data,size)

/*
 * Override method: CreateLinkSource
 */
#define CMDraft_CreateLinkSource(somSelf,ev,part) \
	ODDraft_CreateLinkSource(somSelf,ev,part)

/*
 * Override method: GetLinkSource
 */
#define CMDraft_GetLinkSource(somSelf,ev,id) \
	ODDraft_GetLinkSource(somSelf,ev,id)

/*
 * Override method: GetLink
 */
#define CMDraft_GetLink(somSelf,ev,id,linkSpec) \
	ODDraft_GetLink(somSelf,ev,id,linkSpec)

/*
 * Override method: RemoveLink
 */
#define CMDraft_RemoveLink(somSelf,ev,link) \
	ODDraft_RemoveLink(somSelf,ev,link)

/*
 * Override method: RemoveLinkSource
 */
#define CMDraft_RemoveLinkSource(somSelf,ev,link) \
	ODDraft_RemoveLinkSource(somSelf,ev,link)

/*
 * Override method: InitDraft
 */
#define CMDraft_InitDraft(somSelf,ev,document,id,perms) \
	ODDraft_InitDraft(somSelf,ev,document,id,perms)

/*
 * Override method: ReleaseFrame
 */
#define CMDraft_ReleaseFrame(somSelf,ev,frame) \
	ODDraft_ReleaseFrame(somSelf,ev,frame)

/*
 * Override method: ReleasePart
 */
#define CMDraft_ReleasePart(somSelf,ev,part) \
	ODDraft_ReleasePart(somSelf,ev,part)

/*
 * Override method: ReleaseLink
 */
#define CMDraft_ReleaseLink(somSelf,ev,link) \
	ODDraft_ReleaseLink(somSelf,ev,link)

/*
 * Override method: ReleaseLinkSource
 */
#define CMDraft_ReleaseLinkSource(somSelf,ev,link) \
	ODDraft_ReleaseLinkSource(somSelf,ev,link)

/*
 * Override method: ReleaseStorageUnit
 */
#define CMDraft_ReleaseStorageUnit(somSelf,ev,id) \
	ODDraft_ReleaseStorageUnit(somSelf,ev,id)

/*
 * Override method: CreateLinkIterator
 */
#define CMDraft_CreateLinkIterator(somSelf,ev) \
	ODDraft_CreateLinkIterator(somSelf,ev)

/*
 * Override method: CreateLinkSourceIterator
 */
#define CMDraft_CreateLinkSourceIterator(somSelf,ev) \
	ODDraft_CreateLinkSourceIterator(somSelf,ev)

/*
 * New Method: CreateSU
 */
typedef ODStorageUnit*   (SOMLINK * somTD_CMDraft_CreateSU)(CMDraft *somSelf, Environment *ev,
		ODStorageUnitID id,
		ODType suType);
#define somMD_CMDraft_CreateSU "::CMDraft::CreateSU"
#define CMDraft_CreateSU(somSelf,ev,id,suType) \
    (SOM_Resolve(somSelf, CMDraft, CreateSU) \
	(somSelf,ev,id,suType))
#ifndef SOMGD_CreateSU
    #if (defined(_CreateSU) || defined(__CreateSU))
        #undef _CreateSU
        #undef __CreateSU
        #define SOMGD_CreateSU 1
    #else
        #define _CreateSU CMDraft_CreateSU
    #endif /* _CreateSU */
#endif /* SOMGD_CreateSU */

/*
 * New Method: CreateVersion
 */
typedef void   (SOMLINK * somTD_CMDraft_CreateVersion)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_CreateVersion "::CMDraft::CreateVersion"
#define CMDraft_CreateVersion(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, CreateVersion) \
	(somSelf,ev))
#ifndef SOMGD_CreateVersion
    #if (defined(_CreateVersion) || defined(__CreateVersion))
        #undef _CreateVersion
        #undef __CreateVersion
        #define SOMGD_CreateVersion 1
    #else
        #define _CreateVersion CMDraft_CreateVersion
    #endif /* _CreateVersion */
#endif /* SOMGD_CreateVersion */

/*
 * New Method: OpenVersion
 */
typedef void   (SOMLINK * somTD_CMDraft_OpenVersion)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_OpenVersion "::CMDraft::OpenVersion"
#define CMDraft_OpenVersion(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, OpenVersion) \
	(somSelf,ev))
#ifndef SOMGD_OpenVersion
    #if (defined(_OpenVersion) || defined(__OpenVersion))
        #undef _OpenVersion
        #undef __OpenVersion
        #define SOMGD_OpenVersion 1
    #else
        #define _OpenVersion CMDraft_OpenVersion
    #endif /* _OpenVersion */
#endif /* SOMGD_OpenVersion */

/*
 * New Method: CloseVersion
 */
typedef void   (SOMLINK * somTD_CMDraft_CloseVersion)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_CloseVersion "::CMDraft::CloseVersion"
#define CMDraft_CloseVersion(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, CloseVersion) \
	(somSelf,ev))
#ifndef SOMGD_CloseVersion
    #if (defined(_CloseVersion) || defined(__CloseVersion))
        #undef _CloseVersion
        #undef __CloseVersion
        #define SOMGD_CloseVersion 1
    #else
        #define _CloseVersion CMDraft_CloseVersion
    #endif /* _CloseVersion */
#endif /* SOMGD_CloseVersion */

/*
 * New Method: DestroyVersion
 */
typedef void   (SOMLINK * somTD_CMDraft_DestroyVersion)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_DestroyVersion "::CMDraft::DestroyVersion"
#define CMDraft_DestroyVersion(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, DestroyVersion) \
	(somSelf,ev))
#ifndef SOMGD_DestroyVersion
    #if (defined(_DestroyVersion) || defined(__DestroyVersion))
        #undef _DestroyVersion
        #undef __DestroyVersion
        #define SOMGD_DestroyVersion 1
    #else
        #define _DestroyVersion CMDraft_DestroyVersion
    #endif /* _DestroyVersion */
#endif /* SOMGD_DestroyVersion */

/*
 * New Method: FlushVersion
 */
typedef void   (SOMLINK * somTD_CMDraft_FlushVersion)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_FlushVersion "::CMDraft::FlushVersion"
#define CMDraft_FlushVersion(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, FlushVersion) \
	(somSelf,ev))
#ifndef SOMGD_FlushVersion
    #if (defined(_FlushVersion) || defined(__FlushVersion))
        #undef _FlushVersion
        #undef __FlushVersion
        #define SOMGD_FlushVersion 1
    #else
        #define _FlushVersion CMDraft_FlushVersion
    #endif /* _FlushVersion */
#endif /* SOMGD_FlushVersion */

/*
 * New Method: GetPersistentObject
 */
typedef ODPersistentObject*   (SOMLINK * somTD_CMDraft_GetPersistentObject)(CMDraft *somSelf, Environment *ev,
		ODStorageUnitID id);
#define somMD_CMDraft_GetPersistentObject "::CMDraft::GetPersistentObject"
#define CMDraft_GetPersistentObject(somSelf,ev,id) \
    (SOM_Resolve(somSelf, CMDraft, GetPersistentObject) \
	(somSelf,ev,id))
#ifndef SOMGD_GetPersistentObject
    #if (defined(_GetPersistentObject) || defined(__GetPersistentObject))
        #undef _GetPersistentObject
        #undef __GetPersistentObject
        #define SOMGD_GetPersistentObject 1
    #else
        #define _GetPersistentObject CMDraft_GetPersistentObject
    #endif /* _GetPersistentObject */
#endif /* SOMGD_GetPersistentObject */

/*
 * New Method: ReleasePersistentObject
 */
typedef void   (SOMLINK * somTD_CMDraft_ReleasePersistentObject)(CMDraft *somSelf, Environment *ev,
		ODPersistentObject* object);
#define somMD_CMDraft_ReleasePersistentObject "::CMDraft::ReleasePersistentObject"
#define CMDraft_ReleasePersistentObject(somSelf,ev,object) \
    (SOM_Resolve(somSelf, CMDraft, ReleasePersistentObject) \
	(somSelf,ev,object))
#ifndef SOMGD_ReleasePersistentObject
    #if (defined(_ReleasePersistentObject) || defined(__ReleasePersistentObject))
        #undef _ReleasePersistentObject
        #undef __ReleasePersistentObject
        #define SOMGD_ReleasePersistentObject 1
    #else
        #define _ReleasePersistentObject CMDraft_ReleasePersistentObject
    #endif /* _ReleasePersistentObject */
#endif /* SOMGD_ReleasePersistentObject */

/*
 * New Method: RemovePersistentObject
 */
typedef void   (SOMLINK * somTD_CMDraft_RemovePersistentObject)(CMDraft *somSelf, Environment *ev,
		ODPersistentObject* object);
#define somMD_CMDraft_RemovePersistentObject "::CMDraft::RemovePersistentObject"
#define CMDraft_RemovePersistentObject(somSelf,ev,object) \
    (SOM_Resolve(somSelf, CMDraft, RemovePersistentObject) \
	(somSelf,ev,object))
#ifndef SOMGD_RemovePersistentObject
    #if (defined(_RemovePersistentObject) || defined(__RemovePersistentObject))
        #undef _RemovePersistentObject
        #undef __RemovePersistentObject
        #define SOMGD_RemovePersistentObject 1
    #else
        #define _RemovePersistentObject CMDraft_RemovePersistentObject
    #endif /* _RemovePersistentObject */
#endif /* SOMGD_RemovePersistentObject */

/*
 * New Method: CreateCollections
 */
typedef void   (SOMLINK * somTD_CMDraft_CreateCollections)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_CreateCollections "::CMDraft::CreateCollections"
#define CMDraft_CreateCollections(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, CreateCollections) \
	(somSelf,ev))
#ifndef SOMGD_CreateCollections
    #if (defined(_CreateCollections) || defined(__CreateCollections))
        #undef _CreateCollections
        #undef __CreateCollections
        #define SOMGD_CreateCollections 1
    #else
        #define _CreateCollections CMDraft_CreateCollections
    #endif /* _CreateCollections */
#endif /* SOMGD_CreateCollections */

/*
 * New Method: DeleteCollections
 */
typedef void   (SOMLINK * somTD_CMDraft_DeleteCollections)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_DeleteCollections "::CMDraft::DeleteCollections"
#define CMDraft_DeleteCollections(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, DeleteCollections) \
	(somSelf,ev))
#ifndef SOMGD_DeleteCollections
    #if (defined(_DeleteCollections) || defined(__DeleteCollections))
        #undef _DeleteCollections
        #undef __DeleteCollections
        #define SOMGD_DeleteCollections 1
    #else
        #define _DeleteCollections CMDraft_DeleteCollections
    #endif /* _DeleteCollections */
#endif /* SOMGD_DeleteCollections */

/*
 * New Method: ExternalizeCollections
 */
typedef void   (SOMLINK * somTD_CMDraft_ExternalizeCollections)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_ExternalizeCollections "::CMDraft::ExternalizeCollections"
#define CMDraft_ExternalizeCollections(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, ExternalizeCollections) \
	(somSelf,ev))
#ifndef SOMGD_ExternalizeCollections
    #if (defined(_ExternalizeCollections) || defined(__ExternalizeCollections))
        #undef _ExternalizeCollections
        #undef __ExternalizeCollections
        #define SOMGD_ExternalizeCollections 1
    #else
        #define _ExternalizeCollections CMDraft_ExternalizeCollections
    #endif /* _ExternalizeCollections */
#endif /* SOMGD_ExternalizeCollections */

/*
 * New Method: CloseCollections
 */
typedef void   (SOMLINK * somTD_CMDraft_CloseCollections)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_CloseCollections "::CMDraft::CloseCollections"
#define CMDraft_CloseCollections(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, CloseCollections) \
	(somSelf,ev))
#ifndef SOMGD_CloseCollections
    #if (defined(_CloseCollections) || defined(__CloseCollections))
        #undef _CloseCollections
        #undef __CloseCollections
        #define SOMGD_CloseCollections 1
    #else
        #define _CloseCollections CMDraft_CloseCollections
    #endif /* _CloseCollections */
#endif /* SOMGD_CloseCollections */

/*
 * New Method: OpenCollections
 */
typedef void   (SOMLINK * somTD_CMDraft_OpenCollections)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_OpenCollections "::CMDraft::OpenCollections"
#define CMDraft_OpenCollections(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, OpenCollections) \
	(somSelf,ev))
#ifndef SOMGD_OpenCollections
    #if (defined(_OpenCollections) || defined(__OpenCollections))
        #undef _OpenCollections
        #undef __OpenCollections
        #define SOMGD_OpenCollections 1
    #else
        #define _OpenCollections CMDraft_OpenCollections
    #endif /* _OpenCollections */
#endif /* SOMGD_OpenCollections */

/*
 * New Method: AreEmptyCollections
 */
typedef ODBoolean   (SOMLINK * somTD_CMDraft_AreEmptyCollections)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_AreEmptyCollections "::CMDraft::AreEmptyCollections"
#define CMDraft_AreEmptyCollections(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, AreEmptyCollections) \
	(somSelf,ev))
#ifndef SOMGD_AreEmptyCollections
    #if (defined(_AreEmptyCollections) || defined(__AreEmptyCollections))
        #undef _AreEmptyCollections
        #undef __AreEmptyCollections
        #define SOMGD_AreEmptyCollections 1
    #else
        #define _AreEmptyCollections CMDraft_AreEmptyCollections
    #endif /* _AreEmptyCollections */
#endif /* SOMGD_AreEmptyCollections */

/*
 * New Method: FailIfNotExclusiveWrite
 */
typedef void   (SOMLINK * somTD_CMDraft_FailIfNotExclusiveWrite)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_FailIfNotExclusiveWrite "::CMDraft::FailIfNotExclusiveWrite"
#define CMDraft_FailIfNotExclusiveWrite(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, FailIfNotExclusiveWrite) \
	(somSelf,ev))
#ifndef SOMGD_FailIfNotExclusiveWrite
    #if (defined(_FailIfNotExclusiveWrite) || defined(__FailIfNotExclusiveWrite))
        #undef _FailIfNotExclusiveWrite
        #undef __FailIfNotExclusiveWrite
        #define SOMGD_FailIfNotExclusiveWrite 1
    #else
        #define _FailIfNotExclusiveWrite CMDraft_FailIfNotExclusiveWrite
    #endif /* _FailIfNotExclusiveWrite */
#endif /* SOMGD_FailIfNotExclusiveWrite */

/*
 * New Method: CreateLink
 */
typedef ODLink*   (SOMLINK * somTD_CMDraft_CreateLink)(CMDraft *somSelf, Environment *ev,
		ODLinkSource* linkSource);
#define somMD_CMDraft_CreateLink "::CMDraft::CreateLink"
#define CMDraft_CreateLink(somSelf,ev,linkSource) \
    (SOM_Resolve(somSelf, CMDraft, CreateLink) \
	(somSelf,ev,linkSource))
#ifndef SOMGD_CreateLink
    #if (defined(_CreateLink) || defined(__CreateLink))
        #undef _CreateLink
        #undef __CreateLink
        #define SOMGD_CreateLink 1
    #else
        #define _CreateLink CMDraft_CreateLink
    #endif /* _CreateLink */
#endif /* SOMGD_CreateLink */

/*
 * New Method: StrongClone
 */
typedef ODID   (SOMLINK * somTD_CMDraft_StrongClone)(CMDraft *somSelf, Environment *ev,
		ODDraftKey key,
		ODID fromObjectID,
		ODID toObjectID,
		ODID scope);
#define somMD_CMDraft_StrongClone "::CMDraft::StrongClone"
#define CMDraft_StrongClone(somSelf,ev,key,fromObjectID,toObjectID,scope) \
    (SOM_Resolve(somSelf, CMDraft, StrongClone) \
	(somSelf,ev,key,fromObjectID,toObjectID,scope))
#ifndef SOMGD_StrongClone
    #if (defined(_StrongClone) || defined(__StrongClone))
        #undef _StrongClone
        #undef __StrongClone
        #define SOMGD_StrongClone 1
    #else
        #define _StrongClone CMDraft_StrongClone
    #endif /* _StrongClone */
#endif /* SOMGD_StrongClone */

/*
 * New Method: ValidWeakReferenceProperty
 */
typedef ODBoolean   (SOMLINK * somTD_CMDraft_ValidWeakReferenceProperty)(CMDraft *somSelf, Environment *ev,
		ODID objectID,
		ODPropertyName propertyName);
#define somMD_CMDraft_ValidWeakReferenceProperty "::CMDraft::ValidWeakReferenceProperty"
#define CMDraft_ValidWeakReferenceProperty(somSelf,ev,objectID,propertyName) \
    (SOM_Resolve(somSelf, CMDraft, ValidWeakReferenceProperty) \
	(somSelf,ev,objectID,propertyName))
#ifndef SOMGD_ValidWeakReferenceProperty
    #if (defined(_ValidWeakReferenceProperty) || defined(__ValidWeakReferenceProperty))
        #undef _ValidWeakReferenceProperty
        #undef __ValidWeakReferenceProperty
        #define SOMGD_ValidWeakReferenceProperty 1
    #else
        #define _ValidWeakReferenceProperty CMDraft_ValidWeakReferenceProperty
    #endif /* _ValidWeakReferenceProperty */
#endif /* SOMGD_ValidWeakReferenceProperty */

/*
 * New Method: SetOriginalID
 */
typedef void   (SOMLINK * somTD_CMDraft_SetOriginalID)(CMDraft *somSelf, Environment *ev,
		ODStorageUnitID destID,
		ODStorageUnitID originalID);
#define somMD_CMDraft_SetOriginalID "::CMDraft::SetOriginalID"
#define CMDraft_SetOriginalID(somSelf,ev,destID,originalID) \
    (SOM_Resolve(somSelf, CMDraft, SetOriginalID) \
	(somSelf,ev,destID,originalID))
#ifndef SOMGD_SetOriginalID
    #if (defined(_SetOriginalID) || defined(__SetOriginalID))
        #undef _SetOriginalID
        #undef __SetOriginalID
        #define SOMGD_SetOriginalID 1
    #else
        #define _SetOriginalID CMDraft_SetOriginalID
    #endif /* _SetOriginalID */
#endif /* SOMGD_SetOriginalID */

/*
 * New Method: GetOriginalID
 */
typedef ODStorageUnitID   (SOMLINK * somTD_CMDraft_GetOriginalID)(CMDraft *somSelf, Environment *ev,
		ODStorageUnitID fromID);
#define somMD_CMDraft_GetOriginalID "::CMDraft::GetOriginalID"
#define CMDraft_GetOriginalID(somSelf,ev,fromID) \
    (SOM_Resolve(somSelf, CMDraft, GetOriginalID) \
	(somSelf,ev,fromID))
#ifndef SOMGD_GetOriginalID
    #if (defined(_GetOriginalID) || defined(__GetOriginalID))
        #undef _GetOriginalID
        #undef __GetOriginalID
        #define SOMGD_GetOriginalID 1
    #else
        #define _GetOriginalID CMDraft_GetOriginalID
    #endif /* _GetOriginalID */
#endif /* SOMGD_GetOriginalID */

/*
 * New Method: CompanionWasCloned
 */
typedef ODBoolean   (SOMLINK * somTD_CMDraft_CompanionWasCloned)(CMDraft *somSelf, Environment *ev,
		ODStorageUnitID fromID,
		ODPropertyName prop);
#define somMD_CMDraft_CompanionWasCloned "::CMDraft::CompanionWasCloned"
#define CMDraft_CompanionWasCloned(somSelf,ev,fromID,prop) \
    (SOM_Resolve(somSelf, CMDraft, CompanionWasCloned) \
	(somSelf,ev,fromID,prop))
#ifndef SOMGD_CompanionWasCloned
    #if (defined(_CompanionWasCloned) || defined(__CompanionWasCloned))
        #undef _CompanionWasCloned
        #undef __CompanionWasCloned
        #define SOMGD_CompanionWasCloned 1
    #else
        #define _CompanionWasCloned CMDraft_CompanionWasCloned
    #endif /* _CompanionWasCloned */
#endif /* SOMGD_CompanionWasCloned */

/*
 * New Method: GetCloneKind
 */
typedef ODCloneKind   (SOMLINK * somTD_CMDraft_GetCloneKind)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_GetCloneKind "::CMDraft::GetCloneKind"
#define CMDraft_GetCloneKind(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, GetCloneKind) \
	(somSelf,ev))
#ifndef SOMGD_GetCloneKind
    #if (defined(_GetCloneKind) || defined(__GetCloneKind))
        #undef _GetCloneKind
        #undef __GetCloneKind
        #define SOMGD_GetCloneKind 1
    #else
        #define _GetCloneKind CMDraft_GetCloneKind
    #endif /* _GetCloneKind */
#endif /* SOMGD_GetCloneKind */

/*
 * New Method: CopiedLinkSubstitution
 */
typedef ODBoolean   (SOMLINK * somTD_CMDraft_CopiedLinkSubstitution)(CMDraft *somSelf, Environment *ev,
		ODDraftKey key,
		ODID fromObjectID,
		ODID toObjectID,
		ODID* toID);
#define somMD_CMDraft_CopiedLinkSubstitution "::CMDraft::CopiedLinkSubstitution"
#define CMDraft_CopiedLinkSubstitution(somSelf,ev,key,fromObjectID,toObjectID,toID) \
    (SOM_Resolve(somSelf, CMDraft, CopiedLinkSubstitution) \
	(somSelf,ev,key,fromObjectID,toObjectID,toID))
#ifndef SOMGD_CopiedLinkSubstitution
    #if (defined(_CopiedLinkSubstitution) || defined(__CopiedLinkSubstitution))
        #undef _CopiedLinkSubstitution
        #undef __CopiedLinkSubstitution
        #define SOMGD_CopiedLinkSubstitution 1
    #else
        #define _CopiedLinkSubstitution CMDraft_CopiedLinkSubstitution
    #endif /* _CopiedLinkSubstitution */
#endif /* SOMGD_CopiedLinkSubstitution */

/*
 * New Method: SetChangedFromPrevFlag
 */
typedef void   (SOMLINK * somTD_CMDraft_SetChangedFromPrevFlag)(CMDraft *somSelf, Environment *ev,
		ODBoolean changed);
#define somMD_CMDraft_SetChangedFromPrevFlag "::CMDraft::SetChangedFromPrevFlag"
#define CMDraft_SetChangedFromPrevFlag(somSelf,ev,changed) \
    (SOM_Resolve(somSelf, CMDraft, SetChangedFromPrevFlag) \
	(somSelf,ev,changed))
#ifndef SOMGD_SetChangedFromPrevFlag
    #if (defined(_SetChangedFromPrevFlag) || defined(__SetChangedFromPrevFlag))
        #undef _SetChangedFromPrevFlag
        #undef __SetChangedFromPrevFlag
        #define SOMGD_SetChangedFromPrevFlag 1
    #else
        #define _SetChangedFromPrevFlag CMDraft_SetChangedFromPrevFlag
    #endif /* _SetChangedFromPrevFlag */
#endif /* SOMGD_SetChangedFromPrevFlag */

/*
 * New Method: GetIDList
 */
typedef IDList*   (SOMLINK * somTD_CMDraft_GetIDList)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_GetIDList "::CMDraft::GetIDList"
#define CMDraft_GetIDList(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, GetIDList) \
	(somSelf,ev))
#ifndef SOMGD_GetIDList
    #if (defined(_GetIDList) || defined(__GetIDList))
        #undef _GetIDList
        #undef __GetIDList
        #define SOMGD_GetIDList 1
    #else
        #define _GetIDList CMDraft_GetIDList
    #endif /* _GetIDList */
#endif /* SOMGD_GetIDList */

/*
 * New Method: Reinitialize
 */
typedef void   (SOMLINK * somTD_CMDraft_Reinitialize)(CMDraft *somSelf, Environment *ev,
		ODDraftPermissions perms);
#define somMD_CMDraft_Reinitialize "::CMDraft::Reinitialize"
#define CMDraft_Reinitialize(somSelf,ev,perms) \
    (SOM_Resolve(somSelf, CMDraft, Reinitialize) \
	(somSelf,ev,perms))
#ifndef SOMGD_Reinitialize
    #if (defined(_Reinitialize) || defined(__Reinitialize))
        #undef _Reinitialize
        #undef __Reinitialize
        #define SOMGD_Reinitialize 1
    #else
        #define _Reinitialize CMDraft_Reinitialize
    #endif /* _Reinitialize */
#endif /* SOMGD_Reinitialize */

/*
 * New Method: Open
 */
typedef void   (SOMLINK * somTD_CMDraft_Open)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_Open "::CMDraft::Open"
#define CMDraft_Open(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, Open) \
	(somSelf,ev))
#ifndef SOMGD_Open
    #if (defined(_Open) || defined(__Open))
        #undef _Open
        #undef __Open
        #define SOMGD_Open 1
    #else
        #define _Open CMDraft_Open
    #endif /* _Open */
#endif /* SOMGD_Open */

/*
 * New Method: Close
 */
typedef void   (SOMLINK * somTD_CMDraft_Close)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_Close "::CMDraft::Close"
#define CMDraft_Close(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, Close) \
	(somSelf,ev))
#ifndef SOMGD_Close
    #if (defined(_Close) || defined(__Close))
        #undef _Close
        #undef __Close
        #define SOMGD_Close 1
    #else
        #define _Close CMDraft_Close
    #endif /* _Close */
#endif /* SOMGD_Close */

/*
 * New Method: Abort
 */
typedef void   (SOMLINK * somTD_CMDraft_Abort)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_Abort "::CMDraft::Abort"
#define CMDraft_Abort(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, Abort) \
	(somSelf,ev))
#ifndef SOMGD_Abort
    #if (defined(_Abort) || defined(__Abort))
        #undef _Abort
        #undef __Abort
        #define SOMGD_Abort 1
    #else
        #define _Abort CMDraft_Abort
    #endif /* _Abort */
#endif /* SOMGD_Abort */

/*
 * New Method: Flush
 */
typedef void   (SOMLINK * somTD_CMDraft_Flush)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_Flush "::CMDraft::Flush"
#define CMDraft_Flush(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, Flush) \
	(somSelf,ev))
#ifndef SOMGD_Flush
    #if (defined(_Flush) || defined(__Flush))
        #undef _Flush
        #undef __Flush
        #define SOMGD_Flush 1
    #else
        #define _Flush CMDraft_Flush
    #endif /* _Flush */
#endif /* SOMGD_Flush */

/*
 * New Method: IsNewDraft
 */
typedef ODBoolean   (SOMLINK * somTD_CMDraft_IsNewDraft)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_IsNewDraft "::CMDraft::IsNewDraft"
#define CMDraft_IsNewDraft(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, IsNewDraft) \
	(somSelf,ev))
#ifndef SOMGD_IsNewDraft
    #if (defined(_IsNewDraft) || defined(__IsNewDraft))
        #undef _IsNewDraft
        #undef __IsNewDraft
        #define SOMGD_IsNewDraft 1
    #else
        #define _IsNewDraft CMDraft_IsNewDraft
    #endif /* _IsNewDraft */
#endif /* SOMGD_IsNewDraft */

/*
 * New Method: GetEmbeddedContainer
 */
typedef ODEmbeddedContainer*   (SOMLINK * somTD_CMDraft_GetEmbeddedContainer)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_GetEmbeddedContainer "::CMDraft::GetEmbeddedContainer"
#define CMDraft_GetEmbeddedContainer(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, GetEmbeddedContainer) \
	(somSelf,ev))
#ifndef SOMGD_GetEmbeddedContainer
    #if (defined(_GetEmbeddedContainer) || defined(__GetEmbeddedContainer))
        #undef _GetEmbeddedContainer
        #undef __GetEmbeddedContainer
        #define SOMGD_GetEmbeddedContainer 1
    #else
        #define _GetEmbeddedContainer CMDraft_GetEmbeddedContainer
    #endif /* _GetEmbeddedContainer */
#endif /* SOMGD_GetEmbeddedContainer */

/*
 * New Method: GetCMContainer
 */
typedef CMContainer   (SOMLINK * somTD_CMDraft_GetCMContainer)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_GetCMContainer "::CMDraft::GetCMContainer"
#define CMDraft_GetCMContainer(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, GetCMContainer) \
	(somSelf,ev))
#ifndef SOMGD_GetCMContainer
    #if (defined(_GetCMContainer) || defined(__GetCMContainer))
        #undef _GetCMContainer
        #undef __GetCMContainer
        #define SOMGD_GetCMContainer 1
    #else
        #define _GetCMContainer CMDraft_GetCMContainer
    #endif /* _GetCMContainer */
#endif /* SOMGD_GetCMContainer */

/*
 * New Method: NeedExternalizing
 */
typedef ODBoolean   (SOMLINK * somTD_CMDraft_NeedExternalizing)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_NeedExternalizing "::CMDraft::NeedExternalizing"
#define CMDraft_NeedExternalizing(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, NeedExternalizing) \
	(somSelf,ev))
#ifndef SOMGD_NeedExternalizing
    #if (defined(_NeedExternalizing) || defined(__NeedExternalizing))
        #undef _NeedExternalizing
        #undef __NeedExternalizing
        #define SOMGD_NeedExternalizing 1
    #else
        #define _NeedExternalizing CMDraft_NeedExternalizing
    #endif /* _NeedExternalizing */
#endif /* SOMGD_NeedExternalizing */

/*
 * New Method: IsChangedFromPrev
 */
typedef ODBoolean   (SOMLINK * somTD_CMDraft_IsChangedFromPrev)(CMDraft *somSelf, Environment *ev,
		VersionList* versionList);
#define somMD_CMDraft_IsChangedFromPrev "::CMDraft::IsChangedFromPrev"
#define CMDraft_IsChangedFromPrev(somSelf,ev,versionList) \
    (SOM_Resolve(somSelf, CMDraft, IsChangedFromPrev) \
	(somSelf,ev,versionList))
#ifndef SOMGD_IsChangedFromPrev
    #if (defined(_IsChangedFromPrev) || defined(__IsChangedFromPrev))
        #undef _IsChangedFromPrev
        #undef __IsChangedFromPrev
        #define SOMGD_IsChangedFromPrev 1
    #else
        #define _IsChangedFromPrev CMDraft_IsChangedFromPrev
    #endif /* _IsChangedFromPrev */
#endif /* SOMGD_IsChangedFromPrev */

/*
 * New Method: GetClonedSUIDs
 */
typedef AEHashTable*   (SOMLINK * somTD_CMDraft_GetClonedSUIDs)(CMDraft *somSelf, Environment *ev,
		ODDraft* destDraft);
#define somMD_CMDraft_GetClonedSUIDs "::CMDraft::GetClonedSUIDs"
#define CMDraft_GetClonedSUIDs(somSelf,ev,destDraft) \
    (SOM_Resolve(somSelf, CMDraft, GetClonedSUIDs) \
	(somSelf,ev,destDraft))
#ifndef SOMGD_GetClonedSUIDs
    #if (defined(_GetClonedSUIDs) || defined(__GetClonedSUIDs))
        #undef _GetClonedSUIDs
        #undef __GetClonedSUIDs
        #define SOMGD_GetClonedSUIDs 1
    #else
        #define _GetClonedSUIDs CMDraft_GetClonedSUIDs
    #endif /* _GetClonedSUIDs */
#endif /* SOMGD_GetClonedSUIDs */

/*
 * New Method: IsValidDraftKey
 */
typedef ODBoolean   (SOMLINK * somTD_CMDraft_IsValidDraftKey)(CMDraft *somSelf, Environment *ev,
		ODDraftKey key);
#define somMD_CMDraft_IsValidDraftKey "::CMDraft::IsValidDraftKey"
#define CMDraft_IsValidDraftKey(somSelf,ev,key) \
    (SOM_Resolve(somSelf, CMDraft, IsValidDraftKey) \
	(somSelf,ev,key))
#ifndef SOMGD_IsValidDraftKey
    #if (defined(_IsValidDraftKey) || defined(__IsValidDraftKey))
        #undef _IsValidDraftKey
        #undef __IsValidDraftKey
        #define SOMGD_IsValidDraftKey 1
    #else
        #define _IsValidDraftKey CMDraft_IsValidDraftKey
    #endif /* _IsValidDraftKey */
#endif /* SOMGD_IsValidDraftKey */

/*
 * New Method: GetHeap
 */
typedef ODMemoryHeapID   (SOMLINK * somTD_CMDraft_GetHeap)(CMDraft *somSelf, Environment *ev);
#define somMD_CMDraft_GetHeap "::CMDraft::GetHeap"
#define CMDraft_GetHeap(somSelf,ev) \
    (SOM_Resolve(somSelf, CMDraft, GetHeap) \
	(somSelf,ev))
#ifndef SOMGD_GetHeap
    #if (defined(_GetHeap) || defined(__GetHeap))
        #undef _GetHeap
        #undef __GetHeap
        #define SOMGD_GetHeap 1
    #else
        #define _GetHeap CMDraft_GetHeap
    #endif /* _GetHeap */
#endif /* SOMGD_GetHeap */

/*
 * New Method: GetPersistentLinkID
 */
typedef ODLinkID   (SOMLINK * somTD_CMDraft_GetPersistentLinkID)(CMDraft *somSelf, Environment *ev,
		ODLink* link);
#define somMD_CMDraft_GetPersistentLinkID "::CMDraft::GetPersistentLinkID"
#define CMDraft_GetPersistentLinkID(somSelf,ev,link) \
    (SOM_Resolve(somSelf, CMDraft, GetPersistentLinkID) \
	(somSelf,ev,link))
#ifndef SOMGD_GetPersistentLinkID
    #if (defined(_GetPersistentLinkID) || defined(__GetPersistentLinkID))
        #undef _GetPersistentLinkID
        #undef __GetPersistentLinkID
        #define SOMGD_GetPersistentLinkID 1
    #else
        #define _GetPersistentLinkID CMDraft_GetPersistentLinkID
    #endif /* _GetPersistentLinkID */
#endif /* SOMGD_GetPersistentLinkID */

/*
 * New Method: GetLinkID
 */
typedef ODStorageUnitID   (SOMLINK * somTD_CMDraft_GetLinkID)(CMDraft *somSelf, Environment *ev,
		ODLinkID linkID);
#define somMD_CMDraft_GetLinkID "::CMDraft::GetLinkID"
#define CMDraft_GetLinkID(somSelf,ev,linkID) \
    (SOM_Resolve(somSelf, CMDraft, GetLinkID) \
	(somSelf,ev,linkID))
#ifndef SOMGD_GetLinkID
    #if (defined(_GetLinkID) || defined(__GetLinkID))
        #undef _GetLinkID
        #undef __GetLinkID
        #define SOMGD_GetLinkID 1
    #else
        #define _GetLinkID CMDraft_GetLinkID
    #endif /* _GetLinkID */
#endif /* SOMGD_GetLinkID */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define CMDraft_InitRefCntObject ODRefCntObject_InitRefCntObject
#define CMDraft_GetRefCount ODRefCntObject_GetRefCount
#define CMDraft_InitObject ODObject_InitObject
#define CMDraft_IsInitialized ODObject_IsInitialized
#define CMDraft_HasExtension ODObject_HasExtension
#define CMDraft_GetExtension ODObject_GetExtension
#define CMDraft_ReleaseExtension ODObject_ReleaseExtension
#define CMDraft_IsEqualTo ODObject_IsEqualTo
#define CMDraft_SubClassResponsibility ODObject_SubClassResponsibility
#define CMDraft_somDefaultInit SOMObject_somDefaultInit
#define CMDraft_somDestruct SOMObject_somDestruct
#define CMDraft_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define CMDraft_somDefaultAssign SOMObject_somDefaultAssign
#define CMDraft_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define CMDraft_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define CMDraft_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define CMDraft_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define CMDraft_somDefaultVAssign SOMObject_somDefaultVAssign
#define CMDraft_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define CMDraft_somFree SOMObject_somFree
#define CMDraft_somGetClass SOMObject_somGetClass
#define CMDraft_somGetClassName SOMObject_somGetClassName
#define CMDraft_somGetSize SOMObject_somGetSize
#define CMDraft_somIsA SOMObject_somIsA
#define CMDraft_somIsInstanceOf SOMObject_somIsInstanceOf
#define CMDraft_somRespondsTo SOMObject_somRespondsTo
#define CMDraft_somDispatch SOMObject_somDispatch
#define CMDraft_somClassDispatch SOMObject_somClassDispatch
#define CMDraft_somCastObj SOMObject_somCastObj
#define CMDraft_somResetObj SOMObject_somResetObj
#define CMDraft_somDispatchV SOMObject_somDispatchV
#define CMDraft_somDispatchL SOMObject_somDispatchL
#define CMDraft_somDispatchA SOMObject_somDispatchA
#define CMDraft_somDispatchD SOMObject_somDispatchD
#define CMDraft_somPrintSelf SOMObject_somPrintSelf
#define CMDraft_somDumpSelf SOMObject_somDumpSelf
#define CMDraft_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_CMDraft_h */
