/* @(#)Z 1.5.1.12 com/src/core/idl/ODSessn.idl, odcore, od96nt, odnt9712d 97/03/21 16:44:25 (97/03/11 15:31:18) */


#ifndef _ODSESSN_
#define _ODSESSN_

#ifndef _ODSESSNB_
#include "ODSessnB.idl"
#endif

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

interface   ODPartHandlerRegistryInt;

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

interface   ODSession;

#ifdef _PLATFORM_WIN32_
    interface   OpenDocShell;
    interface   ODHelp;
#endif // _PLATFORM_WIN32_

#ifdef _PLATFORM_UNIX_
    interface   ODHelp;
    typedef somToken XLinkInfoList;
#endif // _PLATFORM_UNIX_

//==============================================================================
// ODSession
//==============================================================================

interface ODSession :  ODBaseSession
{

#ifdef _PLATFORM_WIN32_
   void        InitSession(in OpenDocShell shell);
#else
   void        InitSession();
#endif

   void        GetUserName(out ODIText *name);

   ODUpdateID UniqueUpdateID();

#ifndef _PLATFORM_OS2_
   ODHelp GetHelp();
#endif //not _PLATFORM_OS2_

#ifdef _PLATFORM_UNIX_
   XLinkInfoList* GetSessionLinkSrcList();
   XLinkInfoList* GetSessionLinkDstList();
#endif

   ODPartHandlerRegistryInt GetRegistry();


#ifdef __SOMIDL__
       implementation
       {
               majorversion = 1; minorversion = 0;

               functionprefix = ODSession;

               #ifdef _PLATFORM_WIN32_
               #endif

               #ifdef _PLATFORM_UNIX_
                   passthru C_xh = 
			""
			"#ifndef SOM_ODLinkHlpr_h"
			"#include <LinkHlpr.h>"
			"#endif"
			"";
               #endif // _PLATFORM_UNIX_

               override:
                       somUninit,
                       Purge;

               releaseorder:
                       UniqueUpdateID
                       , GetUserName
                       , InitSession
    #ifndef _PLATFORM_OS2_
                       , GetHelp
    #endif //not _PLATFORM_OS2_
    #ifdef _PLATFORM_UNIX_
		       , GetSessionLinkSrcList
                       , GetSessionLinkDstList
    #endif //_PLATFORM_UNIX_
		       , GetRegistry
                       , reserved1
		       ;

  };
#endif
};

#endif // _ODSESSN_
