00001 #ifndef __ARC_GLOBUSGSS_H__
00002 #define __ARC_GLOBUSGSS_H__
00003
00004 #include <string>
00005
00006 #include <gssapi.h>
00007
00008 namespace Arc {
00009
00010 class Logger;
00011
00012 class GSSCredential {
00013 public:
00014 GSSCredential(const std::string& proxyPath,
00015 const std::string& certificatePath,
00016 const std::string& keyPath);
00017 GSSCredential(): credential(GSS_C_NO_CREDENTIAL) {};
00018 ~GSSCredential();
00019 operator gss_cred_id_t&();
00020 operator gss_cred_id_t*();
00021 static std::string ErrorStr(OM_uint32 majstat, OM_uint32 minstat);
00022 private:
00023 gss_cred_id_t credential;
00024
00025 };
00026
00027 }
00028
00029 #endif // __ARC_GLOBUSGSS_H__