summaryrefslogtreecommitdiff
path: root/src/core/hle/service/psc
diff options
context:
space:
mode:
authorGravatar Lioncash2020-11-26 15:19:08 -0500
committerGravatar Lioncash2020-11-26 20:03:11 -0500
commit1a954b2a596fdfd4fc4b5feb9b43c8147de4cc7f (patch)
tree3593cd42e0ba676c3919561983f7e9766fcb641c /src/core/hle/service/psc
parentMerge pull request #4975 from comex/invalid-syncpoint-id (diff)
downloadyuzu-1a954b2a596fdfd4fc4b5feb9b43c8147de4cc7f.tar.gz
yuzu-1a954b2a596fdfd4fc4b5feb9b43c8147de4cc7f.tar.xz
yuzu-1a954b2a596fdfd4fc4b5feb9b43c8147de4cc7f.zip
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/core/hle/service/psc')
-rw-r--r--src/core/hle/service/psc/psc.cpp14
-rw-r--r--src/core/hle/service/psc/psc.h6
2 files changed, 12 insertions, 8 deletions
diff --git a/src/core/hle/service/psc/psc.cpp b/src/core/hle/service/psc/psc.cpp
index 99e1c9042..5a52b2b05 100644
--- a/src/core/hle/service/psc/psc.cpp
+++ b/src/core/hle/service/psc/psc.cpp
@@ -14,7 +14,7 @@ namespace Service::PSC {
14 14
15class PSC_C final : public ServiceFramework<PSC_C> { 15class PSC_C final : public ServiceFramework<PSC_C> {
16public: 16public:
17 explicit PSC_C() : ServiceFramework{"psc:c"} { 17 explicit PSC_C(Core::System& system_) : ServiceFramework{system_, "psc:c"} {
18 // clang-format off 18 // clang-format off
19 static const FunctionInfo functions[] = { 19 static const FunctionInfo functions[] = {
20 {0, nullptr, "Initialize"}, 20 {0, nullptr, "Initialize"},
@@ -35,7 +35,7 @@ public:
35 35
36class IPmModule final : public ServiceFramework<IPmModule> { 36class IPmModule final : public ServiceFramework<IPmModule> {
37public: 37public:
38 explicit IPmModule() : ServiceFramework{"IPmModule"} { 38 explicit IPmModule(Core::System& system_) : ServiceFramework{system_, "IPmModule"} {
39 // clang-format off 39 // clang-format off
40 static const FunctionInfo functions[] = { 40 static const FunctionInfo functions[] = {
41 {0, nullptr, "Initialize"}, 41 {0, nullptr, "Initialize"},
@@ -52,7 +52,7 @@ public:
52 52
53class PSC_M final : public ServiceFramework<PSC_M> { 53class PSC_M final : public ServiceFramework<PSC_M> {
54public: 54public:
55 explicit PSC_M() : ServiceFramework{"psc:m"} { 55 explicit PSC_M(Core::System& system_) : ServiceFramework{system_, "psc:m"} {
56 // clang-format off 56 // clang-format off
57 static const FunctionInfo functions[] = { 57 static const FunctionInfo functions[] = {
58 {0, &PSC_M::GetPmModule, "GetPmModule"}, 58 {0, &PSC_M::GetPmModule, "GetPmModule"},
@@ -68,13 +68,13 @@ private:
68 68
69 IPC::ResponseBuilder rb{ctx, 2, 0, 1}; 69 IPC::ResponseBuilder rb{ctx, 2, 0, 1};
70 rb.Push(RESULT_SUCCESS); 70 rb.Push(RESULT_SUCCESS);
71 rb.PushIpcInterface<IPmModule>(); 71 rb.PushIpcInterface<IPmModule>(system);
72 } 72 }
73}; 73};
74 74
75void InstallInterfaces(SM::ServiceManager& sm) { 75void InstallInterfaces(SM::ServiceManager& sm, Core::System& system) {
76 std::make_shared<PSC_C>()->InstallAsService(sm); 76 std::make_shared<PSC_C>(system)->InstallAsService(sm);
77 std::make_shared<PSC_M>()->InstallAsService(sm); 77 std::make_shared<PSC_M>(system)->InstallAsService(sm);
78} 78}
79 79
80} // namespace Service::PSC 80} // namespace Service::PSC
diff --git a/src/core/hle/service/psc/psc.h b/src/core/hle/service/psc/psc.h
index 5052eb02c..89344f32d 100644
--- a/src/core/hle/service/psc/psc.h
+++ b/src/core/hle/service/psc/psc.h
@@ -4,12 +4,16 @@
4 4
5#pragma once 5#pragma once
6 6
7namespace Core {
8class System;
9}
10
7namespace Service::SM { 11namespace Service::SM {
8class ServiceManager; 12class ServiceManager;
9} 13}
10 14
11namespace Service::PSC { 15namespace Service::PSC {
12 16
13void InstallInterfaces(SM::ServiceManager& sm); 17void InstallInterfaces(SM::ServiceManager& sm, Core::System& system);
14 18
15} // namespace Service::PSC 19} // namespace Service::PSC