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::experimental::filesystem::client Namespace Reference

Classes

class  collection_iterator
 
class  recursive_collection_iterator
 

Enumerations

enum  collection_options { collection_options::none, collection_options::skip_permission_denied }
 

Functions

auto begin (collection_iterator _iter) noexcept -> collection_iterator
 
auto end (const collection_iterator &) noexcept -> const collection_iterator
 
auto copy (rcComm_t &_comm, const path &_from, const path &_to, copy_options _options=copy_options::none) -> void
 
auto copy_data_object (rcComm_t &_comm, const path &_from, const path &_to, copy_options _options=copy_options::none) -> bool
 
auto create_collection (rcComm_t &_comm, const path &_p) -> bool
 
auto create_collection (rcComm_t &_comm, const path &_p, const path &_existing_p) -> bool
 
auto create_collections (rcComm_t &_comm, const path &_p) -> bool
 
auto exists (object_status _s) noexcept -> bool
 
auto exists (rcComm_t &_comm, const path &_p) -> bool
 
auto equivalent (rcComm_t &_comm, const path &_p1, const path &_p2) -> bool
 
auto data_object_size (rcComm_t &_comm, const path &_p) -> std::uintmax_t
 
auto is_collection (object_status _s) noexcept -> bool
 
auto is_collection (rcComm_t &_comm, const path &_p) -> bool
 
auto is_empty (rcComm_t &_comm, const path &_p) -> bool
 
auto is_other (object_status _s) noexcept -> bool
 
auto is_other (rcComm_t &_comm, const path &_p) -> bool
 
auto is_data_object (object_status _s) noexcept -> bool
 
auto is_data_object (rcComm_t &_comm, const path &_p) -> bool
 
auto last_write_time (rcComm_t &_comm, const path &_p) -> object_time_type
 
auto last_write_time (rcComm_t &_comm, const path &_p, object_time_type _new_time) -> void
 
auto remove (rcComm_t &_comm, const path &_p, remove_options _opts=remove_options::none) -> bool
 
auto remove_all (rcComm_t &_comm, const path &_p, remove_options _opts=remove_options::none) -> std::uintmax_t
 
auto permissions (rcComm_t &_comm, const path &_p, const std::string &_user_or_group, perms _prms) -> void
 
auto rename (rcComm_t &_comm, const path &_from, const path &_to) -> void
 
auto status (rcComm_t &_comm, const path &_p) -> object_status
 
auto status_known (object_status _s) noexcept -> bool
 
auto data_object_checksum (rcComm_t &_comm, const path &_path, const boost::variant< int, replica_number > &_replica_number, verification_calculation _calculation=verification_calculation::none) -> std::vector< checksum >
 
auto get_metadata (rcComm_t &_comm, const path &_path) -> std::vector< metadata >
 
auto set_metadata (rcComm_t &_comm, const path &_path, const metadata &_metadata) -> void
 
auto add_metadata (rcComm_t &_comm, const path &_path, const metadata &_metadata) -> void
 
template<typename Iterator >
auto add_metadata (rcComm_t &_comm, const path &_path, Iterator _first, Iterator _last) -> void
 
template<typename Container , typename = decltype(std::begin(std::declval<Container>())), typename = std::enable_if_t<std::is_same_v<std::decay_t<typename Container::value_type>, metadata>>>
auto add_metadata (rcComm_t &_comm, const path &_path, const Container &_container) -> void
 
auto remove_metadata (rcComm_t &_comm, const path &_path, const metadata &_metadata) -> void
 
template<typename Iterator >
auto remove_metadata (rcComm_t &_comm, const path &_path, Iterator _first, Iterator _last) -> void
 
template<typename Container , typename = decltype(std::begin(std::declval<Container>())), typename = std::enable_if_t<std::is_same_v<std::decay_t<typename Container::value_type>, metadata>>>
auto remove_metadata (rcComm_t &_comm, const path &_path, const Container &_container) -> void
 
auto begin (recursive_collection_iterator _iter) noexcept -> recursive_collection_iterator
 
