aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/hle_ipc.cpp
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2017-06-05 22:39:26 -0700
committerYuri Kunde Schlesner <yuriks@yuriks.net>2017-06-06 02:56:32 -0700
commit6354d083594249fa1995be7b024943c258f63880 (patch)
treebe459930c35e50f698ef7747730092116eea6a74 /src/core/hle/kernel/hle_ipc.cpp
parent7e5dd46cf4c7be421b6a86a661f6dd9cd1ef4332 (diff)
Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
This allows attaching a HLE handle to a ServerPort at any point after it is created, allowing port/session creation to be generic between HLE and regular services.
Diffstat (limited to 'src/core/hle/kernel/hle_ipc.cpp')
-rw-r--r--src/core/hle/kernel/hle_ipc.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp
index 4886afa5c..0922b3f47 100644
--- a/src/core/hle/kernel/hle_ipc.cpp
+++ b/src/core/hle/kernel/hle_ipc.cpp
@@ -12,10 +12,12 @@
namespace Kernel {
void SessionRequestHandler::ClientConnected(SharedPtr<ServerSession> server_session) {
+ server_session->SetHleHandler(shared_from_this());
connected_sessions.push_back(server_session);
}
void SessionRequestHandler::ClientDisconnected(SharedPtr<ServerSession> server_session) {
+ server_session->SetHleHandler(nullptr);
boost::range::remove_erase(connected_sessions, server_session);
}