aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/server_session.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
commit8a35f3634e3adae5f131ac2f5d6c5f628e9fdab8 (patch)
treebe459930c35e50f698ef7747730092116eea6a74 /src/core/hle/kernel/server_session.cpp
parent9dd1fd5b9e3a3c8b61d61790d0e36e34b05e1795 (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/server_session.cpp')
-rw-r--r--src/core/hle/kernel/server_session.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/core/hle/kernel/server_session.cpp b/src/core/hle/kernel/server_session.cpp
index dc39d5229a..2dc709bc9d 100644
--- a/src/core/hle/kernel/server_session.cpp
+++ b/src/core/hle/kernel/server_session.cpp
@@ -28,16 +28,14 @@ ServerSession::~ServerSession() {
parent->server = nullptr;
}
-ResultVal<SharedPtr<ServerSession>> ServerSession::Create(
- std::string name, std::shared_ptr<SessionRequestHandler> hle_handler) {
+ResultVal<SharedPtr<ServerSession>> ServerSession::Create(std::string name) {
SharedPtr<ServerSession> server_session(new ServerSession);
server_session->name = std::move(name);
server_session->signaled = false;
- server_session->hle_handler = std::move(hle_handler);
server_session->parent = nullptr;
- return MakeResult<SharedPtr<ServerSession>>(std::move(server_session));
+ return MakeResult(std::move(server_session));
}
bool ServerSession::ShouldWait(Thread* thread) const {
@@ -71,13 +69,9 @@ ResultCode ServerSession::HandleSyncRequest() {
return RESULT_SUCCESS;
}
-ServerSession::SessionPair ServerSession::CreateSessionPair(
- const std::string& name, std::shared_ptr<SessionRequestHandler> hle_handler,
- SharedPtr<ClientPort> port) {
-
- auto server_session =
- ServerSession::Create(name + "_Server", std::move(hle_handler)).MoveFrom();
-
+ServerSession::SessionPair ServerSession::CreateSessionPair(const std::string& name,
+ SharedPtr<ClientPort> port) {
+ auto server_session = ServerSession::Create(name + "_Server").MoveFrom();
SharedPtr<ClientSession> client_session(new ClientSession);
client_session->name = name + "_Client";