auto end (const recursive_collection_iterator &) noexcept -> const recursive_collection_iterator
 
auto move (rcComm_t &_comm, const path &_old_p, const path &_new_p) -> void
 

Enumeration Type Documentation

◆ collection_options

Enumerator
none 
skip_permission_denied 

Definition at line 16 of file collection_iterator.hpp.

Function Documentation

◆ add_metadata() [1/3]

template<typename Container , typename = decltype(std::begin(std::declval<Container>())), typename = std::enable_if_t<std::is_same_v<std::decay_t<typename Container::value_type>, metadata>>>
auto irods::experimental::filesystem::client::add_metadata ( rcComm_t _comm,
const path _path,
const Container &  _container 
) -> void

◆ add_metadata() [2/3]

auto irods::experimental::filesystem::client::add_metadata ( rcComm_t _comm,
const path _p,
const metadata _metadata 
) -> void

Definition at line 1062 of file filesystem.cpp.

◆ add_metadata() [3/3]

template<typename Iterator >
auto irods::experimental::filesystem::client::add_metadata ( rcComm_t _comm,
const path _path,
Iterator  _first,
Iterator  _last 
) -> void

◆ begin() [1/2]

◆ begin() [2/2]

auto irods::experimental::filesystem::client::begin ( recursive_collection_iterator  _iter) -> recursive_collection_iterator
inlinenoexcept

Definition at line 81 of file recursive_collection_iterator.hpp.

◆ copy()

◆ copy_data_object()

auto irods::experimental::filesystem::client::copy_data_object ( rcComm_t _comm,
const path _from,
const path _to,
copy_options  _options = copy_options::none 
) -> bool

◆ create_collection() [1/2]

auto irods::experimental::filesystem::client::create_collection ( rcComm_t _comm,
const path _p 
) -> bool

Definition at line 479 of file filesystem.cpp.

References irods::experimental::administration::client::v1::exists(), irods::experimental::filesystem::detail::make_error_code(), OBJ_PATH_DOES_NOT_EXIST, rxCollCreate, and irods::experimental::filesystem::detail::throw_if_path_length_exceeds_limit().

Referenced by copy(), and create_collection().

Here is the call graph for this function:

◆ create_collection() [2/2]

auto irods::experimental::filesystem::client::create_collection ( rcComm_t _comm,
const path _p,
const path _existing_p 
) -> bool

Definition at line 503 of file filesystem.cpp.

References create_collection(), INVALID_OBJECT_TYPE, is_collection(), irods::experimental::filesystem::detail::make_error_code(), pid_age::p, permissions(), irods.pypyodbc::status, SYS_INVALID_INPUT_PARAM, and irods::experimental::filesystem::detail::throw_if_path_length_exceeds_limit().

Here is the call graph for this function:

◆ create_collections()

auto irods::experimental::filesystem::client::create_collections ( rcComm_t _comm,
const path _p 
) -> bool

Definition at line 527 of file filesystem.cpp.

References addKeyVal(), irods::experimental::administration::client::v1::exists(), RECURSIVE_OPR__KW, rxCollCreate, and irods::experimental::filesystem::detail::throw_if_path_length_exceeds_limit().

Here is the call graph for this function:

◆ data_object_checksum()

auto irods::experimental::filesystem::client::data_object_checksum ( rcComm_t _comm,
const path _p,
const boost::variant< int, replica_number > &  _replica_number,
verification_calculation  _calculation = verification_calculation::none 
) -> std::vector<checksum>

◆ data_object_size()

auto irods::experimental::filesystem::client::data_object_size ( rcComm_t _comm,
const path _p 
) -> std::uintmax_t

Definition at line 581 of file filesystem.cpp.

References DATA_OBJ_T, irods::experimental::filesystem::detail::make_error_code(), OBJ_PATH_DOES_NOT_EXIST, and UNKNOWN_OBJ_T.

Referenced by is_empty().

Here is the call graph for this function:

◆ end() [1/2]

auto irods::experimental::filesystem::client::end ( const collection_iterator ) -> const collection_iterator
inlinenoexcept

