diff options
| author | bunnei <bunneidev@gmail.com> | 2021-04-10 02:34:26 -0700 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2021-05-05 16:40:51 -0700 |
| commit | 2e8d6fe9a0c07538397682e1cb25992bfd15676d (patch) | |
| tree | 444ee462a197818e0114150a03c0a5898cadaa19 /src/core/hle/kernel/k_readable_event.h | |
| parent | eba3bb9d219283ffc2a7610d925aa157a81b6e4a (diff) | |
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
Diffstat (limited to 'src/core/hle/kernel/k_readable_event.h')
| -rw-r--r-- | src/core/hle/kernel/k_readable_event.h | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/src/core/hle/kernel/k_readable_event.h b/src/core/hle/kernel/k_readable_event.h index e6f0fd900..4c22f0584 100644 --- a/src/core/hle/kernel/k_readable_event.h +++ b/src/core/hle/kernel/k_readable_event.h @@ -4,8 +4,10 @@ #pragma once +#include "core/hle/kernel/k_auto_object.h" #include "core/hle/kernel/k_synchronization_object.h" #include "core/hle/kernel/object.h" +#include "core/hle/kernel/slab_helpers.h" #include "core/hle/result.h" namespace Kernel { @@ -13,36 +15,41 @@ namespace Kernel { class KernelCore; class KEvent; -class KReadableEvent final : public KSynchronizationObject { +class KReadableEvent : public KSynchronizationObject { + KERNEL_AUTOOBJECT_TRAITS(KReadableEvent, KSynchronizationObject); + public: - explicit KReadableEvent(KernelCore& kernel, std::string&& name); + explicit KReadableEvent(KernelCore& kernel); ~KReadableEvent() override; - std::string GetTypeName() const override { - return "KReadableEvent"; - } - - static constexpr HandleType HANDLE_TYPE = HandleType::ReadableEvent; - HandleType GetHandleType() const override { - return HANDLE_TYPE; + void Initialize(KEvent* parent_, std::string&& name_) { + is_signaled = false; + parent = parent_; + name = std::move(name_); } - KEvent* GetParent() const { + constexpr KEvent* GetParent() const { return parent; } - void Initialize(KEvent* parent_) { - is_signaled = false; - parent = parent_; - } - - bool IsSignaled() const override; - void Finalize() override {} + virtual bool IsSignaled() const override; + virtual void Destroy() override; ResultCode Signal(); ResultCode Clear(); ResultCode Reset(); + // DEPRECATED + + std::string GetTypeName() const override { + return "KReadableEvent"; + } + + static constexpr HandleType HANDLE_TYPE = HandleType::ReadableEvent; + HandleType GetHandleType() const override { + return HANDLE_TYPE; + } + private: bool is_signaled{}; KEvent* parent{}; |
