diff --git a/repertory/librepertory/include/file_manager/direct_open_file.hpp b/repertory/librepertory/include/file_manager/direct_open_file.hpp index f80dc9e3..3fd01e5d 100644 --- a/repertory/librepertory/include/file_manager/direct_open_file.hpp +++ b/repertory/librepertory/include/file_manager/direct_open_file.hpp @@ -64,6 +64,17 @@ public: [[nodiscard]] auto get_source_path() const -> std::string override { return "direct"; } + + [[nodiscard]] auto native_operation(native_operation_callback /* callback */) + -> api_error override { + return api_error::not_supported; + } + + [[nodiscard]] auto native_operation(std::uint64_t /* new_file_size */, + native_operation_callback /* callback */) + -> api_error override { + return api_error::not_supported; + } }; } // namespace repertory diff --git a/repertory/librepertory/include/file_manager/open_file.hpp b/repertory/librepertory/include/file_manager/open_file.hpp index 967c943c..ba1ed8ff 100644 --- a/repertory/librepertory/include/file_manager/open_file.hpp +++ b/repertory/librepertory/include/file_manager/open_file.hpp @@ -25,6 +25,7 @@ #include "file_manager/open_file_base.hpp" #include "types/repertory.hpp" +#include "utils/types/file/i_file.hpp" namespace repertory { class i_provider; diff --git a/repertory/librepertory/include/file_manager/open_file_base.hpp b/repertory/librepertory/include/file_manager/open_file_base.hpp index 921582d7..baf824c2 100644 --- a/repertory/librepertory/include/file_manager/open_file_base.hpp +++ b/repertory/librepertory/include/file_manager/open_file_base.hpp @@ -24,8 +24,6 @@ #include "file_manager/i_open_file.hpp" -#include "utils/types/file/i_file.hpp" - namespace repertory { class i_provider; diff --git a/repertory/librepertory/include/file_manager/ring_buffer_open_file.hpp b/repertory/librepertory/include/file_manager/ring_buffer_open_file.hpp index f1b39eb6..f2e0b135 100644 --- a/repertory/librepertory/include/file_manager/ring_buffer_open_file.hpp +++ b/repertory/librepertory/include/file_manager/ring_buffer_open_file.hpp @@ -25,6 +25,7 @@ #include "file_manager/ring_file_base.hpp" #include "types/repertory.hpp" +#include "utils/types/file/i_file.hpp" namespace repertory { class i_provider; @@ -70,6 +71,12 @@ protected: -> api_error override; public: + [[nodiscard]] auto native_operation(std::uint64_t /* new_file_size */, + native_operation_callback /* callback */) + -> api_error override { + return api_error::not_supported; + } + [[nodiscard]] auto native_operation(native_operation_callback callback) -> api_error override; diff --git a/repertory/librepertory/include/file_manager/ring_file_base.hpp b/repertory/librepertory/include/file_manager/ring_file_base.hpp index 4944a798..0339a1a1 100644 --- a/repertory/librepertory/include/file_manager/ring_file_base.hpp +++ b/repertory/librepertory/include/file_manager/ring_file_base.hpp @@ -128,17 +128,6 @@ public: return false; } - [[nodiscard]] auto native_operation(native_operation_callback /* callback */) - -> api_error override { - return api_error::not_supported; - } - - [[nodiscard]] auto native_operation(std::uint64_t /* new_file_size */, - native_operation_callback /* callback */) - -> api_error override { - return api_error::not_supported; - } - [[nodiscard]] auto read(std::size_t read_size, std::uint64_t read_offset, data_buffer &data) -> api_error override; diff --git a/repertory/librepertory/src/file_manager/ring_buffer_open_file.cpp b/repertory/librepertory/src/file_manager/ring_buffer_open_file.cpp index 1e926af1..da77ca10 100644 --- a/repertory/librepertory/src/file_manager/ring_buffer_open_file.cpp +++ b/repertory/librepertory/src/file_manager/ring_buffer_open_file.cpp @@ -110,8 +110,8 @@ auto ring_buffer_open_file::on_chunk_downloaded( }); } -auto ring_buffer_open_file::native_operation( - i_open_file::native_operation_callback callback) -> api_error { +auto ring_buffer_open_file::native_operation(native_operation_callback callback) + -> api_error { return do_io([&]() -> api_error { return callback(nf_->get_handle()); }); }