xrootd
XrdClHttpFileSystemPlugIn.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;
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_
DirList operation (.
Definition: XrdClFileSystemOperations.hh:706
An interface for file plug-ins.
Definition: XrdClPlugInInterface.hh:284
Definition: XrdClHttpFileSystemPlugIn.hh:18
virtual XRootDStatus Stat(const std::string &path, ResponseHandler *handler, uint16_t timeout) override
virtual bool GetProperty(const std::string &name, std::string &value) const override
virtual ~HttpFileSystemPlugIn() noexcept
std::unordered_map< std::string, std::string > properties_
Definition: XrdClHttpFileSystemPlugIn.hh:56
Davix::DavPosix * davix_client_
Definition: XrdClHttpFileSystemPlugIn.hh:52
Davix::Context * ctx_
Definition: XrdClHttpFileSystemPlugIn.hh:51
virtual bool SetProperty(const std::string &name, const std::string &value) override
Log * logger_
Definition: XrdClHttpFileSystemPlugIn.hh:58
HttpFileSystemPlugIn(const std::string &url)
URL url_
Definition: XrdClHttpFileSystemPlugIn.hh:54
Handle diagnostics.
Definition: XrdClLog.hh:101
MkDir operation (.
Definition: XrdClFileSystemOperations.hh:386
Mv operation (.
Definition: XrdClFileSystemOperations.hh:192
Handle an async response.
Definition: XrdClXRootDResponses.hh:1126
RmDir operation (.
Definition: XrdClFileSystemOperations.hh:435
Rm operation (.
Definition: XrdClFileSystemOperations.hh:340
URL representation.
Definition: XrdClURL.hh:31
Request status.
Definition: XrdClXRootDResponses.hh:219
Definition: XrdClAction.hh:34
Definition: XrdOucJson.hh:4517
Access mode.
Definition: XrdClFileSystem.hh:117
DirList flags.
Definition: XrdClFileSystem.hh:154
MkDir flags.
Definition: XrdClFileSystem.hh:141