summaryrefslogtreecommitdiff
path: root/src/core/hle/service/service.cpp
diff options
context:
space:
mode:
authorGravatar Subv2016-06-17 17:09:43 -0500
committerGravatar Subv2016-11-30 23:03:59 -0500
commitc19afd21188e91b9dd2780cf5cb9872a17ad113d (patch)
tree5404cd7850f049d474dbcc3cc4ee80874b0c7627 /src/core/hle/service/service.cpp
parentfixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block ... (diff)
downloadyuzu-c19afd21188e91b9dd2780cf5cb9872a17ad113d.tar.gz
yuzu-c19afd21188e91b9dd2780cf5cb9872a17ad113d.tar.xz
yuzu-c19afd21188e91b9dd2780cf5cb9872a17ad113d.zip
Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
Diffstat (limited to 'src/core/hle/service/service.cpp')
-rw-r--r--src/core/hle/service/service.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index f51a042ff..abfc1806b 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -97,17 +97,13 @@ void Interface::Register(const FunctionInfo* functions, size_t n) {
97// Module interface 97// Module interface
98 98
99static void AddNamedPort(Interface* interface_) { 99static void AddNamedPort(Interface* interface_) {
100 interface_->name = interface_->GetPortName(); 100 auto client_port = Kernel::ClientPort::CreateForHLE(interface_->GetMaxSessions(), std::unique_ptr<Interface>(interface_));
101 interface_->active_sessions = 0; 101 g_kernel_named_ports.emplace(interface_->GetPortName(), client_port);
102 interface_->max_sessions = interface_->GetMaxSessions();
103 g_kernel_named_ports.emplace(interface_->GetPortName(), interface_);
104} 102}
105 103
106void AddService(Interface* interface_) { 104void AddService(Interface* interface_) {
107 interface_->name = interface_->GetPortName(); 105 auto client_port = Kernel::ClientPort::CreateForHLE(interface_->GetMaxSessions(), std::unique_ptr<Interface>(interface_));
108 interface_->active_sessions = 0; 106 g_srv_services.emplace(interface_->GetPortName(), client_port);
109 interface_->max_sessions = interface_->GetMaxSessions();
110 g_srv_services.emplace(interface_->GetPortName(), interface_);
111} 107}
112 108
113/// Initialize ServiceManager 109/// Initialize ServiceManager