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

#include <apiHandler.hpp>

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

Public Member Functions

template<typename... types_t>
error add_operation (const std::string &_op, std::function< int(types_t...)> _f)
 
template<typename... types_t>
int call_handler (rsComm_t *_comm, types_t... _t)
 
 api_entry (apidef_t &)
 
 api_entry (const api_entry &)
 
api_entryoperator= (const api_entry &)
 
- 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 ()
 

Public Attributes

int apiNumber
 
char * apiVersion
 
int clientUserAuth
 
int proxyUserAuth
 
const char * inPackInstruct
 
int inBsFlag
 
const char * outPackInstruct
 
int outBsFlag
 
funcPtr call_wrapper
 
std::string in_pack_key
 
std::string out_pack_key
 
std::string in_pack_value
 
std::string out_pack_value
 
std::string operation_name
 
lookup_table< std::string > extra_pack_struct
 
std::function< void(void *)> clearInStruct
 

Private Types

using rule_engine_context_manager_type = rule_engine_context_manager< unit, ruleExecInfo_t *, AUDIT_RULE >
 

Additional Inherited Members

- 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

Definition at line 103 of file apiHandler.hpp.

Member Typedef Documentation

◆ rule_engine_context_manager_type

Constructor & Destructor Documentation

◆ api_entry() [1/2]

irods::api_entry::api_entry ( apidef_t _def)

◆ api_entry() [2/2]

irods::api_entry::api_entry ( const api_entry _rhs)

Definition at line 36 of file apiHandler.cpp.

Member Function Documentation

◆ add_operation()

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

=-=-=-=-=-=-=-

Description:\n adaptor from old api sig to new plugin sig

Definition at line 112 of file apiHandler.hpp.

References ERROR, operation_name, irods::plugin_base::operations_, SUCCESS, and SYS_INVALID_INPUT_PARAM.

◆ call_handler()

template<typename... types_t>
int irods::api_entry::call_handler ( rsComm_t _comm,
types_t...  _t 
)
inline

Definition at line 127 of file apiHandler.hpp.

References rsComm_t::clientUser, irods::error::code(), ERROR, error, irods::lookup_table< ValueType, KeyType, HashType >::has_entry(), int(), INVALID_ANY_CAST, irods::is_acceptable_error(), irods::log(), LOG_ERROR, irods::error::ok(), operation_name, irods::plugin_base::operations_, PASS, rsComm_t::proxyUser, irods::re_plugin_globals, rodsLog(), RuleExecInfo::rsComm, RULE_ENGINE_SKIP_OPERATION, SUCCESS, SYS_INVALID_INPUT_PARAM, RuleExecInfo::uoic, and RuleExecInfo::uoip.

Referenced by call_authCheckInp_authCheckOut(), call_authPluginReqInp_authPluginReqOut(), call_authRequestOut(), call_authResponseInp(), call_bulkOprInp_bytesBufOut(), call_bytesBufOut(), call_chkObjPermAndStat(), call_collInp(), call_collInp_collOprStatOut(), call_dataCopyInp(), call_dataObjCopyInp(), call_dataObjCopyInp_transferStatOut(), call_dataObjInfoInp_dataObjInfoOut(), call_dataObjInp(), call_dataObjInp_bytesBufInp_portalOprOut(), call_dataObjInp_charOut(), call_dataObjInp_genQueryOut(), call_dataObjInp_msParamArrayOut(), call_dataObjInp_openStatOut(), call_dataObjInp_portalOprOut_bytesBufOut(), call_dataObjInp_rodsHostAddrOut(), call_dataObjInp_rodsObjStatOut(), call_dataObjInp_transferStatOut(), call_dataOprInp_portalOprOut(), call_endTransactionInp(), call_execCmdInp_execCmdOut(), call_execMyRuleInp_msParamArrayOut(), call_execRuleExpressionInp(), call_fileChksumInp_charOut(), call_fileChmodInp(), call_fileClosedirInp(), call_fileCloseInp(), call_fileCreateInp_fileCreateOut(), call_fileGetFreespaceInp_fileGetFreespaceOut(), call_fileLseekInp_fileLseekOut(), call_fileMkdirInp(), call_fileOpendirInp(), call_fileOpenInp(), call_fileOpenInp_bytesBufInp_filePutOut(), call_fileOpenInp_bytesBufOut(), call_fileReaddirInp_rodsDirentOut(), call_fileReadInp(), call_fileReadInp_bytesBufOut(), call_fileRenameInp_fileRenameOut(), call_fileRmdirInp(), call_fileStageSyncInp(), call_fileStageSyncInp_fileSyncOut(), call_fileStatInp_rodsStatOut(), call_fileUnlinkInp(), call_fileWriteInp_bytesBufInp(), call_generalAdminInp(), call_generalRowInserInp(), call_generalRowPurgeInp(), call_generalUpdateInp(), call_genQueryInp_genQueryOut(), call_genQueryOutOut_genQueryOut(), call_get_hier_inp_get_hier_out(), call_getHierarchyForRescInp_getHierarchyForRescOut(), call_getLimitedPasswordInp_getLimitedPasswordOut(), call_getRescQuotaInp_rescQuotaOut(), call_getTempPasswordForOtherInp_getTempPasswordForOtherOut(), call_getTempPasswordOut(), call_getXmsgTicketInp_xmsgTicketInfoOut(), call_helloInp_helloOut(), call_intInp_bytesBufOut(), call_intp(), call_intp_collEntOut(), call_miscSvrInfo_out(), call_modAccessControlInp(), call_modAVUMetadataInp(), call_modDataObjMetaInp(), call_openedDataObjInp(), call_openedDataObjInp_bytesBufOut(), call_openedDataObjInp_fileLseekOut(), call_pamAuthRequestInp_pamAuthRequestOut(), call_procStatInp_genQueryOut(), call_rcvXmsgInp_rcvXmsgOut(), call_regReplicaInp(), call_ruleExecDelInp(), call_ruleExecModInp(), call_ruleExecSubmitInp_charOut(), call_sendXmsgInp(), call_setRoundRobinContextInp(), call_simpleQueryInp_simpleQueryOut(), call_specificQueryInp_genQueryOut(), call_sslEndInp(), call_sslStartInp(), call_structFileExtAndRegInp(), call_structFileOprInp(), call_subFileInp(), call_subFileInp_bytesBufOut(), call_subFileInp_rodsStatOut(), call_subStructFileFdOprInp(), call_subStructFileFdOprInp_bytesBufOut(), call_subStructFileFdOprInp_rodsDirentOut(), call_subStructFileLseekInp_fileLseekOut(), call_subStructFileRenameInp(), call_ticketAdminInp(), call_unregDataObjInp(), and call_userAdminInp().

