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::pluggable_rule_engine< T > Class Template Referencefinal

#include <irods_re_plugin.hpp>

Collaboration diagram for irods::pluggable_rule_engine< T >:
[legend]

Public Member Functions

 pluggable_rule_engine (const std::string &_in, const std::string &_context)
 
template<typename... types_t>
error add_operation (const std::string &_op, std::function< error(types_t...)> _f)
 
error start_operation (T &_in)
 
error stop_operation (T &_in)
 
error rule_exists (const std::string &_rn, T &_re_ctx, bool &_out)
 
error list_rules (T &_re_ctx, std::vector< std::string > &_rule_vec)
 
template<typename ... As>
error exec_rule (const std::string &_rn, T &_re_ctx, As &&... _ps, callback _callback)
 
error exec_rule_text (T &_re_ctx, const std::string &_rt, msParamArray_t *_ms_params, const std::string &_out_desc, callback _callback)
 
error exec_rule_expression (T &_re_ctx, const std::string &_rt, msParamArray_t *_ms_params, callback _callback)
 

Private Member Functions

error load_operation (void *handle, std::string _fcn, std::string _key)
 

Private Attributes

irods::lookup_table< boost::any > operations_
 
std::string instance_name_
 

Detailed Description

template<typename T>
class irods::pluggable_rule_engine< T >

Definition at line 169 of file irods_re_plugin.hpp.

Constructor & Destructor Documentation

◆ pluggable_rule_engine()

template<typename T >
irods::pluggable_rule_engine< T >::pluggable_rule_engine ( const std::string &  _in,
const std::string &  _context 
)
inline

Definition at line 172 of file irods_re_plugin.hpp.

Member Function Documentation

◆ add_operation()

template<typename T >
template<typename... types_t>
error irods::pluggable_rule_engine< T >::add_operation ( const std::string &  _op,
std::function< error(types_t...)>  _f 
)
inline

Definition at line 176 of file irods_re_plugin.hpp.

Referenced by plugin_factory().

◆ exec_rule()

template<typename T >
template<typename ... As>
error irods::pluggable_rule_engine< T >::exec_rule ( const std::string &  _rn,
T &  _re_ctx,
As &&...  _ps,
callback  _callback 
)
inline

Definition at line 226 of file irods_re_plugin.hpp.

◆ exec_rule_expression()

template<typename T >
error irods::pluggable_rule_engine< T >::exec_rule_expression ( T &  _re_ctx,
const std::string &  _rt,
msParamArray_t _ms_params,
callback  _callback 
)
inline

Definition at line 252 of file irods_re_plugin.hpp.

◆ exec_rule_text()

template<typename T >
error irods::pluggable_rule_engine< T >::exec_rule_text ( T &  _re_ctx,
const std::string &  _rt,
msParamArray_t _ms_params,
const std::string &  _out_desc,
callback  _callback 
)
inline

Definition at line 236 of file irods_re_plugin.hpp.

◆ list_rules()

template<typename T >
error irods::pluggable_rule_engine< T >::list_rules ( T &  _re_ctx,
std::vector< std::string > &  _rule_vec 
)
inline

Definition at line 216 of file irods_re_plugin.hpp.

◆ load_operation()

template<typename T >
error irods::pluggable_rule_engine< T >::load_operation ( void *  _handle,
std::string  _fcn,
std::string  _key 
)
private

Definition at line 726 of file irods_re_plugin.hpp.

References ERROR, and SUCCESS.

◆ rule_exists()

template<typename T >
error irods::pluggable_rule_engine< T >::rule_exists ( const std::string &  _rn,
T &  _re_ctx,
bool &  _out 
)
inline

Definition at line 207 of file irods_re_plugin.hpp.

◆ start_operation()

template<typename T >
error irods::pluggable_rule_engine< T >::start_operation ( T &  _in)
inline

Definition at line 189 of file irods_re_plugin.hpp.

◆ stop_operation()

template<typename T >
error irods::pluggable_rule_engine< T >::stop_operation ( T &  _in)
inline

Definition at line 198 of file irods_re_plugin.hpp.

Member Data Documentation

◆ instance_name_

◆ operations_


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