/** ****************************************************************************** * Xenia : Xbox 360 Emulator Research Project * ****************************************************************************** * Copyright 2013 Ben Vanik. All rights reserved. * * Released under the BSD license - see LICENSE in the root for more details. * ****************************************************************************** * * @modified Tom Clay, 2026 - Adapted for ReXGlue runtime */ #pragma once #include #include #include #include namespace rex::filesystem { class HostPathEntry; class HostPathFile : public File { public: HostPathFile(uint32_t file_access, HostPathEntry* entry, std::unique_ptr file_handle); ~HostPathFile() override; void Destroy() override; X_STATUS ReadSync(std::span buffer, size_t byte_offset, size_t* out_bytes_read) override; X_STATUS WriteSync(std::span buffer, size_t byte_offset, size_t* out_bytes_written) override; X_STATUS SetLength(size_t length) override; private: std::unique_ptr file_handle_; }; } // namespace rex::filesystem