aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/session.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/session.h')
-rw-r--r--src/core/hle/kernel/session.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/core/hle/kernel/session.h b/src/core/hle/kernel/session.h
index 91f3ffc2c..7cc9332c9 100644
--- a/src/core/hle/kernel/session.h
+++ b/src/core/hle/kernel/session.h
@@ -5,6 +5,7 @@
#pragma once
#include "core/hle/kernel/kernel.h"
+#include "core/mem_map.h"
namespace Kernel {
@@ -41,8 +42,11 @@ inline static u32* GetCommandBuffer(const int offset=0) {
* CTR-OS so that IPC calls can be optionally handled by the real implementations of processes, as
* opposed to HLE simulations.
*/
-class Session : public Object {
+class Session : public WaitObject {
public:
+ Session();
+ ~Session() override;
+
std::string GetTypeName() const override { return "Session"; }
static const HandleType HANDLE_TYPE = HandleType::Session;
@@ -53,6 +57,17 @@ public:
* aren't supported yet.
*/
virtual ResultVal<bool> SyncRequest() = 0;
+
+ // TODO(bunnei): These functions exist to satisfy a hardware test with a Session object
+ // passed into WaitSynchronization. Figure out the meaning of them.
+
+ bool ShouldWait() override {
+ return true;
+ }
+
+ void Acquire() override {
+ _assert_msg_(Kernel, !ShouldWait(), "object unavailable!");
+ }
};
}