irods  4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems.
  Fossies Dox: irods-4.2.8.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

irods_gsi_object.hpp
Go to the documentation of this file.
1 #ifndef _GSI_AUTH_OBJECT_HPP_
2 #define _GSI_AUTH_OBJECT_HPP_
3 
4 #include "irods_error.hpp"
5 #include "irods_auth_object.hpp"
6 
7 #include <gssapi.h>
8 
9 namespace irods {
10 
11 // constant key for gsi auth object
12  const std::string GSI_AUTH_PLUGIN( "GSI" );
13  const std::string AUTH_GSI_SCHEME( "gsi" );
14 
18  class gsi_auth_object : public auth_object {
19  public:
21  gsi_auth_object( rError_t* _r_error );
22  virtual ~gsi_auth_object();
23 
24  // Accessors
25 
27  virtual gss_cred_id_t creds( void ) const {
28  return creds_;
29  }
30 
32  virtual int sock( void ) const {
33  return sock_;
34  }
35 
37  virtual const std::string& server_dn( void ) const {
38  return server_dn_;
39  }
40 
42  virtual const std::string& digest( void ) const {
43  return digest_;
44  }
45 
49 
50  // Mutators
51 
53  virtual void creds( gss_cred_id_t _creds ) {
54  creds_ = _creds;
55  }
56 
58  virtual void sock( int s ) {
59  sock_ = s;
60  }
61 
63  virtual void server_dn( const std::string& s ) {
64  server_dn_ = s;
65  }
66 
68  virtual void digest( const std::string& d ) {
69  digest_ = d;
70  }
71 
72  // Methods
73 
75  error resolve( const std::string& _name, plugin_ptr& _plugin ); // resolve plugin
76 
78  bool operator==( const gsi_auth_object& _rhs ) const;
79 
80 
81  private:
82  gss_cred_id_t creds_;
83  int sock_;
84  std::string server_dn_;
85  std::string digest_;
86  };
87 
88  typedef boost::shared_ptr<gsi_auth_object> gsi_auth_object_ptr;
89 
90 }; // namespace irods
91 
92 #endif // _GSI_AUTH_OBJECT_HPP_
irods::plugin_ptr
boost::shared_ptr< plugin_base > plugin_ptr
Definition: irods_first_class_object.hpp:18
irods::auth_object
Definition: irods_auth_object.hpp:16
irods::gsi_auth_object::server_dn_
std::string server_dn_
Definition: irods_gsi_object.hpp:84
irods::GSI_AUTH_PLUGIN
const std::string GSI_AUTH_PLUGIN("GSI")
irods::gsi_auth_object::sock_
int sock_
Definition: irods_gsi_object.hpp:83
irods::gsi_auth_object::creds
virtual void creds(gss_cred_id_t _creds)
Definition: irods_gsi_object.hpp:53
irods::AUTH_GSI_SCHEME
const std::string AUTH_GSI_SCHEME("gsi")
irods::gsi_auth_object_ptr
boost::shared_ptr< gsi_auth_object > gsi_auth_object_ptr
Definition: irods_gsi_object.hpp:88
irods_auth_object.hpp
rError_t
Definition: rodsError.h:24
irods::gsi_auth_object::resolve
error resolve(const std::string &_name, plugin_ptr &_plugin)
Definition: irods_gsi_object.cpp:22
irods
Definition: apiHandler.hpp:35
irods::gsi_auth_object::sock
virtual int sock(void) const
Definition: irods_gsi_object.hpp:32
irods::gsi_auth_object::digest
virtual const std::string & digest(void) const
Definition: irods_gsi_object.hpp:42
irods::gsi_auth_object::sock
virtual void sock(int s)
Definition: irods_gsi_object.hpp:58
irods::gsi_auth_object::gsi_auth_object
gsi_auth_object(rError_t *_r_error)
Definition: irods_gsi_object.cpp:11
irods::error
Definition: irods_error.hpp:23
irods::gsi_auth_object::creds_
gss_cred_id_t creds_
Definition: irods_gsi_object.hpp:82
irods::gsi_auth_object::creds
virtual gss_cred_id_t creds(void) const
Definition: irods_gsi_object.hpp:27
irods::gsi_auth_object::server_dn
virtual const std::string & server_dn(void) const
Definition: irods_gsi_object.hpp:37
irods::gsi_auth_object::get_re_vars
virtual error get_re_vars(rule_engine_vars_t &)
Definition: irods_gsi_object.cpp:53
irods::gsi_auth_object::operator==
bool operator==(const gsi_auth_object &_rhs) const
Definition: irods_gsi_object.cpp:46
irods::gsi_auth_object::digest
virtual void digest(const std::string &d)
Definition: irods_gsi_object.hpp:68
irods_error.hpp
irods::gsi_auth_object::digest_
std::string digest_
Definition: irods_gsi_object.hpp:85
irods::gsi_auth_object::server_dn
virtual void server_dn(const std::string &s)
Definition: irods_gsi_object.hpp:63
irods::gsi_auth_object::~gsi_auth_object
virtual ~gsi_auth_object()
Definition: irods_gsi_object.cpp:18
irods::gsi_auth_object
Definition: irods_gsi_object.hpp:18
irods::rule_engine_vars_t
std::map< std::string, std::string > rule_engine_vars_t
Definition: irods_first_class_object.hpp:20