Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

GSISocketServer.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *  filename  : GSISocketServer.h
00003  *  authors   : Salvatore Monforte <salvatore.monforte@ct.infn.it>
00004  *  copyright : (C) 2001 by INFN
00005  ***************************************************************************/
00006 
00007 // $Id:
00008 
00018 #ifndef _GSISocketServer_h_
00019 #define _GSISocketServer_h_
00020 
00022 #include "edg/workload/common/socket++/SocketServer.h"
00024 #include <globus_gss_assist.h>
00025 
00026 namespace edg {   
00027 namespace workload { 
00028 namespace common {
00029 namespace socket_pp {
00030 
00032 class GSISocketAgent;
00034 struct GSIAuthenticationContext;
00035 
00044 class GSISocketServer : public SocketServer
00045 {
00046  public:
00047   enum limited_proxy_mode_t { normal, multi };  
00053   GSISocketServer(int, int=5);
00058   virtual ~GSISocketServer();
00059 
00063   virtual void Close();
00070   virtual GSISocketAgent* Listen();
00076   void RedirectGSIOutput(FILE *fp) { if(fp!=NULL) gsi_logfile = fp; }
00077  
00078   void LimitedProxyMode(limited_proxy_mode_t mode) { limited_proxy_mode = mode; }
00079                   
00080  private:
00087   gss_ctx_id_t AcceptGSIAuthentication(int sock, GSIAuthenticationContext&); 
00089   FILE *gsi_logfile;
00090   limited_proxy_mode_t limited_proxy_mode;
00091 };
00092 
00093 } // namespace socket_pp
00094 } // namespace common
00095 } // namespace workload
00096 } // namespace edg
00097 
00098 #endif
00099 
00100 /*
00101   Local Variables:
00102   mode: c++
00103   End:
00104 */
00105 
00106 
00107 

Generated on Fri May 14 14:18:25 2004 for COMMON API - configuration, jobid, ldif2classadi, logger, process, requestad, socket++i, task, utilities by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002