diff --git a/repertory/librepertory/include/drives/winfsp/remotewinfsp/i_remote_instance.hpp b/repertory/librepertory/include/drives/winfsp/remotewinfsp/i_remote_instance.hpp index 03c78ab5..819e0098 100644 --- a/repertory/librepertory/include/drives/winfsp/remotewinfsp/i_remote_instance.hpp +++ b/repertory/librepertory/include/drives/winfsp/remotewinfsp/i_remote_instance.hpp @@ -29,87 +29,92 @@ class i_remote_instance : public virtual i_remote_json { INTERFACE_SETUP(i_remote_instance); public: - virtual auto winfsp_can_delete(PVOID file_desc, PWSTR file_name) + [[nodiscard]] virtual auto winfsp_can_delete(PVOID file_desc, PWSTR file_name) -> packet::error_type = 0; - virtual auto winfsp_cleanup(PVOID file_desc, PWSTR file_name, UINT32 flags, - BOOLEAN &was_deleted) -> packet::error_type = 0; - - virtual auto winfsp_close(PVOID file_desc) -> packet::error_type = 0; - - virtual auto winfsp_create(PWSTR file_name, UINT32 create_options, - UINT32 granted_access, UINT32 file_attributes, - UINT64 allocation_size, PVOID *file_desc, - remote::file_info *file_info, - std::string &normalized_name, BOOLEAN &exists) + [[nodiscard]] virtual auto winfsp_cleanup(PVOID file_desc, PWSTR file_name, + UINT32 flags, BOOLEAN &was_deleted) -> packet::error_type = 0; - virtual auto winfsp_flush(PVOID file_desc, remote::file_info *file_info) + [[nodiscard]] virtual auto winfsp_close(PVOID file_desc) -> packet::error_type = 0; - virtual auto winfsp_get_dir_buffer(PVOID file_desc, PVOID *&ptr) + [[nodiscard]] virtual auto + winfsp_create(PWSTR file_name, UINT32 create_options, UINT32 granted_access, + UINT32 file_attributes, UINT64 allocation_size, + PVOID *file_desc, remote::file_info *file_info, + std::string &normalized_name, BOOLEAN &exists) -> packet::error_type = 0; - virtual auto winfsp_get_file_info(PVOID file_desc, - remote::file_info *file_info) + [[nodiscard]] virtual auto winfsp_flush(PVOID file_desc, + remote::file_info *file_info) -> packet::error_type = 0; - virtual auto + [[nodiscard]] virtual auto winfsp_get_dir_buffer(PVOID file_desc, PVOID *&ptr) + -> packet::error_type = 0; + + [[nodiscard]] virtual auto winfsp_get_file_info(PVOID file_desc, + remote::file_info *file_info) + -> packet::error_type = 0; + + [[nodiscard]] virtual auto winfsp_get_security_by_name(PWSTR file_name, PUINT32 file_attributes, std::uint64_t *security_descriptor_size, std::wstring &str_descriptor) -> packet::error_type = 0; - virtual auto winfsp_get_volume_info(UINT64 &total_size, UINT64 &free_size, - std::string &volume_label) + [[nodiscard]] virtual auto winfsp_get_volume_info(UINT64 &total_size, + UINT64 &free_size, + std::string &volume_label) -> packet::error_type = 0; - virtual auto winfsp_mounted(const std::wstring &location) + [[nodiscard]] virtual auto winfsp_mounted(const std::wstring &location) -> packet::error_type = 0; - virtual auto winfsp_open(PWSTR file_name, UINT32 create_options, - UINT32 granted_access, PVOID *file_desc, - remote::file_info *file_info, - std::string &normalized_name) + [[nodiscard]] virtual auto + winfsp_open(PWSTR file_name, UINT32 create_options, UINT32 granted_access, + PVOID *file_desc, remote::file_info *file_info, + std::string &normalized_name) -> packet::error_type = 0; + + [[nodiscard]] virtual auto + winfsp_overwrite(PVOID file_desc, UINT32 file_attributes, + BOOLEAN replace_file_attributes, UINT64 allocation_size, + remote::file_info *file_info) -> packet::error_type = 0; + + [[nodiscard]] virtual auto winfsp_read(PVOID file_desc, PVOID buffer, + UINT64 offset, UINT32 length, + PUINT32 bytes_transferred) -> packet::error_type = 0; - virtual auto winfsp_overwrite(PVOID file_desc, UINT32 file_attributes, - BOOLEAN replace_file_attributes, - UINT64 allocation_size, - remote::file_info *file_info) + [[nodiscard]] virtual auto winfsp_read_directory(PVOID file_desc, + PWSTR pattern, PWSTR marker, + json &itemList) -> packet::error_type = 0; - virtual auto winfsp_read(PVOID file_desc, PVOID buffer, UINT64 offset, - UINT32 length, PUINT32 bytes_transferred) + [[nodiscard]] virtual auto winfsp_rename(PVOID file_desc, PWSTR file_name, + PWSTR new_file_name, + BOOLEAN replace_if_exists) -> packet::error_type = 0; - virtual auto winfsp_read_directory(PVOID file_desc, PWSTR pattern, - PWSTR marker, json &itemList) + [[nodiscard]] virtual auto + winfsp_set_basic_info(PVOID file_desc, UINT32 file_attributes, + UINT64 creation_time, UINT64 last_access_time, + UINT64 last_write_time, UINT64 change_time, + remote::file_info *file_info) -> packet::error_type = 0; + + [[nodiscard]] virtual auto winfsp_set_file_size(PVOID file_desc, + UINT64 new_size, + BOOLEAN set_allocation_size, + remote::file_info *file_info) -> packet::error_type = 0; - virtual auto winfsp_rename(PVOID file_desc, PWSTR file_name, - PWSTR new_file_name, BOOLEAN replace_if_exists) + [[nodiscard]] virtual auto winfsp_unmounted(const std::wstring &location) -> packet::error_type = 0; - virtual auto winfsp_set_basic_info(PVOID file_desc, UINT32 file_attributes, - UINT64 creation_time, - UINT64 last_access_time, - UINT64 last_write_time, UINT64 change_time, - remote::file_info *file_info) - -> packet::error_type = 0; - - virtual auto winfsp_set_file_size(PVOID file_desc, UINT64 new_size, - BOOLEAN set_allocation_size, - remote::file_info *file_info) - -> packet::error_type = 0; - - virtual auto winfsp_unmounted(const std::wstring &location) - -> packet::error_type = 0; - - virtual auto winfsp_write(PVOID file_desc, PVOID buffer, UINT64 offset, - UINT32 length, BOOLEAN write_to_end, - BOOLEAN constrained_io, PUINT32 bytes_transferred, - remote::file_info *file_info) + [[nodiscard]] virtual auto + winfsp_write(PVOID file_desc, PVOID buffer, UINT64 offset, UINT32 length, + BOOLEAN write_to_end, BOOLEAN constrained_io, + PUINT32 bytes_transferred, remote::file_info *file_info) -> packet::error_type = 0; }; diff --git a/repertory/librepertory/include/drives/winfsp/remotewinfsp/remote_client.hpp b/repertory/librepertory/include/drives/winfsp/remotewinfsp/remote_client.hpp index 5b1a7e75..15c858ae 100644 --- a/repertory/librepertory/include/drives/winfsp/remotewinfsp/remote_client.hpp +++ b/repertory/librepertory/include/drives/winfsp/remotewinfsp/remote_client.hpp @@ -44,95 +44,105 @@ private: #if defined(_WIN32) #define to_handle(x) (x) #else // !defined(_WIN32) - static auto to_handle(PVOID file_desc) -> native_handle; + [[nodiscard]] static auto to_handle(PVOID file_desc) -> native_handle; #endif // defined(_WIN32) public: [[nodiscard]] auto check() -> packet::error_type; - auto json_create_directory_snapshot(const std::string &path, json &json_data) + [[nodiscard]] auto json_create_directory_snapshot(const std::string &path, + json &json_data) -> packet::error_type override; - auto json_read_directory_snapshot(const std::string &path, - const remote::file_handle &handle, - std::uint32_t page, json &json_data) + [[nodiscard]] auto json_read_directory_snapshot( + const std::string &path, const remote::file_handle &handle, + std::uint32_t page, json &json_data) -> packet::error_type override; + + [[nodiscard]] auto + json_release_directory_snapshot(const std::string &path, + const remote::file_handle &handle) -> packet::error_type override; - auto json_release_directory_snapshot(const std::string &path, - const remote::file_handle &handle) + [[nodiscard]] auto winfsp_can_delete(PVOID file_desc, PWSTR file_name) -> packet::error_type override; - auto winfsp_can_delete(PVOID file_desc, PWSTR file_name) + [[nodiscard]] auto winfsp_cleanup(PVOID file_desc, PWSTR file_name, + UINT32 flags, BOOLEAN &was_deleted) -> packet::error_type override; - auto winfsp_cleanup(PVOID file_desc, PWSTR file_name, UINT32 flags, - BOOLEAN &was_deleted) -> packet::error_type override; - - auto winfsp_close(PVOID file_desc) -> packet::error_type override; - - auto winfsp_create(PWSTR file_name, UINT32 create_options, - UINT32 granted_access, UINT32 attributes, - UINT64 allocation_size, PVOID *file_desc, - remote::file_info *file_info, std::string &normalized_name, - BOOLEAN &exists) -> packet::error_type override; - - auto winfsp_flush(PVOID file_desc, remote::file_info *file_info) + [[nodiscard]] auto winfsp_close(PVOID file_desc) -> packet::error_type override; - auto winfsp_get_dir_buffer(PVOID file_desc, PVOID *&ptr) + [[nodiscard]] auto + winfsp_create(PWSTR file_name, UINT32 create_options, UINT32 granted_access, + UINT32 attributes, UINT64 allocation_size, PVOID *file_desc, + remote::file_info *file_info, std::string &normalized_name, + BOOLEAN &exists) -> packet::error_type override; + + [[nodiscard]] auto winfsp_flush(PVOID file_desc, remote::file_info *file_info) -> packet::error_type override; - auto winfsp_get_file_info(PVOID file_desc, remote::file_info *file_info) + [[nodiscard]] auto winfsp_get_dir_buffer(PVOID file_desc, PVOID *&ptr) -> packet::error_type override; - auto winfsp_get_security_by_name(PWSTR file_name, PUINT32 attributes, - std::uint64_t *descriptor_size, - std::wstring &string_descriptor) + [[nodiscard]] auto winfsp_get_file_info(PVOID file_desc, + remote::file_info *file_info) -> packet::error_type override; - auto winfsp_get_volume_info(UINT64 &total_size, UINT64 &free_size, - std::string &volume_label) + [[nodiscard]] auto winfsp_get_security_by_name( + PWSTR file_name, PUINT32 attributes, std::uint64_t *descriptor_size, + std::wstring &string_descriptor) -> packet::error_type override; + + [[nodiscard]] auto winfsp_get_volume_info(UINT64 &total_size, + UINT64 &free_size, + std::string &volume_label) -> packet::error_type override; - auto winfsp_mounted(const std::wstring &location) + [[nodiscard]] auto winfsp_mounted(const std::wstring &location) -> packet::error_type override; - auto winfsp_open(PWSTR file_name, UINT32 create_options, - UINT32 granted_access, PVOID *file_desc, - remote::file_info *file_info, std::string &normalized_name) + [[nodiscard]] auto winfsp_open(PWSTR file_name, UINT32 create_options, + UINT32 granted_access, PVOID *file_desc, + remote::file_info *file_info, + std::string &normalized_name) -> packet::error_type override; - auto winfsp_overwrite(PVOID file_desc, UINT32 attributes, - BOOLEAN replace_attributes, UINT64 allocation_size, - remote::file_info *file_info) + [[nodiscard]] auto winfsp_overwrite(PVOID file_desc, UINT32 attributes, + BOOLEAN replace_attributes, + UINT64 allocation_size, + remote::file_info *file_info) -> packet::error_type override; - auto winfsp_read(PVOID file_desc, PVOID buffer, UINT64 offset, UINT32 length, - PUINT32 bytes_transferred) -> packet::error_type override; - - auto winfsp_read_directory(PVOID file_desc, PWSTR pattern, PWSTR marker, - json &itemList) -> packet::error_type override; - - auto winfsp_rename(PVOID file_desc, PWSTR file_name, PWSTR new_file_name, - BOOLEAN replace_if_exists) -> packet::error_type override; - - auto winfsp_set_basic_info(PVOID file_desc, UINT32 attributes, - UINT64 creation_time, UINT64 last_access_time, - UINT64 last_write_time, UINT64 change_time, - remote::file_info *file_info) + [[nodiscard]] auto winfsp_read(PVOID file_desc, PVOID buffer, UINT64 offset, + UINT32 length, PUINT32 bytes_transferred) -> packet::error_type override; - auto winfsp_set_file_size(PVOID file_desc, UINT64 new_size, - BOOLEAN set_allocation_size, - remote::file_info *file_info) + [[nodiscard]] auto winfsp_read_directory(PVOID file_desc, PWSTR pattern, + PWSTR marker, json &itemList) -> packet::error_type override; - auto winfsp_unmounted(const std::wstring &location) + [[nodiscard]] auto winfsp_rename(PVOID file_desc, PWSTR file_name, + PWSTR new_file_name, + BOOLEAN replace_if_exists) -> packet::error_type override; - auto winfsp_write(PVOID file_desc, PVOID buffer, UINT64 offset, UINT32 length, - BOOLEAN write_to_end, BOOLEAN constrained_io, - PUINT32 bytes_transferred, remote::file_info *file_info) + [[nodiscard]] auto winfsp_set_basic_info( + PVOID file_desc, UINT32 attributes, UINT64 creation_time, + UINT64 last_access_time, UINT64 last_write_time, UINT64 change_time, + remote::file_info *file_info) -> packet::error_type override; + + [[nodiscard]] auto winfsp_set_file_size(PVOID file_desc, UINT64 new_size, + BOOLEAN set_allocation_size, + remote::file_info *file_info) + -> packet::error_type override; + + [[nodiscard]] auto winfsp_unmounted(const std::wstring &location) + -> packet::error_type override; + + [[nodiscard]] auto + winfsp_write(PVOID file_desc, PVOID buffer, UINT64 offset, UINT32 length, + BOOLEAN write_to_end, BOOLEAN constrained_io, + PUINT32 bytes_transferred, remote::file_info *file_info) -> packet::error_type override; }; } // namespace remote_winfsp diff --git a/repertory/librepertory/include/drives/winfsp/remotewinfsp/remote_server.hpp b/repertory/librepertory/include/drives/winfsp/remotewinfsp/remote_server.hpp index 8665277c..7ff71b42 100644 --- a/repertory/librepertory/include/drives/winfsp/remotewinfsp/remote_server.hpp +++ b/repertory/librepertory/include/drives/winfsp/remotewinfsp/remote_server.hpp @@ -58,41 +58,46 @@ private: public: // FUSE Layer - auto fuse_access(const char *path, const std::int32_t &mask) + [[nodiscard]] auto fuse_access(const char *path, const std::int32_t &mask) -> packet::error_type override; - auto fuse_chflags(const char *path, std::uint32_t flags) + [[nodiscard]] auto fuse_chflags(const char *path, std::uint32_t flags) -> packet::error_type override; - auto fuse_chmod(const char *path, const remote::file_mode &mode) + [[nodiscard]] auto fuse_chmod(const char *path, const remote::file_mode &mode) -> packet::error_type override; - auto fuse_chown(const char *path, const remote::user_id &uid, - const remote::group_id &gid) -> packet::error_type override; + [[nodiscard]] auto fuse_chown(const char *path, const remote::user_id &uid, + const remote::group_id &gid) + -> packet::error_type override; - auto fuse_destroy() -> packet::error_type override; + [[nodiscard]] auto fuse_destroy() -> packet::error_type override; /*packet::error_type fuse_fallocate(const char *path, const std::int32_t &mode, const remote::file_offset &offset, const remote::file_offset &length, const remote::file_handle &handle) override ;*/ - auto fuse_fgetattr(const char *path, remote::stat &r_stat, bool &directory, - const remote::file_handle &handle) + [[nodiscard]] auto fuse_fgetattr(const char *path, remote::stat &r_stat, + bool &directory, + const remote::file_handle &handle) -> packet::error_type override; - auto fuse_fsetattr_x(const char *path, const remote::setattr_x &attr, - const remote::file_handle &handle) + [[nodiscard]] auto fuse_fsetattr_x(const char *path, + const remote::setattr_x &attr, + const remote::file_handle &handle) -> packet::error_type override; - auto fuse_fsync(const char *path, const std::int32_t &datasync, - const remote::file_handle &handle) + [[nodiscard]] auto fuse_fsync(const char *path, const std::int32_t &datasync, + const remote::file_handle &handle) -> packet::error_type override; - auto fuse_ftruncate(const char *path, const remote::file_offset &size, - const remote::file_handle &handle) + [[nodiscard]] auto fuse_ftruncate(const char *path, + const remote::file_offset &size, + const remote::file_handle &handle) -> packet::error_type override; - auto fuse_getattr(const char *path, remote::stat &r_stat, bool &directory) + [[nodiscard]] auto fuse_getattr(const char *path, remote::stat &r_stat, + bool &directory) -> packet::error_type override; /*packet::error_type fuse_getxattr(const char *path, const char *name, char @@ -101,77 +106,90 @@ public: packet::error_type fuse_getxattrOSX(const char *path, const char *name, char *value, const remote::file_size &size, std::uint32_t position) override ;*/ - auto fuse_getxtimes(const char *path, remote::file_time &bkuptime, - remote::file_time &crtime) -> packet::error_type override; + [[nodiscard]] auto fuse_getxtimes(const char *path, + remote::file_time &bkuptime, + remote::file_time &crtime) + -> packet::error_type override; - auto fuse_init() -> packet::error_type override; + [[nodiscard]] auto fuse_init() -> packet::error_type override; /*packet::error_type fuse_listxattr(const char *path, char *buffer, const remote::file_size &size) override ;*/ - auto fuse_mkdir(const char *path, const remote::file_mode &mode) + [[nodiscard]] auto fuse_mkdir(const char *path, const remote::file_mode &mode) -> packet::error_type override; - auto fuse_opendir(const char *path, remote::file_handle &handle) + [[nodiscard]] auto fuse_opendir(const char *path, remote::file_handle &handle) -> packet::error_type override; - auto fuse_create(const char *path, const remote::file_mode &mode, - const remote::open_flags &flags, remote::file_handle &handle) + [[nodiscard]] auto + fuse_create(const char *path, const remote::file_mode &mode, + const remote::open_flags &flags, remote::file_handle &handle) -> packet::error_type override; - auto fuse_open(const char *path, const remote::open_flags &flags, - remote::file_handle &handle) -> packet::error_type override; - - auto fuse_read(const char *path, char *buffer, - const remote::file_size &read_size, - const remote::file_offset &read_offset, - const remote::file_handle &handle) + [[nodiscard]] auto fuse_open(const char *path, + const remote::open_flags &flags, + remote::file_handle &handle) -> packet::error_type override; - auto fuse_rename(const char *from, const char *to) + [[nodiscard]] auto fuse_read(const char *path, char *buffer, + const remote::file_size &read_size, + const remote::file_offset &read_offset, + const remote::file_handle &handle) -> packet::error_type override; - auto fuse_write(const char *path, const char *buffer, - const remote::file_size &write_size, - const remote::file_offset &write_offset, - const remote::file_handle &handle) + [[nodiscard]] auto fuse_rename(const char *from, const char *to) -> packet::error_type override; - auto fuse_write_base64(const char *path, const char *buffer, - const remote::file_size &write_size, - const remote::file_offset &write_offset, - const remote::file_handle &handle) + [[nodiscard]] auto fuse_write(const char *path, const char *buffer, + const remote::file_size &write_size, + const remote::file_offset &write_offset, + const remote::file_handle &handle) -> packet::error_type override; - auto fuse_readdir(const char *path, const remote::file_offset &offset, - const remote::file_handle &handle, std::string &item_path) + [[nodiscard]] auto fuse_write_base64(const char *path, const char *buffer, + const remote::file_size &write_size, + const remote::file_offset &write_offset, + const remote::file_handle &handle) -> packet::error_type override; - auto fuse_release(const char *path, const remote::file_handle &handle) + [[nodiscard]] auto + fuse_readdir(const char *path, const remote::file_offset &offset, + const remote::file_handle &handle, std::string &item_path) -> packet::error_type override; - auto fuse_releasedir(const char *path, const remote::file_handle &handle) + [[nodiscard]] auto fuse_release(const char *path, + const remote::file_handle &handle) + -> packet::error_type override; + + [[nodiscard]] auto fuse_releasedir(const char *path, + const remote::file_handle &handle) -> packet::error_type override; /*packet::error_type fuse_removexattr(const char *path, const char *name) * override ;*/ - auto fuse_rmdir(const char *path) -> packet::error_type override; - - auto fuse_setattr_x(const char *path, remote::setattr_x &attr) + [[nodiscard]] auto fuse_rmdir(const char *path) -> packet::error_type override; - auto fuse_setbkuptime(const char *path, const remote::file_time &bkuptime) + [[nodiscard]] auto fuse_setattr_x(const char *path, remote::setattr_x &attr) -> packet::error_type override; - auto fuse_setchgtime(const char *path, const remote::file_time &chgtime) + [[nodiscard]] auto fuse_setbkuptime(const char *path, + const remote::file_time &bkuptime) -> packet::error_type override; - auto fuse_setcrtime(const char *path, const remote::file_time &crtime) + [[nodiscard]] auto fuse_setchgtime(const char *path, + const remote::file_time &chgtime) -> packet::error_type override; - auto fuse_setvolname(const char *volname) -> packet::error_type override; + [[nodiscard]] auto fuse_setcrtime(const char *path, + const remote::file_time &crtime) + -> packet::error_type override; + + [[nodiscard]] auto fuse_setvolname(const char *volname) + -> packet::error_type override; /*packet::error_type fuse_setxattr(const char *path, const char *name, const char *value, const remote::file_size &size, const std::int32_t &flags) @@ -181,109 +199,123 @@ public: char *value, const remote::file_size &size, const std::int32_t &flags, std::uint32_t position) override ;*/ - auto fuse_statfs(const char *path, std::uint64_t frsize, - remote::statfs &r_stat) -> packet::error_type override; - - auto fuse_statfs_x(const char *path, std::uint64_t bsize, - remote::statfs_x &r_stat) -> packet::error_type override; - - auto fuse_truncate(const char *path, const remote::file_offset &size) + [[nodiscard]] auto fuse_statfs(const char *path, std::uint64_t frsize, + remote::statfs &r_stat) -> packet::error_type override; - auto fuse_unlink(const char *path) -> packet::error_type override; + [[nodiscard]] auto fuse_statfs_x(const char *path, std::uint64_t bsize, + remote::statfs_x &r_stat) + -> packet::error_type override; - auto fuse_utimens(const char *path, const remote::file_time *tv, - std::uint64_t op0, std::uint64_t op1) + [[nodiscard]] auto fuse_truncate(const char *path, + const remote::file_offset &size) + -> packet::error_type override; + + [[nodiscard]] auto fuse_unlink(const char *path) + -> packet::error_type override; + + [[nodiscard]] auto fuse_utimens(const char *path, const remote::file_time *tv, + std::uint64_t op0, std::uint64_t op1) -> packet::error_type override; void set_fuse_uid_gid(const remote::user_id & /* uid */, const remote::group_id & /* gid */) override {} // JSON Layer - auto json_create_directory_snapshot(const std::string &path, json &json_data) + [[nodiscard]] auto json_create_directory_snapshot(const std::string &path, + json &json_data) -> packet::error_type override; - auto json_read_directory_snapshot(const std::string &path, - const remote::file_handle &handle, - std::uint32_t page, json &json_data) - -> packet::error_type override; + [[nodiscard]] auto json_read_directory_snapshot( + const std::string &path, const remote::file_handle &handle, + std::uint32_t page, json &json_data) -> packet::error_type override; - auto json_release_directory_snapshot(const std::string &path, - const remote::file_handle &handle) + [[nodiscard]] auto + json_release_directory_snapshot(const std::string &path, + const remote::file_handle &handle) -> packet::error_type override; // WinFSP Layer - auto winfsp_can_delete(PVOID file_desc, PWSTR file_name) + [[nodiscard]] auto winfsp_can_delete(PVOID file_desc, PWSTR file_name) -> packet::error_type override; - auto winfsp_cleanup(PVOID file_desc, PWSTR file_name, UINT32 flags, - BOOLEAN &was_deleted) -> packet::error_type override; - - auto winfsp_close(PVOID file_desc) -> packet::error_type override; - - auto winfsp_create(PWSTR file_name, UINT32 create_options, - UINT32 granted_access, UINT32 attributes, - UINT64 allocation_size, PVOID *file_desc, - remote::file_info *file_info, std::string &normalized_name, - BOOLEAN &exists) -> packet::error_type override; - - auto winfsp_flush(PVOID file_desc, remote::file_info *file_info) + [[nodiscard]] auto winfsp_cleanup(PVOID file_desc, PWSTR file_name, + UINT32 flags, BOOLEAN &was_deleted) -> packet::error_type override; - auto winfsp_get_dir_buffer(PVOID file_desc, PVOID *&ptr) + [[nodiscard]] auto winfsp_close(PVOID file_desc) -> packet::error_type override; - auto winfsp_get_file_info(PVOID file_desc, remote::file_info *file_info) + [[nodiscard]] auto + winfsp_create(PWSTR file_name, UINT32 create_options, UINT32 granted_access, + UINT32 attributes, UINT64 allocation_size, PVOID *file_desc, + remote::file_info *file_info, std::string &normalized_name, + BOOLEAN &exists) -> packet::error_type override; + + [[nodiscard]] auto winfsp_flush(PVOID file_desc, remote::file_info *file_info) -> packet::error_type override; - auto winfsp_get_security_by_name(PWSTR file_name, PUINT32 attributes, - std::uint64_t *descriptor_size, - std::wstring &string_descriptor) + [[nodiscard]] auto winfsp_get_dir_buffer(PVOID file_desc, PVOID *&ptr) -> packet::error_type override; - auto winfsp_get_volume_info(UINT64 &total_size, UINT64 &free_size, - std::string &volume_label) + [[nodiscard]] auto winfsp_get_file_info(PVOID file_desc, + remote::file_info *file_info) -> packet::error_type override; - auto winfsp_mounted(const std::wstring &location) + [[nodiscard]] auto winfsp_get_security_by_name( + PWSTR file_name, PUINT32 attributes, std::uint64_t *descriptor_size, + std::wstring &string_descriptor) -> packet::error_type override; + + [[nodiscard]] auto winfsp_get_volume_info(UINT64 &total_size, + UINT64 &free_size, + std::string &volume_label) -> packet::error_type override; - auto winfsp_open(PWSTR file_name, UINT32 create_options, - UINT32 granted_access, PVOID *file_desc, - remote::file_info *file_info, std::string &normalized_name) + [[nodiscard]] auto winfsp_mounted(const std::wstring &location) -> packet::error_type override; - auto winfsp_overwrite(PVOID file_desc, UINT32 attributes, - BOOLEAN replace_attributes, UINT64 allocation_size, - remote::file_info *file_info) + [[nodiscard]] auto winfsp_open(PWSTR file_name, UINT32 create_options, + UINT32 granted_access, PVOID *file_desc, + remote::file_info *file_info, + std::string &normalized_name) -> packet::error_type override; - auto winfsp_read(PVOID file_desc, PVOID buffer, UINT64 offset, UINT32 length, - PUINT32 bytes_transferred) -> packet::error_type override; - - auto winfsp_read_directory(PVOID file_desc, PWSTR pattern, PWSTR marker, - json &item_list) -> packet::error_type override; - - auto winfsp_rename(PVOID file_desc, PWSTR file_name, PWSTR new_file_name, - BOOLEAN replace_if_exists) -> packet::error_type override; - - auto winfsp_set_basic_info(PVOID file_desc, UINT32 attributes, - UINT64 creation_time, UINT64 last_access_time, - UINT64 last_write_time, UINT64 change_time, - remote::file_info *file_info) + [[nodiscard]] auto winfsp_overwrite(PVOID file_desc, UINT32 attributes, + BOOLEAN replace_attributes, + UINT64 allocation_size, + remote::file_info *file_info) -> packet::error_type override; - auto winfsp_set_file_size(PVOID file_desc, UINT64 new_size, - BOOLEAN set_allocation_size, - remote::file_info *file_info) + [[nodiscard]] auto winfsp_read(PVOID file_desc, PVOID buffer, UINT64 offset, + UINT32 length, PUINT32 bytes_transferred) -> packet::error_type override; - auto winfsp_unmounted(const std::wstring &location) + [[nodiscard]] auto winfsp_read_directory(PVOID file_desc, PWSTR pattern, + PWSTR marker, json &item_list) -> packet::error_type override; - auto winfsp_write(PVOID file_desc, PVOID buffer, UINT64 offset, UINT32 length, - BOOLEAN write_to_end, BOOLEAN constrained_io, - PUINT32 bytes_transferred, remote::file_info *file_info) + [[nodiscard]] auto winfsp_rename(PVOID file_desc, PWSTR file_name, + PWSTR new_file_name, + BOOLEAN replace_if_exists) + -> packet::error_type override; + + [[nodiscard]] auto winfsp_set_basic_info( + PVOID file_desc, UINT32 attributes, UINT64 creation_time, + UINT64 last_access_time, UINT64 last_write_time, UINT64 change_time, + remote::file_info *file_info) -> packet::error_type override; + + [[nodiscard]] auto winfsp_set_file_size(PVOID file_desc, UINT64 new_size, + BOOLEAN set_allocation_size, + remote::file_info *file_info) + -> packet::error_type override; + + [[nodiscard]] auto winfsp_unmounted(const std::wstring &location) + -> packet::error_type override; + + [[nodiscard]] auto + winfsp_write(PVOID file_desc, PVOID buffer, UINT64 offset, UINT32 length, + BOOLEAN write_to_end, BOOLEAN constrained_io, + PUINT32 bytes_transferred, remote::file_info *file_info) -> packet::error_type override; }; } // namespace remote_winfsp