diff options
| author | Dan Engelbrecht <[email protected]> | 2025-02-12 09:05:07 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2025-02-12 09:05:07 +0100 |
| commit | 800305f7f2afe01e9ca038a71a68e9318c52ee77 (patch) | |
| tree | cded7dabccef9c1d47aa9680507d278026e65353 /src/zencore/include | |
| parent | moving and small refactor of chunk blocks to prepare for builds api (#282) (diff) | |
| download | zen-800305f7f2afe01e9ca038a71a68e9318c52ee77.tar.xz zen-800305f7f2afe01e9ca038a71a68e9318c52ee77.zip | |
move WriteToTempFile to basicfile.h (#283)
add helper constructors to BasicFile
Diffstat (limited to 'src/zencore/include')
| -rw-r--r-- | src/zencore/include/zencore/basicfile.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/zencore/include/zencore/basicfile.h b/src/zencore/include/zencore/basicfile.h index 03c5605df..7edd40c9c 100644 --- a/src/zencore/include/zencore/basicfile.h +++ b/src/zencore/include/zencore/basicfile.h @@ -46,6 +46,10 @@ public: kPreventWrite = 0x2000'0000, // Do not open with write sharing mode (prevent other processes from writing to file while open) }; + BasicFile(const std::filesystem::path& FileName, Mode Mode); + BasicFile(const std::filesystem::path& FileName, Mode Mode, std::error_code& Ec); + BasicFile(const std::filesystem::path& FileName, Mode Mode, std::function<bool(std::error_code& Ec)>&& RetryCallback); + void Open(const std::filesystem::path& FileName, Mode Mode); void Open(const std::filesystem::path& FileName, Mode Mode, std::error_code& Ec); void Open(const std::filesystem::path& FileName, Mode Mode, std::function<bool(std::error_code& Ec)>&& RetryCallback); @@ -56,7 +60,7 @@ public: void StreamByteRange(uint64_t FileOffset, uint64_t Size, std::function<void(const void* Data, uint64_t Size)>&& ChunkFun); void Write(MemoryView Data, uint64_t FileOffset); void Write(MemoryView Data, uint64_t FileOffset, std::error_code& Ec); - uint64_t Write(CompositeBuffer Data, uint64_t FileOffset, std::error_code& Ec); + uint64_t Write(const CompositeBuffer& Data, uint64_t FileOffset, std::error_code& Ec); void Write(const void* Data, uint64_t Size, uint64_t FileOffset); void Write(const void* Data, uint64_t Size, uint64_t FileOffset, std::error_code& Ec); void Flush(); @@ -180,6 +184,10 @@ private: uint64_t m_BufferEnd; }; +IoBuffer WriteToTempFile(CompositeBuffer&& Buffer, + const std::filesystem::path& Path, + std::function<bool(std::error_code& Ec)>&& RetryCallback); + ZENCORE_API void basicfile_forcelink(); } // namespace zen |