// Author: G. Ganis   08/07/05

/*************************************************************************
 * Copyright (C) 1995-2002, 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_TVirtualAuth
#define ROOT_TVirtualAuth

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TVirtualAuth                                                         //
//                                                                      //
// Abstract interface for client authentication code.                   //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif

class TSecContext;
class TSocket;

class TVirtualAuth {

public:
   TVirtualAuth() { }
   virtual ~TVirtualAuth() { }

   virtual TSecContext *Authenticate(TSocket *, const char *host,
                                     const char *user, Option_t *options) = 0;
   virtual Int_t        ClientVersion() = 0;
   virtual void         ErrorMsg(const char *where, Int_t ecode) = 0;
   virtual const char  *Name() = 0;

   ClassDef(TVirtualAuth,0)  // client auth interface
};

#endif
 TVirtualAuth.h:1
 TVirtualAuth.h:2
 TVirtualAuth.h:3
 TVirtualAuth.h:4
 TVirtualAuth.h:5
 TVirtualAuth.h:6
 TVirtualAuth.h:7
 TVirtualAuth.h:8
 TVirtualAuth.h:9
 TVirtualAuth.h:10
 TVirtualAuth.h:11
 TVirtualAuth.h:12
 TVirtualAuth.h:13
 TVirtualAuth.h:14
 TVirtualAuth.h:15
 TVirtualAuth.h:16
 TVirtualAuth.h:17
 TVirtualAuth.h:18
 TVirtualAuth.h:19
 TVirtualAuth.h:20
 TVirtualAuth.h:21
 TVirtualAuth.h:22
 TVirtualAuth.h:23
 TVirtualAuth.h:24
 TVirtualAuth.h:25
 TVirtualAuth.h:26
 TVirtualAuth.h:27
 TVirtualAuth.h:28
 TVirtualAuth.h:29
 TVirtualAuth.h:30
 TVirtualAuth.h:31
 TVirtualAuth.h:32
 TVirtualAuth.h:33
 TVirtualAuth.h:34
 TVirtualAuth.h:35
 TVirtualAuth.h:36
 TVirtualAuth.h:37
 TVirtualAuth.h:38
 TVirtualAuth.h:39
 TVirtualAuth.h:40
 TVirtualAuth.h:41
 TVirtualAuth.h:42
 TVirtualAuth.h:43
 TVirtualAuth.h:44