diff options
| author | Zach Hilman <zachhilman@gmail.com> | 2019-04-28 18:49:46 -0400 |
|---|---|---|
| committer | Zach Hilman <zachhilman@gmail.com> | 2019-09-30 17:23:26 -0400 |
| commit | 68658a8385b74454c8523efe95ceb81b34bb8812 (patch) | |
| tree | c66190e40aa52d7de174653bccbdff78104865b1 /src/core/hle/service/bcat/module.cpp | |
| parent | 2903f3524e7b9d802da4d23ae6d25d07f7eba8f5 (diff) | |
module: Create BCAT backend based upon Settings value on construction
Diffstat (limited to 'src/core/hle/service/bcat/module.cpp')
| -rw-r--r-- | src/core/hle/service/bcat/module.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/core/hle/service/bcat/module.cpp b/src/core/hle/service/bcat/module.cpp index b7bd738fc..32d3d5cfc 100644 --- a/src/core/hle/service/bcat/module.cpp +++ b/src/core/hle/service/bcat/module.cpp @@ -38,10 +38,22 @@ void Module::Interface::CreateBcatService(Kernel::HLERequestContext& ctx) { IPC::ResponseBuilder rb{ctx, 2, 0, 1}; rb.Push(RESULT_SUCCESS); rb.PushIpcInterface<IBcatService>(); +namespace { +std::unique_ptr<Backend> CreateBackendFromSettings(DirectoryGetter getter) { + const auto backend = Settings::values.bcat_backend; + +#ifdef YUZU_ENABLE_BOXCAT + if (backend == "boxcat") + return std::make_unique<Boxcat>(std::move(getter)); +#endif + + return std::make_unique<NullBackend>(std::move(getter)); } +} // Anonymous namespace Module::Interface::Interface(std::shared_ptr<Module> module, const char* name) - : ServiceFramework(name), module(std::move(module)) {} + : ServiceFramework(name), module(std::move(module)), + backend(CreateBackendFromSettings(&Service::FileSystem::GetBCATDirectory)) {} Module::Interface::~Interface() = default; |
