aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_client_session.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-04-13 17:48:37 -0700
committerbunnei <bunneidev@gmail.com>2021-05-05 16:40:51 -0700
commit83b96b726486bba27ceff633e735d160fa1f785f (patch)
tree6e0000cb345dc02c8f2ca38958b7c90383f45b03 /src/core/hle/kernel/k_client_session.cpp
parent7d0ee9a1b141cfa045e645c492eaa24d22ce77ee (diff)
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
Diffstat (limited to 'src/core/hle/kernel/k_client_session.cpp')
-rw-r--r--src/core/hle/kernel/k_client_session.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_client_session.cpp b/src/core/hle/kernel/k_client_session.cpp
new file mode 100644
index 0000000000..0618dc2468
--- /dev/null
+++ b/src/core/hle/kernel/k_client_session.cpp
@@ -0,0 +1,31 @@
+// Copyright 2021 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/hle/kernel/hle_ipc.h"
+#include "core/hle/kernel/k_client_session.h"
+#include "core/hle/kernel/k_server_session.h"
+#include "core/hle/kernel/k_session.h"
+#include "core/hle/kernel/k_thread.h"
+#include "core/hle/kernel/svc_results.h"
+#include "core/hle/result.h"
+
+namespace Kernel {
+
+KClientSession::KClientSession(KernelCore& kernel) : KAutoObjectWithSlabHeapAndContainer{kernel} {}
+KClientSession::~KClientSession() = default;
+
+void KClientSession::Destroy() {
+ parent->OnClientClosed();
+ parent->Close();
+}
+
+void KClientSession::OnServerClosed() {}
+
+ResultCode KClientSession::SendSyncRequest(KThread* thread, Core::Memory::Memory& memory,
+ Core::Timing::CoreTiming& core_timing) {
+ // Signal the server session that new data is available
+ return parent->GetServerSession().HandleSyncRequest(thread, memory, core_timing);
+}
+
+} // namespace Kernel