Here is the call graph for this function:

◆ operator=()

api_entry & irods::api_entry::operator= ( const api_entry _rhs)

Definition at line 59 of file apiHandler.cpp.

References apiNumber, apiVersion, clientUserAuth, inBsFlag, inPackInstruct, irods::plugin_base::operator=(), outBsFlag, outPackInstruct, and proxyUserAuth.

Here is the call graph for this function:

Member Data Documentation

◆ apiNumber

int irods::api_entry::apiNumber

Definition at line 265 of file apiHandler.hpp.

Referenced by operator=().

◆ apiVersion

char* irods::api_entry::apiVersion

Definition at line 266 of file apiHandler.hpp.

Referenced by operator=().

◆ call_wrapper

funcPtr irods::api_entry::call_wrapper

Definition at line 282 of file apiHandler.hpp.

◆ clearInStruct

std::function<void( void* )> irods::api_entry::clearInStruct

Definition at line 291 of file apiHandler.hpp.

◆ clientUserAuth

int irods::api_entry::clientUserAuth

Definition at line 267 of file apiHandler.hpp.

Referenced by operator=().

◆ extra_pack_struct

lookup_table< std::string> irods::api_entry::extra_pack_struct

Definition at line 289 of file apiHandler.hpp.

Referenced by plugin_factory().

◆ in_pack_key

std::string irods::api_entry::in_pack_key

Definition at line 283 of file apiHandler.hpp.

Referenced by plugin_factory().

◆ in_pack_value

std::string irods::api_entry::in_pack_value

Definition at line 285 of file apiHandler.hpp.

Referenced by plugin_factory().

◆ inBsFlag

int irods::api_entry::inBsFlag

Definition at line 274 of file apiHandler.hpp.

Referenced by operator=().

◆ inPackInstruct

const char* irods::api_entry::inPackInstruct

Definition at line 272 of file apiHandler.hpp.

Referenced by operator=().

◆ operation_name

std::string irods::api_entry::operation_name

Definition at line 287 of file apiHandler.hpp.

Referenced by add_operation(), and call_handler().

◆ out_pack_key

std::string irods::api_entry::out_pack_key

Definition at line 284 of file apiHandler.hpp.

Referenced by plugin_factory().

◆ out_pack_value

std::string irods::api_entry::out_pack_value

Definition at line 286 of file apiHandler.hpp.

Referenced by plugin_factory().

◆ outBsFlag

int irods::api_entry::outBsFlag

Definition at line 279 of file apiHandler.hpp.

Referenced by operator=().

◆ outPackInstruct

const char* irods::api_entry::outPackInstruct

Definition at line 277 of file apiHandler.hpp.

Referenced by operator=().

◆ proxyUserAuth

int irods::api_entry::proxyUserAuth

Definition at line 271 of file apiHandler.hpp.

Referenced by operator=().


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