aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/include
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-02-12 09:05:07 +0100
committerGitHub Enterprise <[email protected]>2025-02-12 09:05:07 +0100
commit800305f7f2afe01e9ca038a71a68e9318c52ee77 (patch)
treecded7dabccef9c1d47aa9680507d278026e65353 /src/zencore/include
parentmoving and small refactor of chunk blocks to prepare for builds api (#282) (diff)
downloadzen-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.h10
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