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::resource Class Reference

#include <irods_resource_plugin.hpp>

Inheritance diagram for irods::resource:
[legend]
Collaboration diagram for irods::resource:
[legend]

Public Member Functions

 resource (const std::string &_inst, const std::string &_ctx)
 
virtual ~resource ()
 
 resource (const resource &_rhs)
 
resourceoperator= (const resource &_rhs)
 
virtual error add_child (const std::string &, const std::string &, resource_ptr)
 
virtual error remove_child (const std::string &)
 
virtual size_t num_children ()
 
virtual bool has_child (const std::string &_name)
 
virtual void children (std::vector< std::string > &)
 
virtual error set_parent (const resource_ptr &)
 
virtual error get_parent (resource_ptr &)
 
- Public Member Functions inherited from irods::plugin_base
 plugin_base (const std::string &_n, const std::string &_c)
 
 plugin_base (const plugin_base &_rhs)
 
plugin_baseoperator= (const plugin_base &_rhs)
 
virtual ~plugin_base ()
 
virtual error post_disconnect_maintenance_operation (pdmo_type &)
 
virtual error need_post_disconnect_maintenance_operation (bool &_b)
 
error enumerate_operations (std::vector< std::string > &_ops)
 
const std::string & context_string () const
 
double interface_version () const
 
error add_operation (const std::string &_op, std::function< error(plugin_context &)> _f)
 
template<typename... types_t>
error add_operation (const std::string &_op, std::function< error(plugin_context &, types_t...)> _f)
 
template<typename... types_t>
error call (rsComm_t *_comm, const std::string &_operation_name, irods::first_class_object_ptr _fco, types_t... _t)
 
template<typename T >
error get_property (const std::string &_key, T &_val)
 
template<typename T >
error set_property (const std::string &_key, const T &_val)
 
void set_start_operation (maintenance_operation_t _op)
 
void set_stop_operation (maintenance_operation_t _op)
 
error start_operation ()
 
error stop_operation ()
 

Protected Attributes

resource_child_map children_
 
resource_ptr parent_
 
- Protected Attributes inherited from irods::plugin_base
std::string context_
 
std::string instance_name_
 
double interface_version_
 
plugin_property_map properties_
 
std::vector< std::pair< std::string, std::string > > ops_for_delay_load_
 
lookup_table< boost::any > operations_
 
maintenance_operation_t start_operation_
 
maintenance_operation_t stop_operation_
 

Detailed Description

Author
Jason M. Coposky
Description:\n

Definition at line 25 of file irods_resource_plugin.hpp.

Constructor & Destructor Documentation

◆ resource() [1/2]

irods::resource::resource ( const std::string &  _inst,
const std::string &  _ctx 
)
inline
Description:\n Constructors

Definition at line 29 of file irods_resource_plugin.hpp.

References children_, parent_, irods::plugin_base::properties_, irods::RESC_CHILD_MAP_PROP(), irods::RESC_PARENT_PROP(), and irods::lookup_table< ValueType, KeyType, HashType >::set().

Here is the call graph for this function:

◆ ~resource()

virtual irods::resource::~resource ( )
inlinevirtual
Description:\n Destructor

Definition at line 45 of file irods_resource_plugin.hpp.

◆ resource() [2/2]

irods::resource::resource ( const resource _rhs)
inline
Description:\n copy ctor

Definition at line 50 of file irods_resource_plugin.hpp.

References children_, and parent_.

Member Function Documentation

◆ add_child()

error irods::resource::add_child ( const std::string &  _name,
const std::string &  _data,
resource_ptr  _resc 
)
virtual
Description:\n interface to add and remove children using the zone_name::resource_name

Definition at line 19 of file irods_resource_plugin.cpp.

References children_, ERROR, SUCCESS, and SYS_INVALID_INPUT_PARAM.

◆ children()

void irods::resource::children ( std::vector< std::string > &  _out)
virtual

Definition at line 79 of file irods_resource_plugin.cpp.

References children_.

◆ get_parent()

error irods::resource::get_parent ( resource_ptr _resc)
virtual

Definition at line 66 of file irods_resource_plugin.cpp.

References ERROR, parent_, SUCCESS, and SYS_INVALID_INPUT_PARAM.

◆ has_child()

virtual bool irods::resource::has_child ( const std::string &  _name)
inlinevirtual

Definition at line 75 of file irods_resource_plugin.hpp.

References children_, and irods::lookup_table< ValueType, KeyType, HashType >::has_entry().

Here is the call graph for this function:

◆ num_children()

virtual size_t irods::resource::num_children ( )
inlinevirtual

Definition at line 72 of file irods_resource_plugin.hpp.

References children_, and irods::lookup_table< ValueType, KeyType, HashType >::size().

Here is the call graph for this function:

◆ operator=()

resource& irods::resource::operator= ( const resource _rhs)
inline
Description:\n Assignment Operator - necessary for stl containers

Definition at line 58 of file irods_resource_plugin.hpp.

References children_, irods::plugin_base::operator=(), and parent_.

Here is the call graph for this function:

◆ remove_child()

error irods::resource::remove_child ( const std::string &  _name)
virtual

Definition at line 45 of file irods_resource_plugin.cpp.

References children_, irods::lookup_table< ValueType, KeyType, HashType >::erase(), ERROR, irods::lookup_table< ValueType, KeyType, HashType >::has_entry(), SUCCESS, and SYS_INVALID_INPUT_PARAM.

Here is the call graph for this function:

◆ set_parent()

error irods::resource::set_parent ( const resource_ptr _resc)
virtual
Description:\n interface to get and set a resource's parent pointer

Definition at line 60 of file irods_resource_plugin.cpp.

References parent_, and SUCCESS.

Member Data Documentation

◆ children_

resource_child_map irods::resource::children_
protected
Description:\n Pointers to Child and Parent Resources

Definition at line 89 of file irods_resource_plugin.hpp.

Referenced by add_child(), children(), has_child(), num_children(), operator=(), remove_child(), and resource().

◆ parent_

resource_ptr irods::resource::parent_
protected

Definition at line 90 of file irods_resource_plugin.hpp.

Referenced by get_parent(), operator=(), resource(), and set_parent().


The documentation for this class was generated from the following files: