diff --git a/repertory/librepertory/include/providers/base_provider.hpp b/repertory/librepertory/include/providers/base_provider.hpp index ec63dc8c..93726a98 100644 --- a/repertory/librepertory/include/providers/base_provider.hpp +++ b/repertory/librepertory/include/providers/base_provider.hpp @@ -185,9 +185,6 @@ public: [[nodiscard]] auto get_used_drive_space() const -> std::uint64_t override; - [[nodiscard]] auto is_file_writeable(const std::string &api_path) const - -> bool override; - [[nodiscard]] auto is_read_only() const -> bool override { return false; } [[nodiscard]] auto remove_directory(const std::string &api_path) diff --git a/repertory/librepertory/include/providers/encrypt/encrypt_provider.hpp b/repertory/librepertory/include/providers/encrypt/encrypt_provider.hpp index 6808c2da..ad54ea71 100644 --- a/repertory/librepertory/include/providers/encrypt/encrypt_provider.hpp +++ b/repertory/librepertory/include/providers/encrypt/encrypt_provider.hpp @@ -178,9 +178,6 @@ public: [[nodiscard]] auto is_file(const std::string &api_path, bool &exists) const -> api_error override; - [[nodiscard]] auto is_file_writeable(const std::string &api_path) const - -> bool override; - [[nodiscard]] auto is_online() const -> bool override; [[nodiscard]] auto is_read_only() const -> bool override { return true; } diff --git a/repertory/librepertory/include/providers/i_provider.hpp b/repertory/librepertory/include/providers/i_provider.hpp index 91e35997..3c9587cc 100644 --- a/repertory/librepertory/include/providers/i_provider.hpp +++ b/repertory/librepertory/include/providers/i_provider.hpp @@ -110,9 +110,6 @@ public: [[nodiscard]] virtual auto is_file(const std::string &api_path, bool &exists) const -> api_error = 0; - [[nodiscard]] virtual auto - is_file_writeable(const std::string &api_path) const -> bool = 0; - [[nodiscard]] virtual auto is_online() const -> bool = 0; [[nodiscard]] virtual auto is_read_only() const -> bool = 0; diff --git a/repertory/librepertory/src/drives/fuse/fuse_drive.cpp b/repertory/librepertory/src/drives/fuse/fuse_drive.cpp index 4f213070..d9faf864 100644 --- a/repertory/librepertory/src/drives/fuse/fuse_drive.cpp +++ b/repertory/librepertory/src/drives/fuse/fuse_drive.cpp @@ -160,8 +160,7 @@ auto fuse_drive::create_impl(std::string api_path, mode_t mode, return res; } - if ((is_write_only_op || is_read_write_op) && - not provider_.is_file_writeable(api_path)) { + if ((is_write_only_op || is_read_write_op) && provider_.is_read_only()) { return api_error::permission_denied; } @@ -1301,9 +1300,8 @@ auto fuse_drive::truncate_impl(std::string api_path, off_t size, #else auto fuse_drive::truncate_impl(std::string api_path, off_t size) -> api_error { #endif - auto res = provider_.is_file_writeable(api_path) - ? api_error::success - : api_error::permission_denied; + auto res = provider_.is_read_only() ? api_error::permission_denied + : api_error::success; if (res != api_error::success) { return res; } diff --git a/repertory/librepertory/src/drives/winfsp/winfsp_drive.cpp b/repertory/librepertory/src/drives/winfsp/winfsp_drive.cpp index a663e129..8bfc1798 100644 --- a/repertory/librepertory/src/drives/winfsp/winfsp_drive.cpp +++ b/repertory/librepertory/src/drives/winfsp/winfsp_drive.cpp @@ -706,9 +706,8 @@ auto winfsp_drive::Open(PWSTR file_name, UINT32 create_options, if (not directory && (((granted_access & FILE_WRITE_DATA) == FILE_WRITE_DATA) || ((granted_access & GENERIC_WRITE) == GENERIC_WRITE))) { - error = provider_.is_file_writeable(api_path) - ? api_error::success - : api_error::permission_denied; + error = provider_.is_read_only() ? api_error::permission_denied + : api_error::success; } if (error == api_error::success) { diff --git a/repertory/librepertory/src/providers/base_provider.cpp b/repertory/librepertory/src/providers/base_provider.cpp index 648f8820..e9d0e98a 100644 --- a/repertory/librepertory/src/providers/base_provider.cpp +++ b/repertory/librepertory/src/providers/base_provider.cpp @@ -469,17 +469,6 @@ auto base_provider::get_used_drive_space() const -> std::uint64_t { return meta_db_->get_total_size(); } -auto base_provider::is_file_writeable(const std::string &api_path) const - -> bool { - bool exists{}; - auto res = is_directory(api_path, exists); - if (res != api_error::success) { - return false; - } - - return not exists; -} - void base_provider::process_removed_directories( std::deque removed_list, stop_type &stop_requested) { REPERTORY_USES_FUNCTION_NAME(); diff --git a/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp b/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp index 2947bcdb..afdb7e65 100644 --- a/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp +++ b/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp @@ -601,11 +601,6 @@ auto encrypt_provider::is_file(const std::string &api_path, bool &exists) const return api_error::error; } -auto encrypt_provider::is_file_writeable(const std::string & /*api_path*/) const - -> bool { - return false; -} - auto encrypt_provider::is_online() const -> bool { return utils::file::directory{get_encrypt_config().path}.exists(); } diff --git a/repertory/repertory_test/include/mocks/mock_provider.hpp b/repertory/repertory_test/include/mocks/mock_provider.hpp index 99c294bb..563e45ce 100644 --- a/repertory/repertory_test/include/mocks/mock_provider.hpp +++ b/repertory/repertory_test/include/mocks/mock_provider.hpp @@ -112,10 +112,6 @@ public: MOCK_METHOD(api_error, is_file, (const std::string &api_path, bool &exists), (const, override)); - bool is_file_writeable(const std::string & /* api_path */) const override { - return true; - } - MOCK_METHOD(bool, is_online, (), (const, override)); bool is_rename_supported() const override { return allow_rename_; } diff --git a/repertory/repertory_test/src/providers_test.cpp b/repertory/repertory_test/src/providers_test.cpp index cfbf6ed5..f98ba36f 100644 --- a/repertory/repertory_test/src/providers_test.cpp +++ b/repertory/repertory_test/src/providers_test.cpp @@ -969,7 +969,6 @@ static void run_tests(const app_config &cfg, i_provider &provider) { get_used_drive_space(provider); is_directory(provider); is_file(provider); - is_file_writeable(provider); read_file_bytes(provider); remove_directory(provider); remove_file(provider);