Definition at line 88 of file collection_iterator.hpp.

Referenced by _addChildToResource(), _rsDataObjRepl(), apiTableLookup(), irods::rule_engine_manager< default_re_ctx, RuleExecInfo >::call_start_operations(), irods::rule_engine_manager< default_re_ctx, RuleExecInfo >::call_stop_operations(), irods::experimental::filesystem::path::compare(), irods::client_api_whitelist::contains(), irods::control(), irods::configuration_parser::convert_json(), irods::stacktrace::dump(), escape_path(), irods::default_microservice_manager< default_ms_ctx >::exec_microservice_adapter(), exec_rule(), irods::resource_manager::gather_leaf_bundles_for_resc(), get_coordinating_resources(), get_open_socket_file_descriptors(), has_prefix(), irods::experimental::filesystem::hash_value(), irods::is_continuation_code(), irods::api_entry_table::is_plugin_loaded(), irods::experimental::filesystem::path::lexically_relative(), irods::rule_engine_context_manager< T, C, DONT_AUDIT_RULE >::list_rules(), irods::experimental::filesystem::path::operator=(), operator==(), irods::experimental::filesystem::path::path(), putDirUtil(), remove_trailing_path_separators(), irods::rule_engine_plugin_manager< default_re_ctx >::resolve(), irods::rule_engine_manager< default_re_ctx, RuleExecInfo >::rule_engine_manager(), irods::experimental::io::client::basic_transport< CharT >::seek_to_end_if_required(), irods::experimental::io::client::basic_transport< CharT >::seekpos(), irods::var_arg_to_list(), irods::lookup_table< resource_ptr >::~lookup_table(), and irods::rule_engine_plugin_manager< default_re_ctx >::~rule_engine_plugin_manager().

◆ end() [2/2]

auto irods::experimental::filesystem::client::end ( const recursive_collection_iterator ) -> const recursive_collection_iterator
inlinenoexcept

Definition at line 86 of file recursive_collection_iterator.hpp.

◆ equivalent()

auto irods::experimental::filesystem::client::equivalent ( rcComm_t _comm,
const path _p1,
const path _p2 
) -> bool

Definition at line 552 of file filesystem.cpp.

References irods::experimental::filesystem::detail::make_error_code(), OBJ_PATH_DOES_NOT_EXIST, SYS_INVALID_INPUT_PARAM, and UNKNOWN_OBJ_T.

Referenced by copy(), copy_data_object(), and rename().

Here is the call graph for this function:

◆ exists() [1/2]

auto irods::experimental::filesystem::client::exists ( object_status  _s) -> bool
noexcept

Definition at line 542 of file filesystem.cpp.

References status_known().

Here is the call graph for this function:

◆ exists() [2/2]

auto irods::experimental::filesystem::client::exists ( rcComm_t _comm,
const path _p 
) -> bool

Definition at line 547 of file filesystem.cpp.

References irods::experimental::administration::client::v1::exists(), and irods.pypyodbc::status.

Here is the call graph for this function:

◆ get_metadata()

auto irods::experimental::filesystem::client::get_metadata ( rcComm_t _comm,
const path _p 
) -> std::vector<metadata>

◆ is_collection() [1/2]

auto irods::experimental::filesystem::client::is_collection ( object_status  _s) -> bool
noexcept

◆ is_collection() [2/2]

auto irods::experimental::filesystem::client::is_collection ( rcComm_t _comm,
const path _p 
) -> bool

Definition at line 605 of file filesystem.cpp.

References is_collection(), and irods.pypyodbc::status.

Here is the call graph for this function:

◆ is_data_object() [1/2]

◆ is_data_object() [2/2]

auto irods::experimental::filesystem::client::is_data_object ( rcComm_t _comm,
const path _p 
) -> bool

Definition at line 640 of file filesystem.cpp.

References is_data_object(), and irods.pypyodbc::status.

Here is the call graph for this function:

◆ is_empty()

auto irods::experimental::filesystem::client::is_empty ( rcComm_t _comm,
const path _p 
) -> bool

