// @(#)root/auth:$Id$
// Author: G. Ganis   08/07/2005

/*************************************************************************
 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TRootSecContext
#define ROOT_TRootSecContext


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TRootSecContext                                                      //
//                                                                      //
// Special implementation of TSecContext                                //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TAuthenticate
#include "TAuthenticate.h"
#endif
#ifndef ROOT_TSecContext
#include "TSecContext.h"
#endif

class TRootSecContext : public TSecContext {

private:
   Int_t        fRSAKey;              // Type of RSA key used

   Bool_t       CleanupSecContext(Bool_t all);

public:

   TRootSecContext(const char *url, Int_t meth, Int_t offset,
               const char *id, const char *token,
               TDatime expdate = kROOTTZERO, void *ctx = 0, Int_t key = 1);
   TRootSecContext(const char *user, const char *host, Int_t meth, Int_t offset,
               const char *id, const char *token,
               TDatime expdate = kROOTTZERO, void *ctx = 0, Int_t key = 1);
   virtual    ~TRootSecContext();

   const char *AsString(TString &out);

   void        DeActivate(Option_t *opt = "CR");
   Int_t       GetRSAKey()  const { return fRSAKey; }

   void        Print(Option_t *option = "F") const;

   ClassDef(TRootSecContext,0)  // Class providing host specific authentication information
};



#endif
 TRootSecContext.h:1
 TRootSecContext.h:2
 TRootSecContext.h:3
 TRootSecContext.h:4
 TRootSecContext.h:5
 TRootSecContext.h:6
 TRootSecContext.h:7
 TRootSecContext.h:8
 TRootSecContext.h:9
 TRootSecContext.h:10
 TRootSecContext.h:11
 TRootSecContext.h:12
 TRootSecContext.h:13
 TRootSecContext.h:14
 TRootSecContext.h:15
 TRootSecContext.h:16
 TRootSecContext.h:17
 TRootSecContext.h:18
 TRootSecContext.h:19
 TRootSecContext.h:20
 TRootSecContext.h:21
 TRootSecContext.h:22
 TRootSecContext.h:23
 TRootSecContext.h:24
 TRootSecContext.h:25
 TRootSecContext.h:26
 TRootSecContext.h:27
 TRootSecContext.h:28
 TRootSecContext.h:29
 TRootSecContext.h:30
 TRootSecContext.h:31
 TRootSecContext.h:32
 TRootSecContext.h:33
 TRootSecContext.h:34
 TRootSecContext.h:35
 TRootSecContext.h:36
 TRootSecContext.h:37
 TRootSecContext.h:38
 TRootSecContext.h:39
 TRootSecContext.h:40
 TRootSecContext.h:41
 TRootSecContext.h:42
 TRootSecContext.h:43
 TRootSecContext.h:44
 TRootSecContext.h:45
 TRootSecContext.h:46
 TRootSecContext.h:47
 TRootSecContext.h:48
 TRootSecContext.h:49
 TRootSecContext.h:50
 TRootSecContext.h:51
 TRootSecContext.h:52
 TRootSecContext.h:53
 TRootSecContext.h:54
 TRootSecContext.h:55
 TRootSecContext.h:56
 TRootSecContext.h:57
 TRootSecContext.h:58
 TRootSecContext.h:59
 TRootSecContext.h:60