From 3f942c01f0d8c42837c49a164ed78f6410d62bda Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 29 Jan 2021 23:51:40 -0800 Subject: hle: kernel: Rename WritableEvent to KWritableEvent. --- src/core/hle/kernel/k_writable_event.cpp | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/core/hle/kernel/k_writable_event.cpp (limited to 'src/core/hle/kernel/k_writable_event.cpp') diff --git a/src/core/hle/kernel/k_writable_event.cpp b/src/core/hle/kernel/k_writable_event.cpp new file mode 100644 index 000000000..d2857b4c3 --- /dev/null +++ b/src/core/hle/kernel/k_writable_event.cpp @@ -0,0 +1,41 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include +#include "common/assert.h" +#include "core/hle/kernel/k_readable_event.h" +#include "core/hle/kernel/k_thread.h" +#include "core/hle/kernel/k_writable_event.h" +#include "core/hle/kernel/kernel.h" +#include "core/hle/kernel/object.h" + +namespace Kernel { + +KWritableEvent::KWritableEvent(KernelCore& kernel) : Object{kernel} {} +KWritableEvent::~KWritableEvent() = default; + +EventPair KWritableEvent::CreateEventPair(KernelCore& kernel, std::string name) { + std::shared_ptr writable_event(new KWritableEvent(kernel)); + std::shared_ptr readable_event(new KReadableEvent(kernel)); + + writable_event->name = name + ":Writable"; + writable_event->readable = readable_event; + readable_event->name = name + ":Readable"; + + return {std::move(readable_event), std::move(writable_event)}; +} + +std::shared_ptr KWritableEvent::GetReadableEvent() const { + return readable; +} + +void KWritableEvent::Signal() { + readable->Signal(); +} + +void KWritableEvent::Clear() { + readable->Clear(); +} + +} // namespace Kernel -- cgit v1.2.3 From ff3c7c068b926399513bf7328c22e224ab0b53d6 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 31 Jan 2021 01:38:57 -0800 Subject: hle: kernel: Reimplement KReadableEvent and KWritableEvent. --- src/core/hle/kernel/k_writable_event.cpp | 34 ++++++++++---------------------- 1 file changed, 10 insertions(+), 24 deletions(-) (limited to 'src/core/hle/kernel/k_writable_event.cpp') diff --git a/src/core/hle/kernel/k_writable_event.cpp b/src/core/hle/kernel/k_writable_event.cpp index d2857b4c3..25c52edb2 100644 --- a/src/core/hle/kernel/k_writable_event.cpp +++ b/src/core/hle/kernel/k_writable_event.cpp @@ -1,41 +1,27 @@ -// Copyright 2014 Citra Emulator Project +// Copyright 2021 yuzu emulator team // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include -#include "common/assert.h" +#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_readable_event.h" -#include "core/hle/kernel/k_thread.h" #include "core/hle/kernel/k_writable_event.h" -#include "core/hle/kernel/kernel.h" -#include "core/hle/kernel/object.h" namespace Kernel { -KWritableEvent::KWritableEvent(KernelCore& kernel) : Object{kernel} {} +KWritableEvent::KWritableEvent(KernelCore& kernel, std::string&& name) + : Object{kernel, std::move(name)} {} KWritableEvent::~KWritableEvent() = default; -EventPair KWritableEvent::CreateEventPair(KernelCore& kernel, std::string name) { - std::shared_ptr writable_event(new KWritableEvent(kernel)); - std::shared_ptr readable_event(new KReadableEvent(kernel)); - - writable_event->name = name + ":Writable"; - writable_event->readable = readable_event; - readable_event->name = name + ":Readable"; - - return {std::move(readable_event), std::move(writable_event)}; -} - -std::shared_ptr KWritableEvent::GetReadableEvent() const { - return readable; +void KWritableEvent::Initialize(KEvent* parent_) { + parent = parent_; } -void KWritableEvent::Signal() { - readable->Signal(); +ResultCode KWritableEvent::Signal() { + return parent->GetReadableEvent()->Signal(); } -void KWritableEvent::Clear() { - readable->Clear(); +ResultCode KWritableEvent::Clear() { + return parent->GetReadableEvent()->Clear(); } } // namespace Kernel -- cgit v1.2.3