00001 // @(#)root/clarens:$Id: TClSession.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: Maarten Ballintijn 25/10/2004 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TClSession 00013 #define ROOT_TClSession 00014 00015 ////////////////////////////////////////////////////////////////////////// 00016 // // 00017 // TClSession // 00018 // // 00019 // // 00020 ////////////////////////////////////////////////////////////////////////// 00021 00022 #if !defined(__CINT__) 00023 #include "xmlrpc.h" 00024 #include "xmlrpc_client.h" 00025 #else 00026 struct xmlrpc_server_info; 00027 #endif 00028 00029 #ifndef ROOT_TObject 00030 #include "TObject.h" 00031 #endif 00032 00033 #ifndef ROOT_TUrl 00034 #include "TUrl.h" 00035 #endif 00036 00037 00038 class TUrl; 00039 00040 00041 class TClSession : public TObject { 00042 private: 00043 TUrl fUrl; //server we are connected to 00044 TString fUser; //SHA1 string 00045 TString fPassword; //SHA1 string 00046 xmlrpc_server_info *fServerInfo; //per server data 00047 void *fServerPubRSA; //(X509*) 00048 00049 // single client certificate for the moment 00050 static void *fgPrivRSA; 00051 static void *fgPubRSA; 00052 static TString fgUserCert; 00053 static Bool_t fgInitialized; 00054 00055 TClSession(const Char_t *url, const Char_t *user, const Char_t *pw, 00056 xmlrpc_server_info *info, void *serverPubRSA); 00057 00058 static Bool_t InitAuthentication(); 00059 00060 public: 00061 virtual ~TClSession() { } 00062 00063 xmlrpc_server_info *GetServerInfo() {return fServerInfo;} 00064 const Char_t *GetServer() {return fUrl.GetUrl();} 00065 00066 static TClSession *Create(const Char_t *url); 00067 00068 ClassDef(TClSession,0); // Clarens Session 00069 }; 00070 00071 #endif