diff options
author | Lioncash <mathew1800@gmail.com> | 2020-11-26 15:19:08 -0500 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2020-11-26 20:03:11 -0500 |
commit | 1a954b2a596fdfd4fc4b5feb9b43c8147de4cc7f (patch) | |
tree | 3593cd42e0ba676c3919561983f7e9766fcb641c /src/yuzu_tester/service/yuzutest.cpp | |
parent | 322349e8cc948d069f62a85a0c09a689c3e31796 (diff) |
service: Eliminate usages of the global system instance
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
Diffstat (limited to 'src/yuzu_tester/service/yuzutest.cpp')
-rw-r--r-- | src/yuzu_tester/service/yuzutest.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/yuzu_tester/service/yuzutest.cpp b/src/yuzu_tester/service/yuzutest.cpp index 2d3f6e3a7..e257fae25 100644 --- a/src/yuzu_tester/service/yuzutest.cpp +++ b/src/yuzu_tester/service/yuzutest.cpp @@ -4,6 +4,7 @@ #include <memory> #include "common/string_util.h" +#include "core/core.h" #include "core/hle/ipc_helpers.h" #include "core/hle/service/service.h" #include "core/hle/service/sm/sm.h" @@ -15,10 +16,10 @@ constexpr u64 SERVICE_VERSION = 0x00000002; class YuzuTest final : public ServiceFramework<YuzuTest> { public: - explicit YuzuTest(std::string data, - std::function<void(std::vector<TestResult>)> finish_callback) - : ServiceFramework{"yuzutest"}, data(std::move(data)), - finish_callback(std::move(finish_callback)) { + explicit YuzuTest(Core::System& system_, std::string data_, + std::function<void(std::vector<TestResult>)> finish_callback_) + : ServiceFramework{system_, "yuzutest"}, data{std::move(data_)}, finish_callback{std::move( + finish_callback_)} { static const FunctionInfo functions[] = { {0, &YuzuTest::Initialize, "Initialize"}, {1, &YuzuTest::GetServiceVersion, "GetServiceVersion"}, @@ -104,9 +105,11 @@ private: std::function<void(std::vector<TestResult>)> finish_callback; }; -void InstallInterfaces(SM::ServiceManager& sm, std::string data, +void InstallInterfaces(Core::System& system, std::string data, std::function<void(std::vector<TestResult>)> finish_callback) { - std::make_shared<YuzuTest>(data, finish_callback)->InstallAsService(sm); + auto& sm = system.ServiceManager(); + std::make_shared<YuzuTest>(system, std::move(data), std::move(finish_callback)) + ->InstallAsService(sm); } } // namespace Service::Yuzu |