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_first_class_object.hpp
Go to the documentation of this file.
1 #ifndef __IRODS_FIRST_CLASS_OBJECT_HPP__
2 #define __IRODS_FIRST_CLASS_OBJECT_HPP__
3 
4 // =-=-=-=-=-=-=-
5 #include "irods_log.hpp"
6 
7 // =-=-=-=-=-=-=-
8 // irods includes
9 #include "rcConnect.h"
10 
11 // =-=-=-=-=-=-=-
12 // boost includs
13 #include <boost/shared_ptr.hpp>
14 #include <map>
15 
16 namespace irods {
17 
18  class plugin_base;
19  typedef boost::shared_ptr<plugin_base> plugin_ptr;
20  typedef std::map<std::string,std::string> rule_engine_vars_t;
21  // =-=-=-=-=-=-=-
22  // base class for all object types
24  public:
25  // =-=-=-=-=-=-=-
26  // Constructors
28 
29  // =-=-=-=-=-=-=-
30  // Destructor
31  virtual ~first_class_object() {};
32 
33  // =-=-=-=-=-=-=-
34  // plugin resolution operators
35  virtual error resolve(
36  const std::string&, // plugin interface
37  plugin_ptr& ) = 0; // resolved plugin
38 
39  // =-=-=-=-=-=-=-
40  // accessor for rule engine variables
42 
43  }; // class first_class_object
44 
47  typedef boost::shared_ptr< first_class_object > first_class_object_ptr;
48 
49 }; // namespace irods
50 
51 #endif // __IRODS_FIRST_CLASS_OBJECT_HPP__
52 
53 
54 
irods::plugin_ptr
boost::shared_ptr< plugin_base > plugin_ptr
Definition: irods_first_class_object.hpp:18
irods::first_class_object::~first_class_object
virtual ~first_class_object()
Definition: irods_first_class_object.hpp:31
irods::first_class_object::resolve
virtual error resolve(const std::string &, plugin_ptr &)=0
rcConnect.h
irods::first_class_object_ptr
boost::shared_ptr< first_class_object > first_class_object_ptr
Definition: irods_first_class_object.hpp:47
irods::first_class_object::first_class_object
first_class_object()
Definition: irods_first_class_object.hpp:27
irods
Definition: apiHandler.hpp:35
irods::first_class_object::get_re_vars
virtual error get_re_vars(rule_engine_vars_t &)=0
irods::error
Definition: irods_error.hpp:23
irods::first_class_object
Definition: irods_first_class_object.hpp:23
irods::rule_engine_vars_t
std::map< std::string, std::string > rule_engine_vars_t
Definition: irods_first_class_object.hpp:20
irods_log.hpp