summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_writable_event.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/k_writable_event.h')
-rw-r--r--src/core/hle/kernel/k_writable_event.h24
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();