21 #ifndef XRDCLHTTP_FILESYSTEM_HH
22 #define XRDCLHTTP_FILESYSTEM_HH
32 #include <shared_mutex>
34 #include <unordered_map>
55 XrdCl::DirListFlags::Flags flags,
56 XrdCl::ResponseHandler *handler,
57 time_t timeout) override;
60 std::
string &value) const override;
63 XrdCl::OpenFlags::Flags flags,
64 XrdCl::ResponseHandler *handler,
65 time_t timeout) override;
67 virtual
XrdCl::XRootDStatus
MkDir(const std::
string &path,
68 XrdCl::MkDirFlags::Flags flags,
70 XrdCl::ResponseHandler *handler,
71 time_t timeout) override;
73 virtual
XrdCl::XRootDStatus
Rm(const std::
string &path,
74 XrdCl::ResponseHandler *handler,
75 time_t timeout) override;
77 virtual
XrdCl::XRootDStatus
RmDir(const std::
string &path,
78 XrdCl::ResponseHandler *handler,
79 time_t timeout) override;
82 const std::
string &value) override;
84 virtual
XrdCl::XRootDStatus
Stat(const std::
string &path,
85 XrdCl::ResponseHandler *handler,
86 time_t timeout) override;
89 const
XrdCl::Buffer &arg,
90 XrdCl::ResponseHandler *handler,
91 time_t timeout) override;
101 bool SendResponseInfo() const;
106 std::
string GetCurrentURL(const std::
string &path) const;
109 mutable std::shared_mutex m_properties_mutex;
115 std::unordered_map<std::string, std::string> m_properties;
virtual XrdCl::XRootDStatus Stat(const std::string &path, 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 Query(XrdCl::QueryCode::Code queryCode, const XrdCl::Buffer &arg, XrdCl::ResponseHandler *handler, time_t timeout) override
virtual XrdCl::XRootDStatus Locate(const std::string &path, XrdCl::OpenFlags::Flags flags, XrdCl::ResponseHandler *handler, time_t timeout) override
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
XrdCl::XRootDStatus DirList(const std::string &path, XrdCl::DirListFlags::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 ~Filesystem() noexcept
virtual bool GetProperty(const std::string &name, std::string &value) const override
Filesystem(const std::string &, std::shared_ptr< HandlerQueue > queue, XrdCl::Log *log)
An interface for file plug-ins.
ConnectionCallout *(*)(const std::string &, const ResponseInfo &) CreateConnCalloutType