diff options
| author | 2020-11-26 15:19:08 -0500 | |
|---|---|---|
| committer | 2020-11-26 20:03:11 -0500 | |
| commit | 1a954b2a596fdfd4fc4b5feb9b43c8147de4cc7f (patch) | |
| tree | 3593cd42e0ba676c3919561983f7e9766fcb641c /src/core/hle/service/psc | |
| parent | Merge pull request #4975 from comex/invalid-syncpoint-id (diff) | |
| download | yuzu-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.cpp | 14 | ||||
| -rw-r--r-- | src/core/hle/service/psc/psc.h | 6 |
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 | ||
| 15 | class PSC_C final : public ServiceFramework<PSC_C> { | 15 | class PSC_C final : public ServiceFramework<PSC_C> { |
| 16 | public: | 16 | public: |
| 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 | ||
| 36 | class IPmModule final : public ServiceFramework<IPmModule> { | 36 | class IPmModule final : public ServiceFramework<IPmModule> { |
| 37 | public: | 37 | public: |
| 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 | ||
| 53 | class PSC_M final : public ServiceFramework<PSC_M> { | 53 | class PSC_M final : public ServiceFramework<PSC_M> { |
| 54 | public: | 54 | public: |
| 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 | ||
| 75 | void InstallInterfaces(SM::ServiceManager& sm) { | 75 | void 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 | ||
| 7 | namespace Core { | ||
| 8 | class System; | ||
| 9 | } | ||
| 10 | |||
| 7 | namespace Service::SM { | 11 | namespace Service::SM { |
| 8 | class ServiceManager; | 12 | class ServiceManager; |
| 9 | } | 13 | } |
| 10 | 14 | ||
| 11 | namespace Service::PSC { | 15 | namespace Service::PSC { |
| 12 | 16 | ||
| 13 | void InstallInterfaces(SM::ServiceManager& sm); | 17 | void InstallInterfaces(SM::ServiceManager& sm, Core::System& system); |
| 14 | 18 | ||
| 15 | } // namespace Service::PSC | 19 | } // namespace Service::PSC |