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_collection_object.hpp
Go to the documentation of this file.
1 #ifndef __IRODS_COLLECTION_OBJECT_HPP__
2 #define __IRODS_COLLECTION_OBJECT_HPP__
3 
4 // =-=-=-=-=-=-=-
5 // system includes
6 #include <sys/types.h>
7 #include <dirent.h>
8 
9 // =-=-=-=-=-=-=-
10 #include "irods_data_object.hpp"
11 
12 namespace irods {
13 
14  class collection_object : public data_object {
15  public:
16  // =-=-=-=-=-=-=-
17  // Constructors
21  const std::string&, // phy path
22  rodsLong_t, // resc_id
23  int, // mode
24  int ); // flags
26  const std::string&, // phy path
27  rodsLong_t, // resc_id
28  int, // mode
29  int, // flags
30  const keyValPair_t& ); // cond_input
32  const std::string&, // phy path
33  const std::string&, // resc hier
34  int, // mode
35  int ); // flags
37  const std::string&, // phy path
38  const std::string&, // resc hier
39  int, // mode
40  int, // flags
41  const keyValPair_t& ); // cond_input
42 
43  // =-=-=-=-=-=-=-
44  // Destructor
45  virtual ~collection_object();
46 
47  // =-=-=-=-=-=-=-
48  // Operators
50 
51  // =-=-=-=-=-=-=-
52  // plugin resolution operation
53  virtual error resolve(
54  const std::string&, // plugin interface name
55  plugin_ptr& ); // resolved plugin instance
56 
57  // =-=-=-=-=-=-=-
58  // accessor for rule engine variables
60 
61  // =-=-=-=-=-=-=-
62  // Accessors
63  virtual DIR* directory_pointer() const {
64  return directory_pointer_;
65  }
66 
67  // =-=-=-=-=-=-=-
68  // Mutators
69  virtual void directory_pointer( DIR* _p ) {
70  directory_pointer_ = _p;
71  }
72 
73  protected:
74  // =-=-=-=-=-=-=-
75  // Attributes
76  // NOTE :: These are not guaranteed to be properly populated right now
77  // :: that will need be done later when these changes are pushed
78  // :: higher in the original design
79  DIR* directory_pointer_; // pointer to open filesystem directory
80 
81  }; // class collection_object
82 
85  typedef boost::shared_ptr< collection_object > collection_object_ptr;
86 
87 }; // namespace irods
88 
89 #endif // __IRODS_COLLECTION_OBJECT_HPP__
90 
91 
92 
irods::plugin_ptr
boost::shared_ptr< plugin_base > plugin_ptr
Definition: irods_first_class_object.hpp:18
irods::collection_object::directory_pointer
virtual void directory_pointer(DIR *_p)
Definition: irods_collection_object.hpp:69
irods::collection_object::operator=
virtual collection_object & operator=(const collection_object &)
Definition: irods_collection_object.cpp:105
irods_data_object.hpp
irods::collection_object_ptr
boost::shared_ptr< collection_object > collection_object_ptr
Definition: irods_collection_object.hpp:85
irods::data_object
Definition: irods_data_object.hpp:22
irods::collection_object::resolve
virtual error resolve(const std::string &, plugin_ptr &)
Definition: irods_collection_object.cpp:118
irods::collection_object::directory_pointer
virtual DIR * directory_pointer() const
Definition: irods_collection_object.hpp:63
irods
Definition: apiHandler.hpp:35
irods::collection_object
Definition: irods_collection_object.hpp:14
irods::collection_object::directory_pointer_
DIR * directory_pointer_
Definition: irods_collection_object.hpp:79
irods::error
Definition: irods_error.hpp:23
irods::collection_object::collection_object
collection_object()
Definition: irods_collection_object.cpp:13
irods::collection_object::get_re_vars
virtual error get_re_vars(rule_engine_vars_t &)
Definition: irods_collection_object.cpp:182
KeyValPair
Definition: objInfo.h:120
irods::collection_object::~collection_object
virtual ~collection_object()
Definition: irods_collection_object.cpp:99
irods::rule_engine_vars_t
std::map< std::string, std::string > rule_engine_vars_t
Definition: irods_first_class_object.hpp:20
rodsLong_t
long long rodsLong_t
Definition: rodsType.h:32