/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: FileStream.Win32.hpp Date: 2021-6-12 Author: Reece ***/ #pragma once #if !defined(_AURUNTIME_GENERICFILESTREAM) namespace Aurora::IO::FS { class WinFileStream : public IFileStream { public: ~WinFileStream(); void Init(HANDLE handle); AuUInt64 GetOffset() override; bool SetOffset(AuUInt64 offset) override; AuUInt64 GetLength() override; AuUInt64 Read(void *in, AuUInt64 length) override; AuUInt64 Write(const void *out, AuUInt64 length) override; void Close() override; void Flush() override; private: HANDLE handle_ = INVALID_HANDLE_VALUE; }; } #endif