summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/client_session.cpp
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2016-06-18 20:39:26 +0200
committerSubv <subv2112@gmail.com>2016-12-01 05:04:00 +0100
commitc5e7e0fa26fc793c8b9f3effe25586f7fb57953e (patch)
tree2acac9450de6b1d8cc42d89f9aa08759d77f9cd9 /src/core/hle/kernel/client_session.cpp
parentKernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class. (diff)
downloadyuzu-c5e7e0fa26fc793c8b9f3effe25586f7fb57953e.tar
yuzu-c5e7e0fa26fc793c8b9f3effe25586f7fb57953e.tar.gz
yuzu-c5e7e0fa26fc793c8b9f3effe25586f7fb57953e.tar.bz2
yuzu-c5e7e0fa26fc793c8b9f3effe25586f7fb57953e.tar.lz
yuzu-c5e7e0fa26fc793c8b9f3effe25586f7fb57953e.tar.xz
yuzu-c5e7e0fa26fc793c8b9f3effe25586f7fb57953e.tar.zst
yuzu-c5e7e0fa26fc793c8b9f3effe25586f7fb57953e.zip
Diffstat (limited to 'src/core/hle/kernel/client_session.cpp')
-rw-r--r--src/core/hle/kernel/client_session.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/hle/kernel/client_session.cpp b/src/core/hle/kernel/client_session.cpp
index f1ad9b65b..22fa2ff03 100644
--- a/src/core/hle/kernel/client_session.cpp
+++ b/src/core/hle/kernel/client_session.cpp
@@ -8,6 +8,7 @@
#include "core/hle/kernel/client_session.h"
#include "core/hle/kernel/server_session.h"
#include "core/hle/kernel/kernel.h"
+#include "core/hle/service/service.h"
namespace Kernel {
@@ -20,6 +21,7 @@ ResultVal<SharedPtr<ClientSession>> ClientSession::Create(SharedPtr<ServerSessio
client_session->name = std::move(name);
client_session->server_session = server_session;
client_session->client_port = client_port;
+ client_session->hle_helper = client_port->hle_interface;
return MakeResult<SharedPtr<ClientSession>>(std::move(client_session));
}
@@ -31,10 +33,9 @@ ResultCode ClientSession::HandleSyncRequest() {
if (result.IsError())
return result;
- // Tell the client port to handle the request in case it's an HLE service.
- // The client port can be nullptr for port-less sessions (Like for example File and Directory sessions).
- if (client_port != nullptr)
- result = client_port->HandleSyncRequest();
+ // If this ClientSession has an associated HLE helper, forward the request to it.
+ if (hle_helper != nullptr)
+ result = hle_helper->HandleSyncRequest(server_session);
return result;
}