12 #ifndef ROOT_THostAuth
13 #define ROOT_THostAuth
34 class THostAuth :
public TObject {
41 Int_t fMethods[kMAXSEC];
42 TString fDetails[kMAXSEC];
43 Int_t fSuccess[kMAXSEC];
44 Int_t fFailure[kMAXSEC];
49 void Create(
const char *host,
const char *user, Int_t nmeth = 0,
50 Int_t *authmeth = 0,
char **details = 0);
54 THostAuth(
const char *host,
const char *user,
55 Int_t nmeth = 0, Int_t *authmeth = 0,
char **details = 0);
56 THostAuth(
const char *host, Int_t server,
const char *user,
57 Int_t nmeth = 0, Int_t *authmeth = 0,
char **details = 0);
58 THostAuth(
const char *host,
const char *user, Int_t authmeth,
60 THostAuth(
const char *host, Int_t server,
const char *user, Int_t authmeth,
62 THostAuth(
const char *asstring);
63 THostAuth(THostAuth &ha);
67 void AsString(TString &out)
const;
69 Int_t NumMethods()
const {
return fNumMethods; }
70 Int_t GetMethod(Int_t idx)
const {
return fMethods[idx]; }
71 Bool_t HasMethod(Int_t level, Int_t *pos = 0);
72 void AddMethod(Int_t level,
const char *details = 0);
73 void RemoveMethod(Int_t level);
74 void ReOrder(Int_t nmet, Int_t *fmet);
75 void Update(THostAuth *ha);
76 void SetFirst(Int_t level);
77 void AddFirst(Int_t level,
const char *details = 0);
78 void SetLast(Int_t level);
79 void CountFailure(Int_t level);
80 void CountSuccess(Int_t level);
81 Int_t GetFailure(Int_t idx)
const {
return fFailure[idx]; }
82 Int_t GetSuccess(Int_t idx)
const {
return fSuccess[idx]; }
83 Bool_t IsActive()
const {
return fActive; }
84 void DeActivate() { fActive = kFALSE; }
85 void Activate() { fActive = kTRUE; }
88 const char *GetDetails(Int_t level);
89 const char *GetDetailsByIdx(Int_t idx)
const {
return fDetails[idx]; }
90 void SetDetails(Int_t level,
const char *details);
92 const char *GetHost()
const {
return fHost; }
93 Int_t GetServer()
const {
return (Int_t)fServer; }
94 const char *GetUser()
const {
return fUser; }
96 void SetHost(
const char *host) { fHost = host; }
97 void SetServer(Int_t server) { fServer = (Char_t)server; }
98 void SetUser(
const char *user) { fUser = user; }
100 TList *Established()
const {
return fSecContexts; }
101 void SetEstablished(TList *nl) { fSecContexts = nl; }
103 virtual void Print(Option_t *option =
"")
const;
104 void PrintEstablished()
const;
106 TRootSecContext *CreateSecContext(
const char *user,
const char *host, Int_t meth,
107 Int_t offset,
const char *details,
108 const char *token, TDatime expdate = kROOTTZERO,
109 void *ctx = 0, Int_t key = -1);
111 ClassDef(THostAuth,1)