aboutsummaryrefslogtreecommitdiff
path: root/src/zenvfs/projfs.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2023-09-20 15:22:03 +0200
committerGitHub <[email protected]>2023-09-20 15:22:03 +0200
commit14d7568f9c7d970b7bbf7b6463a0a8530f98bb6f (patch)
treebf24ac15759385cea339f7e1cf5380f984f5699a /src/zenvfs/projfs.cpp
parentchangelog version bump (diff)
downloadzen-14d7568f9c7d970b7bbf7b6463a0a8530f98bb6f.tar.xz
zen-14d7568f9c7d970b7bbf7b6463a0a8530f98bb6f.zip
VFS implementation for local storage service (#396)
currently, only Windows (using Projected File System) is supported
Diffstat (limited to 'src/zenvfs/projfs.cpp')
-rw-r--r--src/zenvfs/projfs.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/zenvfs/projfs.cpp b/src/zenvfs/projfs.cpp
new file mode 100644
index 000000000..5d74337b4
--- /dev/null
+++ b/src/zenvfs/projfs.cpp
@@ -0,0 +1,38 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#include "zenvfs/projfs.h"
+
+#if ZEN_WITH_VFS
+# if ZEN_PLATFORM_WINDOWS
+# include <zencore/windows.h>
+
+namespace zen {
+
+bool
+IsProjFsAvailable()
+{
+ HMODULE hMod = LoadLibraryA("projectedfslib.dll");
+
+ if (hMod)
+ {
+ FreeLibrary(hMod);
+
+ return true;
+ }
+
+ return false;
+}
+
+} // namespace zen
+# else
+namespace zen {
+
+bool
+IsProjFsAvailable()
+{
+ return false;
+}
+
+} // namespace zen
+# endif
+#endif