summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_light_client_session.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-12-10 01:03:50 +0100
committerGitHub <noreply@github.com>2023-12-10 01:03:50 +0100
commit988e557ec81a9f4b883e9089fedd6079f76e07e9 (patch)
tree2c223ebd34794fc8954d09a7f96fee132d749407 /src/core/hle/kernel/k_light_client_session.cpp
parentMerge pull request #12323 from liamwhite/buffer-format (diff)
parentkernel: implement light IPC (diff)
downloadyuzu-988e557ec81a9f4b883e9089fedd6079f76e07e9.tar
yuzu-988e557ec81a9f4b883e9089fedd6079f76e07e9.tar.gz
yuzu-988e557ec81a9f4b883e9089fedd6079f76e07e9.tar.bz2
yuzu-988e557ec81a9f4b883e9089fedd6079f76e07e9.tar.lz
yuzu-988e557ec81a9f4b883e9089fedd6079f76e07e9.tar.xz
yuzu-988e557ec81a9f4b883e9089fedd6079f76e07e9.tar.zst
yuzu-988e557ec81a9f4b883e9089fedd6079f76e07e9.zip
Diffstat (limited to 'src/core/hle/kernel/k_light_client_session.cpp')
-rw-r--r--src/core/hle/kernel/k_light_client_session.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_light_client_session.cpp b/src/core/hle/kernel/k_light_client_session.cpp
new file mode 100644
index 000000000..8ce3e1ae4
--- /dev/null
+++ b/src/core/hle/kernel/k_light_client_session.cpp
@@ -0,0 +1,31 @@
+// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "core/hle/kernel/k_light_client_session.h"
+#include "core/hle/kernel/k_light_session.h"
+#include "core/hle/kernel/k_thread.h"
+
+namespace Kernel {
+
+KLightClientSession::KLightClientSession(KernelCore& kernel) : KAutoObject(kernel) {}
+
+KLightClientSession::~KLightClientSession() = default;
+
+void KLightClientSession::Destroy() {
+ m_parent->OnClientClosed();
+}
+
+void KLightClientSession::OnServerClosed() {}
+
+Result KLightClientSession::SendSyncRequest(u32* data) {
+ // Get the request thread.
+ KThread* cur_thread = GetCurrentThreadPointer(m_kernel);
+
+ // Set the light data.
+ cur_thread->SetLightSessionData(data);
+
+ // Send the request.
+ R_RETURN(m_parent->OnRequest(cur_thread));
+}
+
+} // namespace Kernel