aboutsummaryrefslogtreecommitdiff
path: root/libs/usvfs/test/thooklib_test/test_hooks.cpp
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-11 02:37:39 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-11 02:37:39 -0600
commit7ee008e150bc5bcf76082d726f719ee0fdfda982 (patch)
tree27fb39be241fdb5ac2734c574de678977d1856d0 /libs/usvfs/test/thooklib_test/test_hooks.cpp
Fluorine Manager: full Linux port of Mod Organizer 2
Complete native Linux port with FUSE-based virtual filesystem, Proton/umu-run integration, and Flatpak packaging. Key features: - FUSE VFS replacing Windows USVFS (in-process + standalone helper for Flatpak) - Proton/GE-Proton/umu-run launcher with env var forwarding - Flatpak support (sandbox-aware VFS, NXM handler, umu-run) - Wine prefix management UI - Case-insensitive path resolution for Linux filesystems - QSettings-safe INI handling (avoids Bethesda INI corruption) - Portable instance support with auto-generated launcher scripts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'libs/usvfs/test/thooklib_test/test_hooks.cpp')
-rw-r--r--libs/usvfs/test/thooklib_test/test_hooks.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/libs/usvfs/test/thooklib_test/test_hooks.cpp b/libs/usvfs/test/thooklib_test/test_hooks.cpp
new file mode 100644
index 0000000..edde2c8
--- /dev/null
+++ b/libs/usvfs/test/thooklib_test/test_hooks.cpp
@@ -0,0 +1,38 @@
+#include <Windows.h>
+#include <gtest/gtest.h>
+
+HANDLE WINAPI THCreateFileA_1(LPCSTR lpFileName, DWORD dwDesiredAccess,
+ DWORD dwShareMode,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes,
+ HANDLE hTemplateFile)
+{
+ if (strcmp(lpFileName, INVALID_FILENAME.c_str()) == 0) {
+ return MARKERHANDLE;
+ } else {
+ HANDLE res =
+ ::CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes,
+ dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
+ return res;
+ }
+}
+
+HANDLE WINAPI THCreateFileW_1(LPCWSTR lpFileName, DWORD dwDesiredAccess,
+ DWORD dwShareMode,
+ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
+ DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes,
+ HANDLE hTemplateFile)
+{
+ if (wcscmp(lpFileName, INVALID_FILENAME.w_str()) == 0) {
+ EXPECT_EQ(0x42, dwDesiredAccess);
+ EXPECT_EQ(0x43, dwShareMode);
+ EXPECT_EQ(0x44, (int)lpSecurityAttributes);
+ EXPECT_EQ(0x45, dwCreationDisposition);
+ EXPECT_EQ(0x46, dwFlagsAndAttributes);
+ EXPECT_EQ(0x47, (int)hTemplateFile);
+ return MARKERHANDLE;
+ } else {
+ return ::CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes,
+ dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
+ }
+}