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.h | 40 ++++++++++------------------------ 1 file changed, 12 insertions(+), 28 deletions(-) (limited to 'src/core/hle/kernel/k_writable_event.h') diff --git a/src/core/hle/kernel/k_writable_event.h b/src/core/hle/kernel/k_writable_event.h index ad5514b52..518f5448d 100644 --- a/src/core/hle/kernel/k_writable_event.h +++ b/src/core/hle/kernel/k_writable_event.h @@ -4,37 +4,21 @@ #pragma once -#include - #include "core/hle/kernel/object.h" +#include "core/hle/result.h" namespace Kernel { class KernelCore; -class KReadableEvent; -class KWritableEvent; - -struct EventPair { - std::shared_ptr readable; - std::shared_ptr writable; -}; +class KEvent; class KWritableEvent final : public Object { public: + explicit KWritableEvent(KernelCore& kernel, std::string&& name); ~KWritableEvent() override; - /** - * Creates an event - * @param kernel The kernel instance to create this event under. - * @param name Optional name of event - */ - static EventPair CreateEventPair(KernelCore& kernel, std::string name = "Unknown"); - std::string GetTypeName() const override { - return "WritableEvent"; - } - std::string GetName() const override { - return name; + return "KWritableEvent"; } static constexpr HandleType HANDLE_TYPE = HandleType::WritableEvent; @@ -42,19 +26,19 @@ public: return HANDLE_TYPE; } - std::shared_ptr GetReadableEvent() const; - - void Signal(); - void Clear(); + void Initialize(KEvent* parent_); void Finalize() override {} -private: - explicit KWritableEvent(KernelCore& kernel); + ResultCode Signal(); + ResultCode Clear(); - std::shared_ptr readable; + KEvent* GetParent() const { + return parent; + } - std::string name; ///< Name of event (optional) +private: + KEvent* parent{}; }; } // namespace Kernel -- cgit v1.2.3