//$Id: ENW.idl 91815 2010-09-17 08:35:19Z johnnyw $

#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
