#ifdef __PRIVATE__
//#
//#	File:		ODSessn.idl
//#
//#	Contains:	Interface for ODSession class
//#
//#	Owned by:	Nick Pilch
//#
//#	Copyright:	c 1994 by Apple Computer, Inc., all rights reserved.
//#
//#	Change History (most recent first):
//#
//#		<13>	 10/7/94	CC		1191489 - Moved UniqueChangeID() in from
//#									base class.
//#		<12>	 8/19/94	NP		1181622: Ownership fix.
//#		<11>	 8/12/94	NP		1180762-Added setters. changed getusername.
//#									Removed GetSemtInterface.
//#		<10>	 7/29/94	CG		Got rid of Object registration calls.
//#		 <9>	 7/11/94	T 		added GetInfo, SetInfo, _fInfo
//#		 <8>	 6/30/94	CG		Uncommented messaging-related fields and
//#									methdos.
//#		 <7>	 6/23/94	CG		Added functionprefix, temporary comments.
//#		 <6>	 6/19/94	MB		Implement GetDefaultHeap
//#		 <5>	 6/18/94	MB		Add GetDefaultHeap to session
//#		 <4>	 6/14/94	CG		Moved NameSpaceManager and Binding to
//#									ODSession instead of ODBaseSession.
//#		 <3>	  6/8/94	CG		Forgot #endif.
//#		 <2>	  6/8/94	CG		Privatize change history.
//#		 <1>	  6/8/94	CG		first checked in
//#		 <5>	  6/1/94	RR		Parameter to Tokenize is in, not inout
//#
//#	To Do:
//#
#else
//#	Copyright:	c 1993-1994 by Apple Computer, Inc., all rights reserved.
#endif

#ifndef _ODSESSN_
#define _ODSESSN_

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

//==============================================================================
// Theory of Operation
//==============================================================================

/*
  This class represents the "system" calls in OpenDoc. A global function
  provides initialization of the OpenDoc environment and returns a reference
  to the one ODSession object. The member functions of the class
  include accessors for some of the other unique classes in OpenDoc as well
  as a few other system functions.
*/

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

interface   ODSession;

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

interface ODSession :  ODBaseSession
{
   void  InitSession();
   ODIText* GetUserName();

  //#---------------------------------
  //# Data Interchange

   ODChangeID UniqueChangeID();

#ifdef __SOMIDL__
	implementation
	{
  	functionprefix = ODSession;
	override:
		somInit,
		somUninit,
        Purge;

    releaseorder:
        UniqueChangeID,
        GetUserName,
		InitSession;
    
  };
#endif
};


#endif // _ODSESSN_
