summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Lioncash2020-09-07 03:17:06 -0400
committerGravatar Lioncash2020-09-07 03:18:45 -0400
commitffdf8c0cb334b4454e5913832ad74d68117e38e7 (patch)
treec7b601ba20df631eb901d72fa707ae04f8cbd6e0 /src/core
parentMerge pull request #4606 from lioncash/constexpr (diff)
downloadyuzu-ffdf8c0cb334b4454e5913832ad74d68117e38e7.tar.gz
yuzu-ffdf8c0cb334b4454e5913832ad74d68117e38e7.tar.xz
yuzu-ffdf8c0cb334b4454e5913832ad74d68117e38e7.zip
service: Remove two usages of the global system accessor
Removes more instances of reliance on global state.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/hle/service/service.cpp6
-rw-r--r--src/core/hle/service/service.h4
-rw-r--r--src/core/hle/service/sm/sm.cpp2
3 files changed, 5 insertions, 7 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 538f28495..94bc5ade7 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -105,10 +105,9 @@ void ServiceFrameworkBase::InstallAsService(SM::ServiceManager& service_manager)
105 port_installed = true; 105 port_installed = true;
106} 106}
107 107
108void ServiceFrameworkBase::InstallAsNamedPort() { 108void ServiceFrameworkBase::InstallAsNamedPort(Kernel::KernelCore& kernel) {
109 ASSERT(!port_installed); 109 ASSERT(!port_installed);
110 110
111 auto& kernel = Core::System::GetInstance().Kernel();
112 auto [server_port, client_port] = 111 auto [server_port, client_port] =
113 Kernel::ServerPort::CreatePortPair(kernel, max_sessions, service_name); 112 Kernel::ServerPort::CreatePortPair(kernel, max_sessions, service_name);
114 server_port->SetHleHandler(shared_from_this()); 113 server_port->SetHleHandler(shared_from_this());
@@ -116,10 +115,9 @@ void ServiceFrameworkBase::InstallAsNamedPort() {
116 port_installed = true; 115 port_installed = true;
117} 116}
118 117
119std::shared_ptr<Kernel::ClientPort> ServiceFrameworkBase::CreatePort() { 118std::shared_ptr<Kernel::ClientPort> ServiceFrameworkBase::CreatePort(Kernel::KernelCore& kernel) {
120 ASSERT(!port_installed); 119 ASSERT(!port_installed);
121 120
122 auto& kernel = Core::System::GetInstance().Kernel();
123 auto [server_port, client_port] = 121 auto [server_port, client_port] =
124 Kernel::ServerPort::CreatePortPair(kernel, max_sessions, service_name); 122 Kernel::ServerPort::CreatePortPair(kernel, max_sessions, service_name);
125 auto port = MakeResult(std::move(server_port)).Unwrap(); 123 auto port = MakeResult(std::move(server_port)).Unwrap();
diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h
index 022d885b6..a01ef3353 100644
--- a/src/core/hle/service/service.h
+++ b/src/core/hle/service/service.h
@@ -63,9 +63,9 @@ public:
63 /// Creates a port pair and registers this service with the given ServiceManager. 63 /// Creates a port pair and registers this service with the given ServiceManager.
64 void InstallAsService(SM::ServiceManager& service_manager); 64 void InstallAsService(SM::ServiceManager& service_manager);
65 /// Creates a port pair and registers it on the kernel's global port registry. 65 /// Creates a port pair and registers it on the kernel's global port registry.
66 void InstallAsNamedPort(); 66 void InstallAsNamedPort(Kernel::KernelCore& kernel);
67 /// Creates and returns an unregistered port for the service. 67 /// Creates and returns an unregistered port for the service.
68 std::shared_ptr<Kernel::ClientPort> CreatePort(); 68 std::shared_ptr<Kernel::ClientPort> CreatePort(Kernel::KernelCore& kernel);
69 69
70 void InvokeRequest(Kernel::HLERequestContext& ctx); 70 void InvokeRequest(Kernel::HLERequestContext& ctx);
71 71
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp
index d872de16c..586b3d8eb 100644
--- a/src/core/hle/service/sm/sm.cpp
+++ b/src/core/hle/service/sm/sm.cpp
@@ -43,7 +43,7 @@ void ServiceManager::InstallInterfaces(std::shared_ptr<ServiceManager> self,
43 ASSERT(self->sm_interface.expired()); 43 ASSERT(self->sm_interface.expired());
44 44
45 auto sm = std::make_shared<SM>(self, kernel); 45 auto sm = std::make_shared<SM>(self, kernel);
46 sm->InstallAsNamedPort(); 46 sm->InstallAsNamedPort(kernel);
47 self->sm_interface = sm; 47 self->sm_interface = sm;
48 self->controller_interface = std::make_unique<Controller>(); 48 self->controller_interface = std::make_unique<Controller>();
49} 49}