diff options
Diffstat (limited to 'src/core/hle/kernel/k_writable_event.h')
-rw-r--r-- | src/core/hle/kernel/k_writable_event.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/core/hle/kernel/k_writable_event.h b/src/core/hle/kernel/k_writable_event.h index 518f5448d..154d2382c 100644 --- a/src/core/hle/kernel/k_writable_event.h +++ b/src/core/hle/kernel/k_writable_event.h @@ -4,7 +4,8 @@ #pragma once -#include "core/hle/kernel/object.h" +#include "core/hle/kernel/k_auto_object.h" +#include "core/hle/kernel/slab_helpers.h" #include "core/hle/result.h" namespace Kernel { @@ -12,24 +13,19 @@ namespace Kernel { class KernelCore; class KEvent; -class KWritableEvent final : public Object { +class KWritableEvent final + : public KAutoObjectWithSlabHeapAndContainer<KWritableEvent, KAutoObjectWithList> { + KERNEL_AUTOOBJECT_TRAITS(KWritableEvent, KAutoObject); + public: - explicit KWritableEvent(KernelCore& kernel, std::string&& name); + explicit KWritableEvent(KernelCore& kernel); ~KWritableEvent() override; - std::string GetTypeName() const override { - return "KWritableEvent"; - } - - static constexpr HandleType HANDLE_TYPE = HandleType::WritableEvent; - HandleType GetHandleType() const override { - return HANDLE_TYPE; - } - - void Initialize(KEvent* parent_); + virtual void Destroy() override; - void Finalize() override {} + static void PostDestroy([[maybe_unused]] uintptr_t arg) {} + void Initialize(KEvent* parent_, std::string&& name_); ResultCode Signal(); ResultCode Clear(); |