xrootd
HttpFileSystemPlugIn.hh
Go to the documentation of this file.
1 
5 #ifndef __HTTP_FILE_SYSTEM_PLUG_IN_
6 #define __HTTP_FILE_SYSTEM_PLUG_IN_
7 
8 #include "davix.hpp"
9 
11 #include "XrdCl/XrdClURL.hh"
12 
13 #include <unordered_map>
14 
15 namespace XrdCl {
16 class Log;
17 
19  public:
20  HttpFileSystemPlugIn(const std::string &url);
21  virtual ~HttpFileSystemPlugIn() noexcept = default;
22 
23  virtual XRootDStatus Mv(const std::string &source, const std::string &dest,
24  ResponseHandler *handler, uint16_t timeout) override;
25 
26  virtual XRootDStatus Rm(const std::string &path, ResponseHandler *handler,
27  uint16_t timeout) override;
28 
29  virtual XRootDStatus MkDir(const std::string &path, MkDirFlags::Flags flags,
30  Access::Mode mode, ResponseHandler *handler,
31  uint16_t timeout) override;
32 
33  virtual XRootDStatus RmDir(const std::string &path, ResponseHandler *handler,
34  uint16_t timeout) override;
35 
36  virtual XRootDStatus DirList(const std::string &path,
37  DirListFlags::Flags flags,
38  ResponseHandler *handler,
39  uint16_t timeout) override;
40 
41  virtual XRootDStatus Stat(const std::string &path, ResponseHandler *handler,
42  uint16_t timeout) override;
43 
44  virtual bool SetProperty(const std::string &name,
45  const std::string &value) override;
46 
47  virtual bool GetProperty(const std::string &name,
48  std::string &value) const override;
49 
50  private:
51  Davix::Context ctx_;
52  Davix::DavPosix davix_client_;
53 
55 
56  std::unordered_map<std::string, std::string> properties_;
57 
59 };
60 } // namespace XrdCl
61 
62 #endif // __HTTP_FILE_SYSTEM_PLUG_IN_
Log * logger_
Definition: HttpFileSystemPlugIn.hh:58
virtual ~HttpFileSystemPlugIn() noexcept=default
virtual XRootDStatus MkDir(const std::string &path, MkDirFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout) override
Davix::DavPosix davix_client_
Definition: HttpFileSystemPlugIn.hh:52
HttpFileSystemPlugIn(const std::string &url)
virtual XRootDStatus Stat(const std::string &path, ResponseHandler *handler, uint16_t timeout) override
virtual XRootDStatus Mv(const std::string &source, const std::string &dest, ResponseHandler *handler, uint16_t timeout) override
Flags
Definition: XrdClFileSystem.hh:142
std::unordered_map< std::string, std::string > properties_
Definition: HttpFileSystemPlugIn.hh:56
Request status.
Definition: XrdClXRootDResponses.hh:218
Definition: XrdClAnyObject.hh:25
virtual bool GetProperty(const std::string &name, std::string &value) const override
virtual XRootDStatus RmDir(const std::string &path, ResponseHandler *handler, uint16_t timeout) override
Davix::Context ctx_
Definition: HttpFileSystemPlugIn.hh:51
Handle an async response.
Definition: XrdClXRootDResponses.hh:1040
virtual bool SetProperty(const std::string &name, const std::string &value) override
URL representation.
Definition: XrdClURL.hh:30
Definition: HttpFileSystemPlugIn.hh:18
Flags
Definition: XrdClFileSystem.hh:155
Mode
Access mode.
Definition: XrdClFileSystem.hh:121
virtual XRootDStatus Rm(const std::string &path, ResponseHandler *handler, uint16_t timeout) override
virtual XRootDStatus DirList(const std::string &path, DirListFlags::Flags flags, ResponseHandler *handler, uint16_t timeout) override
URL url_
Definition: HttpFileSystemPlugIn.hh:54
An interface for file plug-ins.
Definition: XrdClPlugInInterface.hh:283
Handle diagnostics.
Definition: XrdClLog.hh:102