Definition at line 610 of file filesystem.cpp.

References CAT_NOT_A_DATAOBJ_AND_NOT_A_COLLECTION, data_object_size(), is_collection(), is_data_object(), irods::experimental::filesystem::detail::make_error_code(), and irods.pypyodbc::status.

Referenced by irods::experimental::filesystem::client::recursive_collection_iterator::operator++(), and rmdirCollUtil().

Here is the call graph for this function:

◆ is_other() [1/2]

auto irods::experimental::filesystem::client::is_other ( object_status  _s) -> bool
noexcept

◆ is_other() [2/2]

auto irods::experimental::filesystem::client::is_other ( rcComm_t _comm,
const path _p 
) -> bool

Definition at line 630 of file filesystem.cpp.

References is_other(), and irods.pypyodbc::status.

Here is the call graph for this function:

◆ last_write_time() [1/2]

auto irods::experimental::filesystem::client::last_write_time ( rcComm_t _comm,
const path _p 
) -> object_time_type

Definition at line 645 of file filesystem.cpp.

References irods::experimental::filesystem::detail::make_error_code(), and UNKNOWN_OBJ_T.

Referenced by copy_data_object(), getModifiedTime(), rsyncDirToCollUtil(), and write_file_to_archive().

Here is the call graph for this function:

◆ last_write_time() [2/2]

auto irods::experimental::filesystem::client::last_write_time ( rcComm_t _comm,
const path _p,
object_time_type  _new_time 
) -> void

◆ move()

◆ permissions()

auto irods::experimental::filesystem::client::permissions ( rcComm_t _comm,
const path _p,
const std::string &  _user_or_group,
perms  _prms 
) -> void

◆ remove()

auto irods::experimental::filesystem::client::remove ( rcComm_t _comm,
const path _p,
remove_options  _opts = remove_options::none 
) -> bool

◆ remove_all()

auto irods::experimental::filesystem::client::remove_all ( rcComm_t _comm,
const path _p,
remove_options  _opts = remove_options::none 
) -> std::uintmax_t

Definition at line 706 of file filesystem.cpp.

References irods::experimental::query_builder::build(), irods::experimental::filesystem::no_trash, no_trash, recursive, and irods::experimental::query_builder::zone_hint().

Here is the call graph for this function:

◆ remove_metadata() [1/3]

template<typename Container , typename = decltype(std::begin(std::declval<Container>())), typename = std::enable_if_t<std::is_same_v<std::decay_t<typename Container::value_type>, metadata>>>
auto irods::experimental::filesystem::client::remove_metadata ( rcComm_t _comm,
const path _path,
const Container &  _container 
) -> void

◆ remove_metadata() [2/3]

auto irods::experimental::filesystem::client::remove_metadata ( rcComm_t _comm,
const path _p,
const metadata _metadata 
) -> void

Definition at line 1067 of file filesystem.cpp.

◆ remove_metadata() [3/3]

template<typename Iterator >
auto irods::experimental::filesystem::client::remove_metadata ( rcComm_t _comm,
const path _path,
Iterator  _first,
Iterator  _last 
) -> void

◆ rename()

◆ set_metadata()

auto irods::experimental::filesystem::client::set_metadata ( rcComm_t _comm,
const path _p,
const metadata _metadata 
) -> void

Definition at line 1057 of file filesystem.cpp.

◆ status()

auto irods::experimental::filesystem::client::status ( rcComm_t _comm,
const path _p 
) -> object_status

Definition at line 963 of file filesystem.cpp.

References COLL_OBJ_T, irods::experimental::filesystem::collection, DATA_OBJ_T, irods::experimental::filesystem::data_object, irods::experimental::filesystem::detail::make_error_code(), irods.pypyodbc::status, and UNKNOWN_OBJ_T.

Here is the call graph for this function:

◆ status_known()

auto irods::experimental::filesystem::client::status_known ( object_status  _s) -> bool
noexcept

Definition at line 1007 of file filesystem.cpp.

Referenced by exists().