From 839292efaaf8d997b2cbca7abae8c6e575f6c01a Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 25 Jan 2022 17:42:19 +0800 Subject: ... --- include/cru/common/io/FileStream.hpp | 4 +- include/cru/common/io/Win32FileStream.hpp | 53 ---------------------- include/cru/common/platform/win/Exception.hpp | 6 ++- .../cru/common/platform/win/Win32FileStream.hpp | 52 +++++++++++++++++++++ 4 files changed, 58 insertions(+), 57 deletions(-) delete mode 100644 include/cru/common/io/Win32FileStream.hpp create mode 100644 include/cru/common/platform/win/Win32FileStream.hpp (limited to 'include/cru/common') diff --git a/include/cru/common/io/FileStream.hpp b/include/cru/common/io/FileStream.hpp index fdde13fa..73c7b61e 100644 --- a/include/cru/common/io/FileStream.hpp +++ b/include/cru/common/io/FileStream.hpp @@ -6,8 +6,8 @@ namespace cru::io { using FileStream = UnixFileStream; } #elif CRU_PLATFORM_WINDOWS -#include "Win32FileStream.hpp" +#include "../platform/win/Win32FileStream.hpp" namespace cru::io { -using FileStream = Win32FileStream; +using FileStream = platform::win::Win32FileStream; } #endif diff --git a/include/cru/common/io/Win32FileStream.hpp b/include/cru/common/io/Win32FileStream.hpp deleted file mode 100644 index 08600a8e..00000000 --- a/include/cru/common/io/Win32FileStream.hpp +++ /dev/null @@ -1,53 +0,0 @@ -#pragma once - -#include "../PreConfig.hpp" - -#ifdef CRU_PLATFORM_WINDOWS - -#include "../String.hpp" -#include "OpenFileFlag.hpp" -#include "Stream.hpp" -#include "cru/common/Base.hpp" - -namespace cru::io { -namespace details { -class Win32FileStreamPrivate; -} - -class CRU_BASE_API Win32FileStream : public Stream { - public: - Win32FileStream(String path, OpenFileFlag flags); - - CRU_DELETE_COPY(Win32FileStream) - CRU_DELETE_MOVE(Win32FileStream) - - ~Win32FileStream() override; - - public: - bool CanSeek() override; - Index Tell() override; - void Seek(Index offset, SeekOrigin origin = SeekOrigin::Current) override; - - bool CanRead() override; - Index Read(std::byte* buffer, Index offset, Index size) override; - using Stream::Read; - - bool CanWrite() override; - Index Write(const std::byte* buffer, Index offset, Index size) override; - using Stream::Write; - - void Close() override; - - private: - void CheckClosed(); - - private: - String path_; - OpenFileFlag flags_; - bool closed_ = false; - - details::Win32FileStreamPrivate* p_; -}; -} // namespace cru::io - -#endif diff --git a/include/cru/common/platform/win/Exception.hpp b/include/cru/common/platform/win/Exception.hpp index f90efe0a..0774327f 100644 --- a/include/cru/common/platform/win/Exception.hpp +++ b/include/cru/common/platform/win/Exception.hpp @@ -38,8 +38,10 @@ class CRU_BASE_API Win32Error : public platform::PlatformException { public: // ::GetLastError is automatically called to get the error code. // The same as Win32Error(::GetLastError(), message) - explicit Win32Error(std::string_view message); - Win32Error(DWORD error_code, std::string_view message); + [[deprecated]] explicit Win32Error(std::string_view message); + explicit Win32Error(String message); + [[deprecated]] Win32Error(DWORD error_code, std::string_view message); + Win32Error(DWORD error_code, String message); CRU_DEFAULT_COPY(Win32Error) CRU_DEFAULT_MOVE(Win32Error) diff --git a/include/cru/common/platform/win/Win32FileStream.hpp b/include/cru/common/platform/win/Win32FileStream.hpp new file mode 100644 index 00000000..231a7ec6 --- /dev/null +++ b/include/cru/common/platform/win/Win32FileStream.hpp @@ -0,0 +1,52 @@ +#pragma once + +#include "../../PreConfig.hpp" + +#ifdef CRU_PLATFORM_WINDOWS + +#include "../../String.hpp" +#include "../../io/OpenFileFlag.hpp" +#include "../../io/Stream.hpp" + +namespace cru::platform::win { +namespace details { +class Win32FileStreamPrivate; +} + +class CRU_BASE_API Win32FileStream : public io::Stream { + public: + Win32FileStream(String path, io::OpenFileFlag flags); + + CRU_DELETE_COPY(Win32FileStream) + CRU_DELETE_MOVE(Win32FileStream) + + ~Win32FileStream() override; + + public: + bool CanSeek() override; + Index Tell() override; + void Seek(Index offset, SeekOrigin origin = SeekOrigin::Current) override; + + bool CanRead() override; + Index Read(std::byte* buffer, Index offset, Index size) override; + using Stream::Read; + + bool CanWrite() override; + Index Write(const std::byte* buffer, Index offset, Index size) override; + using Stream::Write; + + void Close() override; + + private: + void CheckClosed(); + + private: + String path_; + io::OpenFileFlag flags_; + bool closed_ = false; + + details::Win32FileStreamPrivate* p_; +}; +} // namespace cru::io + +#endif -- cgit v1.2.3