//$Id: ENW.idl 70887 2006-02-09 23:54:08Z mxiong $ 

#ifndef ENW_IDL
#define ENW_IDL

#include <Components.idl>


module ENW
{
  exception EUnknownIdent
  {
  };

  exception EUnknownSession
  {
  };

  eventtype ET_LifeToken
  {
  };
  
  //////////////////////////////////////////////////////////////////////////////
  //
  // ICheckPoint-Interfaces
  //

  const long IdNotDefined = -1;

  interface TSession
  {
    long getIdent();
    boolean isInUse();
  };

  interface ISessionService
  {
    TSession createSession();
    boolean destroySession( in TSession Session );
    
    TSession acquireSession( in long Ident )
                             raises( EUnknownIdent );
 
    boolean releaseSession( in long Ident,
                            in TSession Session )
                            raises( EUnknownSession );
  };
  
};


#endif //ENW_IDL
