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_network_object.hpp
Go to the documentation of this file.
1 #ifndef __IRODS_NETWORK_OBJECT_HPP__
2 #define __IRODS_NETWORK_OBJECT_HPP__
3 
4 // =-=-=-=-=-=-=-
6 
7 // =-=-=-=-=-=-=-
8 // irods includes
9 #include "rcConnect.h"
10 
11 // =-=-=-=-=-=-=-
12 // boost includes
13 #include <boost/shared_ptr.hpp>
14 
15 namespace irods {
16 // =-=-=-=-=-=-=-
17 // network object base class
19  public:
20  // =-=-=-=-=-=-=-
21  // Constructors
23  network_object( const rcComm_t& );
24  network_object( const rsComm_t& );
26 
27  // =-=-=-=-=-=-=-
28  // Destructors
29  virtual ~network_object();
30 
31  // =-=-=-=-=-=-=-
32  // Operators
33  virtual network_object& operator=( const network_object& );
34 
35  // =-=-=-=-=-=-=-
37  virtual bool operator==( const network_object& _rhs ) const;
38 
39  // =-=-=-=-=-=-=-
40  // plugin resolution operation
41  virtual error resolve(
42  const std::string&, // plugin interface
43  plugin_ptr& ) = 0; // resolved plugin
44 
45  // =-=-=-=-=-=-=-
46  // convertion to client comm ptr
47  virtual error to_client( rcComm_t* );
48 
49  // =-=-=-=-=-=-=-
50  // convertion to client comm ptr
51  virtual error to_server( rsComm_t* );
52 
53  // =-=-=-=-=-=-=-
54  // accessor for rule engine variables
56 
57  // =-=-=-=-=-=-=-
58  // Accessors
59  virtual int socket_handle() const {
60  return socket_handle_;
61  }
62 
63  // =-=-=-=-=-=-=-
64  // Mutators
65  virtual void socket_handle( int _s ) {
66  socket_handle_ = _s;
67  }
68 
69  private:
70  // =-=-=-=-=-=-=-
71  // Attributes
72  int socket_handle_; // socket descriptor
73 
74  }; // network_object
75 
76 // =-=-=-=-=-=-=-
77 // helpful typedef for sock comm interface & factory
78  typedef boost::shared_ptr< network_object > network_object_ptr;
79 
80 }; // namespace irods
81 
82 #endif // __IRODS_NETWORK_OBJECT_HPP__
83 
84 
85 
irods::plugin_ptr
boost::shared_ptr< plugin_base > plugin_ptr
Definition: irods_first_class_object.hpp:18
rcComm_t
Definition: rcConnect.h:95
rsComm_t
Definition: rcConnect.h:145
irods::network_object::socket_handle_
int socket_handle_
Definition: irods_network_object.hpp:72
irods::network_object::socket_handle
virtual void socket_handle(int _s)
Definition: irods_network_object.hpp:65
irods::network_object::resolve
virtual error resolve(const std::string &, plugin_ptr &)=0
rcConnect.h
irods::network_object::network_object
network_object()
Definition: irods_network_object.cpp:12
irods
Definition: apiHandler.hpp:35
irods::network_object::operator=
virtual network_object & operator=(const network_object &)
Definition: irods_network_object.cpp:49
irods::network_object::~network_object
virtual ~network_object()
Definition: irods_network_object.cpp:44
irods::error
Definition: irods_error.hpp:23
irods_first_class_object.hpp
irods::network_object::to_server
virtual error to_server(rsComm_t *)
Definition: irods_network_object.cpp:91
irods::network_object_ptr
boost::shared_ptr< network_object > network_object_ptr
Definition: irods_network_object.hpp:78
irods::first_class_object
Definition: irods_first_class_object.hpp:23
irods::network_object::operator==
virtual bool operator==(const network_object &_rhs) const
Definition: irods_network_object.cpp:58
irods::network_object
Definition: irods_network_object.hpp:18
irods::network_object::get_re_vars
virtual error get_re_vars(rule_engine_vars_t &)
Definition: irods_network_object.cpp:66
irods::network_object::socket_handle
virtual int socket_handle() const
Definition: irods_network_object.hpp:59
irods::rule_engine_vars_t
std::map< std::string, std::string > rule_engine_vars_t
Definition: irods_first_class_object.hpp:20
irods::network_object::to_client
virtual error to_client(rcComm_t *)
Definition: irods_network_object.cpp:78