26 std::unordered_map<int, Host::File> _openFiles;
29 template <
typename... Args>
31 : T(std::forward<Args>(args)...) {}
42 std::string resolvePath(
Session &session, std::string
const &path)
const;
45 ErrorCode onFileOpen(
Session &session, std::string
const &path,
46 OpenFlags flags, uint32_t mode,
int &fd)
override;
47 ErrorCode onFileClose(
Session &session,
int fd)
override;
48 ErrorCode onFileRead(
Session &session,
int fd, uint64_t &count,
49 uint64_t offset, ByteVector &buffer)
override;
50 ErrorCode onFileWrite(
Session &session,
int fd, uint64_t offset,
51 const ByteVector &buffer, uint64_t &nwritten)
override;
54 ErrorCode onFileCreateDirectory(
Session &session, std::string
const &path,
55 uint32_t mode)
override;
58 ErrorCode onFileExists(
Session &session, std::string
const &path)
override;
59 ErrorCode onFileGetSize(
Session &session, std::string
const &path,
60 uint64_t &size)
override;
61 ErrorCode onFileGetMode(
Session &session, std::string
const &path,
62 uint32_t &mode)
const override;
63 ErrorCode onFileFstat(
Session &session,
int fd, ByteVector &buffer)
const override;
64 ErrorCode onFileRemove(
Session &session, std::string
const &path)
override;
67 ErrorCode onFileSetPermissions(
Session &session, std::string
const &path,
68 uint32_t mode)
override;
69 ErrorCode onQueryModuleInfo(
Session &session, std::string &path,
76 virtual ErrorCode onGetCurrentTime(
Session &session, TimeValue &tv);
78 virtual ErrorCode onFileIsATTY(
Session &session,
int fd);
79 virtual ErrorCode onFileRename(
Session &session,
80 std::string
const &oldPath, std::string
const &newPath);
82 virtual ErrorCode onFileGetStat(
Session &session, std::string
const &path,
84 virtual ErrorCode onFileGetStat(
Session &session,
int fd,
87 virtual ErrorCode onFileSeek(
Session &session,
int fd,
88 int64_t offset,
int whence, int64_t &newOffset);