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