21#ifndef XRDCLHTTP_FILESYSTEM_HH
22#define XRDCLHTTP_FILESYSTEM_HH
33#include <shared_mutex>
35#include <unordered_map>
62 time_t timeout)
override;
65 std::string &value)
const override;
70 time_t timeout)
override;
76 time_t timeout)
override;
79 const std::vector<std::string> &fileList,
83 time_t timeout)
override;
87 time_t timeout)
override;
91 time_t timeout)
override;
94 const std::string &value)
override;
98 time_t timeout)
override;
103 time_t timeout)
override;
106 const std::string &dest,
109 time_t timeout = 0 )
override;
113 std::unique_ptr<CurlOperation> operation,
114 const char *description);
123 bool SendResponseInfo()
const;
128 std::string GetCurrentURL(
const std::string &path)
const;
131 mutable std::shared_mutex m_properties_mutex;
133 std::shared_ptr<HandlerQueue> m_queue;
134 std::atomic<XrdClHttp::HeaderCallout *> m_header_callout{};
137 std::unordered_map<std::string, std::string> m_properties;
virtual XrdCl::XRootDStatus MkDir(const std::string &path, XrdCl::MkDirFlags::Flags flags, XrdCl::Access::Mode mode, XrdCl::ResponseHandler *handler, time_t timeout) override
virtual bool SetProperty(const std::string &name, const std::string &value) override
virtual XrdCl::XRootDStatus Prepare(const std::vector< std::string > &fileList, XrdCl::PrepareFlags::Flags flags, uint8_t priority, XrdCl::ResponseHandler *handler, time_t timeout) override
XrdCl::XRootDStatus DirList(const std::string &path, XrdCl::DirListFlags::Flags flags, XrdCl::ResponseHandler *handler, time_t timeout) override
virtual XrdCl::XRootDStatus Rm(const std::string &path, XrdCl::ResponseHandler *handler, time_t timeout) override
virtual XrdCl::XRootDStatus Stat(const std::string &path, XrdCl::ResponseHandler *handler, time_t timeout) override
virtual XrdCl::XRootDStatus ThirdPartyCopy(const std::string &source, const std::string &dest, const XrdCl::PropertyList *properties, XrdCl::ProgressHandler *progress_handler, time_t timeout=0) override
virtual XrdCl::XRootDStatus Locate(const std::string &path, XrdCl::OpenFlags::Flags flags, XrdCl::ResponseHandler *handler, time_t timeout) override
virtual XrdCl::XRootDStatus RmDir(const std::string &path, XrdCl::ResponseHandler *handler, time_t timeout) override
virtual bool GetProperty(const std::string &name, std::string &value) const override
virtual XrdCl::XRootDStatus Query(XrdCl::QueryCode::Code queryCode, const XrdCl::Buffer &arg, XrdCl::ResponseHandler *handler, time_t timeout) override
Filesystem(const std::string &, std::shared_ptr< HandlerQueue > queue, XrdCl::Log *log)
Binary blob representation.
An interface for file plug-ins.
Handle the progress of an asynchronous operation.
A key-value pair map storing both keys and values as strings.
Handle an async response.
ConnectionCallout *(*)(const std::string &, const ResponseInfo &) CreateConnCalloutType
Flags
Open flags, may be or'd when appropriate.
Code
XRootD query request codes.