summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_event.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-01-31 10:37:41 +0100
committerbunnei <bunneidev@gmail.com>2021-02-05 23:00:36 +0100
commit6bf80dfee0a9ed995fca48c0f5c9a786d14cdd6b (patch)
tree6a79931d0ddd6655b58c14eeb4411d81e7b37df7 /src/core/hle/kernel/k_event.cpp
parenthle: kernel: KAddressArbiter: Use R_UNLESS_NOLOG where applicable. (diff)
downloadyuzu-6bf80dfee0a9ed995fca48c0f5c9a786d14cdd6b.tar
yuzu-6bf80dfee0a9ed995fca48c0f5c9a786d14cdd6b.tar.gz
yuzu-6bf80dfee0a9ed995fca48c0f5c9a786d14cdd6b.tar.bz2
yuzu-6bf80dfee0a9ed995fca48c0f5c9a786d14cdd6b.tar.lz
yuzu-6bf80dfee0a9ed995fca48c0f5c9a786d14cdd6b.tar.xz
yuzu-6bf80dfee0a9ed995fca48c0f5c9a786d14cdd6b.tar.zst
yuzu-6bf80dfee0a9ed995fca48c0f5c9a786d14cdd6b.zip
Diffstat (limited to 'src/core/hle/kernel/k_event.cpp')
-rw-r--r--src/core/hle/kernel/k_event.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_event.cpp b/src/core/hle/kernel/k_event.cpp
new file mode 100644
index 000000000..bb2fa4ad5
--- /dev/null
+++ b/src/core/hle/kernel/k_event.cpp
@@ -0,0 +1,32 @@
+// Copyright 2021 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/hle/kernel/k_event.h"
+#include "core/hle/kernel/k_readable_event.h"
+#include "core/hle/kernel/k_writable_event.h"
+
+namespace Kernel {
+
+KEvent::KEvent(KernelCore& kernel, std::string&& name) : Object{kernel, std::move(name)} {}
+
+KEvent::~KEvent() = default;
+
+std::shared_ptr<KEvent> KEvent::Create(KernelCore& kernel, std::string&& name) {
+ return std::make_shared<KEvent>(kernel, std::move(name));
+}
+
+void KEvent::Initialize() {
+ // Create our sub events.
+ readable_event = std::make_shared<KReadableEvent>(kernel, GetName() + ":Readable");
+ writable_event = std::make_shared<KWritableEvent>(kernel, GetName() + ":Writable");
+
+ // Initialize our sub sessions.
+ readable_event->Initialize(this);
+ writable_event->Initialize(this);
+
+ // Mark initialized.
+ initialized = true;
+}
+
+} // namespace Kernel