aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/filesystem.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2023-05-15 17:58:46 +0200
committerGitHub <[email protected]>2023-05-15 17:58:46 +0200
commit121d3fb3d9835ec78a1de7f268e79bf79cbf5865 (patch)
tree2f9c9f5c6a1d3ed41a9f3009104002bc5dd94bb8 /src/zencore/filesystem.cpp
parentall threads should be named (#304) (diff)
downloadzen-121d3fb3d9835ec78a1de7f268e79bf79cbf5865.tar.xz
zen-121d3fb3d9835ec78a1de7f268e79bf79cbf5865.zip
Remove ATL header usage (#306)
ATL has been used here and there as a convenience. Given that this is a legacy component and not always something which gets installed along with the compiler we hereby remove the dependency altogether in favour of our own simple wrappers
Diffstat (limited to 'src/zencore/filesystem.cpp')
-rw-r--r--src/zencore/filesystem.cpp60
1 files changed, 30 insertions, 30 deletions
diff --git a/src/zencore/filesystem.cpp b/src/zencore/filesystem.cpp
index 8a6a9869c..9d55331eb 100644
--- a/src/zencore/filesystem.cpp
+++ b/src/zencore/filesystem.cpp
@@ -15,10 +15,10 @@
#endif
#if ZEN_PLATFORM_WINDOWS
-# include <atlbase.h>
-# include <atlfile.h>
+ZEN_THIRD_PARTY_INCLUDES_START
# include <winioctl.h>
# include <winnt.h>
+ZEN_THIRD_PARTY_INCLUDES_END
#endif
#if ZEN_PLATFORM_LINUX
@@ -51,13 +51,13 @@ using namespace std::literals;
static bool
DeleteReparsePoint(const wchar_t* Path, DWORD dwReparseTag)
{
- CHandle hDir(CreateFileW(Path,
- GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
- nullptr,
- OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT,
- nullptr));
+ windows::Handle hDir(CreateFileW(Path,
+ GENERIC_WRITE,
+ FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+ nullptr,
+ OPEN_EXISTING,
+ FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT,
+ nullptr));
if (hDir != INVALID_HANDLE_VALUE)
{
@@ -245,13 +245,13 @@ bool
SupportsBlockRefCounting(std::filesystem::path Path)
{
#if ZEN_PLATFORM_WINDOWS
- ATL::CHandle Handle(CreateFileW(Path.c_str(),
- GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
- nullptr,
- OPEN_EXISTING,
- FILE_FLAG_BACKUP_SEMANTICS,
- nullptr));
+ windows::Handle Handle(CreateFileW(Path.c_str(),
+ GENERIC_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+ nullptr,
+ OPEN_EXISTING,
+ FILE_FLAG_BACKUP_SEMANTICS,
+ nullptr));
if (Handle == INVALID_HANDLE_VALUE)
{
@@ -281,7 +281,7 @@ bool
CloneFile(std::filesystem::path FromPath, std::filesystem::path ToPath)
{
#if ZEN_PLATFORM_WINDOWS
- ATL::CHandle FromFile(CreateFileW(FromPath.c_str(), GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, 0, nullptr));
+ windows::Handle FromFile(CreateFileW(FromPath.c_str(), GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, 0, nullptr));
if (FromFile == INVALID_HANDLE_VALUE)
{
FromFile.Detach();
@@ -327,13 +327,13 @@ CloneFile(std::filesystem::path FromPath, std::filesystem::path ToPath)
SetFileAttributesW(ToPath.c_str(), FILE_ATTRIBUTE_NORMAL);
- ATL::CHandle TargetFile(CreateFileW(ToPath.c_str(),
- GENERIC_READ | GENERIC_WRITE | DELETE,
- /* no sharing */ FILE_SHARE_READ,
- nullptr,
- OPEN_ALWAYS,
- 0,
- /* hTemplateFile */ FromFile));
+ windows::Handle TargetFile(CreateFileW(ToPath.c_str(),
+ GENERIC_READ | GENERIC_WRITE | DELETE,
+ /* no sharing */ FILE_SHARE_READ,
+ nullptr,
+ OPEN_ALWAYS,
+ 0,
+ /* hTemplateFile */ FromFile));
if (TargetFile == INVALID_HANDLE_VALUE)
{
@@ -560,8 +560,8 @@ void
WriteFile(std::filesystem::path Path, const IoBuffer* const* Data, size_t BufferCount)
{
#if ZEN_PLATFORM_WINDOWS
- CAtlFile Outfile;
- HRESULT hRes = Outfile.Create(Path.c_str(), GENERIC_WRITE, FILE_SHARE_READ, CREATE_ALWAYS);
+ windows::FileHandle Outfile;
+ HRESULT hRes = Outfile.Create(Path.c_str(), GENERIC_WRITE, FILE_SHARE_READ, CREATE_ALWAYS);
if (hRes == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND))
{
CreateDirectories(Path.parent_path());
@@ -676,7 +676,7 @@ ReadFile(std::filesystem::path Path)
void* Handle;
#if ZEN_PLATFORM_WINDOWS
- ATL::CHandle FromFile(CreateFileW(Path.c_str(), GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, 0, nullptr));
+ windows::Handle FromFile(CreateFileW(Path.c_str(), GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, 0, nullptr));
if (FromFile == INVALID_HANDLE_VALUE)
{
FromFile.Detach();
@@ -717,7 +717,7 @@ bool
ScanFile(std::filesystem::path Path, const uint64_t ChunkSize, std::function<void(const void* Data, size_t Size)>&& ProcessFunc)
{
#if ZEN_PLATFORM_WINDOWS
- ATL::CHandle FromFile(CreateFileW(Path.c_str(), GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, 0, nullptr));
+ windows::Handle FromFile(CreateFileW(Path.c_str(), GENERIC_READ, FILE_SHARE_READ, nullptr, OPEN_EXISTING, 0, nullptr));
if (FromFile == INVALID_HANDLE_VALUE)
{
FromFile.Detach();
@@ -826,8 +826,8 @@ FileSystemTraversal::TraverseFileSystem(const std::filesystem::path& RootDir, Tr
FILE_INFO_BY_HANDLE_CLASS FibClass = FileIdBothDirectoryRestartInfo;
bool Continue = true;
- CAtlFile RootDirHandle;
- HRESULT hRes =
+ windows::FileHandle RootDirHandle;
+ HRESULT hRes =
RootDirHandle.Create(RootDir.c_str(), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS);
if (FAILED(hRes))