#include #include #include #include PreloadContext::PreloadContext(): ofm_(std::make_shared()), fs_conf_(std::make_shared()) {} void PreloadContext::log(std::shared_ptr logger) { log_ = logger; } std::shared_ptr PreloadContext::log() const { return log_; } void PreloadContext::mountdir(const std::string& path) { assert(is_absolute_path(path)); mountdir_ = path; } std::string PreloadContext::mountdir() const { return mountdir_; } void PreloadContext::daemon_addr_str(const std::string& addr) { assert(!addr.empty()); daemon_addr_str_ = addr; } const std::string& PreloadContext::daemon_addr_str() const { assert(!daemon_addr_str_.empty()); return daemon_addr_str_; } void PreloadContext::cwd(const std::string& path) { cwd_ = path; } std::string PreloadContext::cwd() const { return cwd_; } bool PreloadContext::relativize_path(std::string& path) const { // Relativize path should be called only after the library constructor has been executed assert(initialized_); // If we run the constructor we also already setup the mountdir assert(!mountdir_.empty()); if(!is_absolute_path(path)) { /* We don't support path resolution at the moment * thus we don't know how to handle relative path */ return false; } path = path_to_relative(mountdir_, path); return !path.empty(); } const std::shared_ptr& PreloadContext::file_map() const { return ofm_; } void PreloadContext::distributor(std::shared_ptr d) { distributor_ = d; } std::shared_ptr PreloadContext::distributor() const { return distributor_; } const std::shared_ptr& PreloadContext::fs_conf() const { return fs_conf_; } void PreloadContext::initialized(const bool& flag) { initialized_ = flag; } bool PreloadContext::initialized() const { return initialized_; }