From 14d7568f9c7d970b7bbf7b6463a0a8530f98bb6f Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Wed, 20 Sep 2023 15:22:03 +0200 Subject: VFS implementation for local storage service (#396) currently, only Windows (using Projected File System) is supported --- src/zenvfs/vfs.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/zenvfs/vfs.cpp (limited to 'src/zenvfs/vfs.cpp') diff --git a/src/zenvfs/vfs.cpp b/src/zenvfs/vfs.cpp new file mode 100644 index 000000000..02dbc904c --- /dev/null +++ b/src/zenvfs/vfs.cpp @@ -0,0 +1,56 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "zenvfs/vfs.h" +#include "vfsprovider.h" + +#include +#include +#include +#include + +#if ZEN_WITH_VFS + +namespace zen { + +VfsHost::VfsHost(std::string_view VfsRootPath) : m_Provider(new VfsProvider(VfsRootPath)) +{ +} + +VfsHost::~VfsHost() +{ + delete m_Provider; +} + +void +VfsHost::Initialize() +{ + m_Provider->Initialize(); +} + +void +VfsHost::Run() +{ + m_Provider->Run(); +} + +void +VfsHost::RequestStop() +{ + m_Provider->RequestStop(); +} + +void +VfsHost::Cleanup() +{ + m_Provider->Cleanup(); +} + +void +VfsHost::AddMount(std::string_view Mountpoint, Ref&& DataSource) +{ + m_Provider->AddMount(Mountpoint, std::move(DataSource)); +} + +} // namespace zen + +#endif -- cgit v1.2.3