diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-12-10 01:03:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-10 01:03:50 +0100 |
commit | 988e557ec81a9f4b883e9089fedd6079f76e07e9 (patch) | |
tree | 2c223ebd34794fc8954d09a7f96fee132d749407 /src/core/hle/kernel/k_light_client_session.cpp | |
parent | Merge pull request #12323 from liamwhite/buffer-format (diff) | |
parent | kernel: implement light IPC (diff) | |
download | yuzu-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.cpp | 31 |
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 |