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_structured_object.hpp
Go to the documentation of this file.
1 #ifndef __IRODS_STRUCTURED_OBJECT_HPP__
2 #define __IRODS_STRUCTURED_OBJECT_HPP__
3 
4 // =-=-=-=-=-=-=-
5 // stl includes
6 #include <string>
7 
8 // =-=-=-=-=-=-=-
9 #include "irods_file_object.hpp"
10 #include "irods_log.hpp"
11 #include "subStructFileRead.h"
12 
13 namespace irods {
14 
15  class structured_object : public file_object {
16  public:
17  // =-=-=-=-=-=-=-
18  // Constructors
23 
24  // =-=-=-=-=-=-=-
25  // Destructor
26  virtual ~structured_object();
27 
28  // =-=-=-=-=-=-=-
29  // Operators
31 
32  // =-=-=-=-=-=-=-
33  // plugin resolution operation
34  virtual error resolve(
35  const std::string&, // plugin interface name
36  plugin_ptr& ); // resolved plugin instance
37 
38  // =-=-=-=-=-=-=-
39  // accessor for rule engine variables
41 
42  // =-=-=-=-=-=-=-
43  // Accessors
44  rodsHostAddr_t addr() const {
45  return addr_;
46  }
47  std::string sub_file_path() const {
48  return sub_file_path_;
49  }
50  size_t offset() const {
51  return offset_;
52  }
53  specColl_t* spec_coll() const {
54  return spec_coll_;
55  }
56  std::string data_type() const {
57  return data_type_;
58  }
59  int opr_type() const {
60  return opr_type_;
61  }
62 
64  return spec_coll_type_;
65  }
66 
67  // =-=-=-=-=-=-=-
68  // Mutators
69  void addr( const rodsHostAddr_t& _addr ) {
70  addr_ = _addr;
71  }
72  void sub_file_path( const std::string& _p ) {
73  sub_file_path_ = _p;
74  }
75  void spec_coll( specColl_t* _coll ) {
76  spec_coll_ = _coll;
77  }
78  void data_type( const std::string& _dt ) {
79  data_type_ = _dt;
80  }
81  void opr_type( int _ot ) {
82  opr_type_ = _ot;
83  }
84  void spec_coll_type( const structFileType_t& _t ) {
85  spec_coll_type_ = _t;
86  }
87 
88  protected:
89  // =-=-=-=-=-=-=-
90  // Attributes
91  // NOTE :: These are not guaranteed to be properly populated right now
92  // :: that will need be done later when these changes are pushed
93  // :: higher in the original design
95  std::string sub_file_path_;
98  std::string data_type_;
99  int opr_type_;
100 
102 
103  }; // class structured_object
104 
107  typedef boost::shared_ptr< structured_object > structured_object_ptr;
108 
109 }; // namespace irods
110 
111 #endif // __IRODS_STRUCTURED_OBJECT_HPP__
112 
113 
114 
irods::plugin_ptr
boost::shared_ptr< plugin_base > plugin_ptr
Definition: irods_first_class_object.hpp:18
irods::structured_object::addr_
rodsHostAddr_t addr_
Definition: irods_structured_object.hpp:94
Subfile
Definition: objInfo.h:316
irods_file_object.hpp
irods::structured_object::sub_file_path
void sub_file_path(const std::string &_p)
Definition: irods_structured_object.hpp:72
irods::structured_object::spec_coll
specColl_t * spec_coll() const
Definition: irods_structured_object.hpp:53
irods::structured_object::spec_coll_
specColl_t * spec_coll_
Definition: irods_structured_object.hpp:97
SpecColl
Definition: objInfo.h:76
structFileType_t
structFileType_t
Definition: objInfo.h:52
irods::structured_object::opr_type
void opr_type(int _ot)
Definition: irods_structured_object.hpp:81
irods::structured_object::addr
rodsHostAddr_t addr() const
Definition: irods_structured_object.hpp:44
irods::structured_object::offset
size_t offset() const
Definition: irods_structured_object.hpp:50
irods::structured_object::structured_object
structured_object()
Definition: irods_structured_object.cpp:12
SubStructFileFdOpr
Definition: subStructFileRead.h:8
irods::structured_object::data_type
void data_type(const std::string &_dt)
Definition: irods_structured_object.hpp:78
irods
Definition: apiHandler.hpp:35
irods::structured_object::spec_coll_type_
structFileType_t spec_coll_type_
Definition: irods_structured_object.hpp:101
irods::structured_object
Definition: irods_structured_object.hpp:15
irods::structured_object::data_type_
std::string data_type_
Definition: irods_structured_object.hpp:98
irods::structured_object::data_type
std::string data_type() const
Definition: irods_structured_object.hpp:56
irods::structured_object_ptr
boost::shared_ptr< structured_object > structured_object_ptr
Definition: irods_structured_object.hpp:107
irods::error
Definition: irods_error.hpp:23
irods::structured_object::get_re_vars
virtual error get_re_vars(rule_engine_vars_t &)
Definition: irods_structured_object.cpp:208
irods::structured_object::spec_coll_type
structFileType_t spec_coll_type() const
Definition: irods_structured_object.hpp:63
irods::structured_object::opr_type
int opr_type() const
Definition: irods_structured_object.hpp:59
irods::file_object
Definition: irods_file_object.hpp:19
irods::structured_object::resolve
virtual error resolve(const std::string &, plugin_ptr &)
Definition: irods_structured_object.cpp:109
irods::structured_object::opr_type_
int opr_type_
Definition: irods_structured_object.hpp:99
irods::structured_object::~structured_object
virtual ~structured_object()
Definition: irods_structured_object.cpp:86
irods::structured_object::sub_file_path_
std::string sub_file_path_
Definition: irods_structured_object.hpp:95
irods::structured_object::sub_file_path
std::string sub_file_path() const
Definition: irods_structured_object.hpp:47
irods::structured_object::offset_
rodsLong_t offset_
Definition: irods_structured_object.hpp:96
irods::structured_object::spec_coll_type
void spec_coll_type(const structFileType_t &_t)
Definition: irods_structured_object.hpp:84
irods::structured_object::spec_coll
void spec_coll(specColl_t *_coll)
Definition: irods_structured_object.hpp:75
irods::structured_object::operator=
virtual structured_object & operator=(const structured_object &)
Definition: irods_structured_object.cpp:91
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
irods::structured_object::addr
void addr(const rodsHostAddr_t &_addr)
Definition: irods_structured_object.hpp:69
rodsLong_t
long long rodsLong_t
Definition: rodsType.h:32
rodsHostAddr_t
Definition: rodsDef.h:296
subStructFileRead.h