Back to index

nordugrid-arc-nox  1.1.0~rc6
MCCGSI.h
Go to the documentation of this file.
00001 // -*- indent-tabs-mode: nil -*-
00002 
00003 #ifndef __ARC_MCCGSI_H__
00004 #define __ARC_MCCGSI_H__
00005 
00006 #include <gssapi.h>
00007 
00008 #include <arc/message/MCC.h>
00009 
00010 namespace Arc {
00011 
00012   class Logger;
00013   class PayloadGSIStream;
00014 
00015   class MCC_GSI_Service
00016     : public MCC {
00017   public:
00018     MCC_GSI_Service(Config& cfg, ModuleManager& mm);
00019     virtual ~MCC_GSI_Service();
00020     virtual MCC_Status process(Message&, Message&);
00021   private:
00022     std::string proxyPath;
00023     std::string certificatePath;
00024     std::string keyPath;
00025     static Logger logger;
00026   };
00027 
00028   class MCC_GSI_Client
00029     : public MCC {
00030   public:
00031     MCC_GSI_Client(Config& cfg, ModuleManager& mm);
00032     virtual ~MCC_GSI_Client();
00033     virtual MCC_Status process(Message&, Message&);
00034     virtual void Next(MCCInterface *next, const std::string& label = "");
00035   private:
00036     MCC_Status InitContext();
00037     gss_ctx_id_t ctx;
00038     std::string proxyPath;
00039     std::string certificatePath;
00040     std::string keyPath;
00041     static Logger logger;
00042   };
00043 
00044 } // namespace Arc
00045 
00046 #endif /* __ARC_MCCGSI_H__ */