diff options
| author | Dan Engelbrecht <[email protected]> | 2022-03-15 17:41:19 +0100 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2022-03-31 11:28:32 +0200 |
| commit | ce3ea816c2609ed4e5afc53aa47b3de7c9ab2bad (patch) | |
| tree | 48247aaf9b0accfca5efbda98435ac42d7db8570 /zenstore/include | |
| parent | Delete GCd blocks on close. (diff) | |
| download | zen-ce3ea816c2609ed4e5afc53aa47b3de7c9ab2bad.tar.xz zen-ce3ea816c2609ed4e5afc53aa47b3de7c9ab2bad.zip | |
Manage lifetime of FileHandle
Diffstat (limited to 'zenstore/include')
| -rw-r--r-- | zenstore/include/zenstore/basicfile.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/zenstore/include/zenstore/basicfile.h b/zenstore/include/zenstore/basicfile.h index 2df016c76..9ee4ee512 100644 --- a/zenstore/include/zenstore/basicfile.h +++ b/zenstore/include/zenstore/basicfile.h @@ -43,10 +43,17 @@ public: void Write(const void* Data, uint64_t Size, uint64_t FileOffset, std::error_code& Ec); void Flush(); uint64_t FileSize(); + void SetFileSize(uint64_t FileSize); IoBuffer ReadAll(); void WriteAll(IoBuffer Data, std::error_code& Ec); inline void* Handle() { return m_FileHandle; } + inline void* Detach() + { + void* FileHandle = m_FileHandle; + m_FileHandle = 0; + return FileHandle; + } protected: void* m_FileHandle = nullptr; // This is either null or valid |