#pragma once #include "mockDaemon.h" #include #include #include #include #include inline const std::filesystem::path mntpnt {binDir / "mnt"}; class DLL_PUBLIC MockFuseApp : public NetFS::FuseApp { public: MockFuseApp(); ~MockFuseApp() override; SPECIAL_MEMBERS_DELETE(MockFuseApp); struct fuse_context * fuse_get_context() override; void vlogf(int, const char * fmt, va_list args) const noexcept override; const auto & getStatCache() const { return statCache; } private: friend class FuseMountPoint; static char * vstrdupf(const char * fmt, va_list args); struct fuse * fs; struct fuse_args fargs; }; class DLL_PUBLIC FuseMountPoint : public MockDaemonHost { public: FuseMountPoint(); ~FuseMountPoint(); SPECIAL_MEMBERS_DELETE(FuseMountPoint); MockFuseApp fuseApp; private: std::optional th; };