/* @(#)Z 1.12 com/src/storage/idl/LinkMgr.idl, oddataxfer, od96nt, odnt9712d 97/03/21 16:48:48 (96/10/29 09:32:28) */


#ifndef _LINKMGR_
#define _LINKMGR_

#ifndef _ODOBJECT_
#include "ODObject.idl"
#endif

#ifndef _STORAGEU_
#include "StorageU.idl"
#endif

//=====================================================================================
// Classes defined in this interface
//=====================================================================================

interface  ODLinkManager;

//=====================================================================================
// Classes used by this interface
//=====================================================================================

interface  ODSession;
interface  ODDocument;
interface  ODDraft;
interface  ODLink;
interface  ODLinkSource;
interface  ODBaseLinkSource;
interface  ODLinkSpec;


//=====================================================================================
// ODLinkManager
//=====================================================================================

interface ODLinkManager : ODObject
{
#if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)

        ODULong NewSectionID(in ODDraft draft);

        ODBoolean ReserveSectionID(in ODULong sectionID,
                                                                in ODDraft draft);

#endif 

        ODBoolean UnsavedExportedLinks(in ODDraft draft);

        ODBoolean AnyLinkImported(in ODDraft draft);

        void DraftOpened(in ODDraft draft);

        void DraftSaved(in ODDraft draft);

        void DraftClosing(in ODDraft draft);


#ifdef __SOMIDL__
#if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)
implementation
{
        majorversion = 1; minorversion = 0;

        functionprefix = ODLinkManager;

        override:
                somUninit;

        releaseorder:
        #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)
                NewSectionID,
                ReserveSectionID,
        #else
                ReservedA,
                ReservedB,
        #endif 
                UnsavedExportedLinks,
                AnyLinkImported,
                DraftOpened,
                DraftSaved,
                DraftClosing,
                reserved1,
                reserved2,
                reserved3,
                reserved4,
                reserved5,
                reserved6,
                reserved7,
                reserved8;

};
#endif 
#endif 
};

#endif  // _LINKMGR_

