summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/session.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2019-11-30 18:56:35 -0500
committerGravatar GitHub2019-11-30 18:56:35 -0500
commit5c7253f8d3c010c0a0e5c91db497819829cb4a43 (patch)
treec2aa6989d3f081c07c72c3ab4a698c73ecd8c429 /src/core/hle/kernel/session.cpp
parentMerge pull request #3184 from ReinUsesLisp/framebuffer-cache (diff)
parentkernel: Implement a more accurate IPC dispatch. (diff)
downloadyuzu-5c7253f8d3c010c0a0e5c91db497819829cb4a43.tar.gz
yuzu-5c7253f8d3c010c0a0e5c91db497819829cb4a43.tar.xz
yuzu-5c7253f8d3c010c0a0e5c91db497819829cb4a43.zip
Merge pull request #3177 from bunnei/new-ipc-req
kernel: Implement a more accurate IPC dispatch.
Diffstat (limited to 'src/core/hle/kernel/session.cpp')
-rw-r--r--src/core/hle/kernel/session.cpp32
1 files changed, 28 insertions, 4 deletions
diff --git a/src/core/hle/kernel/session.cpp b/src/core/hle/kernel/session.cpp
index 642914744..dee6e2b72 100644
--- a/src/core/hle/kernel/session.cpp
+++ b/src/core/hle/kernel/session.cpp
@@ -1,12 +1,36 @@
1// Copyright 2015 Citra Emulator Project 1// Copyright 2019 yuzu emulator team
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "common/assert.h"
6#include "core/hle/kernel/client_session.h"
7#include "core/hle/kernel/server_session.h"
5#include "core/hle/kernel/session.h" 8#include "core/hle/kernel/session.h"
6#include "core/hle/kernel/thread.h"
7 9
8namespace Kernel { 10namespace Kernel {
9 11
10Session::Session() {} 12Session::Session(KernelCore& kernel) : WaitObject{kernel} {}
11Session::~Session() {} 13Session::~Session() = default;
14
15Session::SessionPair Session::Create(KernelCore& kernel, std::string name) {
16 auto session{std::make_shared<Session>(kernel)};
17 auto client_session{Kernel::ClientSession::Create(kernel, session, name + "_Client").Unwrap()};
18 auto server_session{Kernel::ServerSession::Create(kernel, session, name + "_Server").Unwrap()};
19
20 session->name = std::move(name);
21 session->client = client_session;
22 session->server = server_session;
23
24 return std::make_pair(std::move(client_session), std::move(server_session));
25}
26
27bool Session::ShouldWait(const Thread* thread) const {
28 UNIMPLEMENTED();
29 return {};
30}
31
32void Session::Acquire(Thread* thread) {
33 UNIMPLEMENTED();
34}
35
12} // namespace Kernel 36} // namespace Kernel