diff options
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/k_event.h | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/core/hle/kernel/k_event.h b/src/core/hle/kernel/k_event.h index 97ec0ea9c..2c48a0499 100644 --- a/src/core/hle/kernel/k_event.h +++ b/src/core/hle/kernel/k_event.h @@ -4,6 +4,8 @@ #pragma once +#include "core/hle/kernel/k_readable_event.h" +#include "core/hle/kernel/k_writable_event.h" #include "core/hle/kernel/slab_helpers.h" namespace Kernel { @@ -27,40 +29,39 @@ public: virtual bool IsInitialized() const override { return initialized; } + virtual uintptr_t GetPostDestroyArgument() const override { return reinterpret_cast<uintptr_t>(owner); } static void PostDestroy(uintptr_t arg); - std::string GetTypeName() const override { - return "KEvent"; + virtual Process* GetOwner() const override { + return owner; } - static constexpr HandleType HANDLE_TYPE = HandleType::Event; - HandleType GetHandleType() const override { - return HANDLE_TYPE; - } - - KReadableEvent* GetReadableEvent() { - return readable_event.get(); + KReadableEvent& GetReadableEvent() { + return readable_event; } - std::shared_ptr<KWritableEvent>& GetWritableEvent() { + KWritableEvent& GetWritableEvent() { return writable_event; } - const std::shared_ptr<KReadableEvent>& GetReadableEvent() const { - return readable_event; + // DEPRECATED + + std::string GetTypeName() const override { + return "KEvent"; } - const std::shared_ptr<KWritableEvent>& GetWritableEvent() const { - return writable_event; + static constexpr HandleType HANDLE_TYPE = HandleType::Event; + HandleType GetHandleType() const override { + return HANDLE_TYPE; } private: - std::shared_ptr<KReadableEvent> readable_event; - std::shared_ptr<KWritableEvent> writable_event; + KReadableEvent readable_event; + KWritableEvent writable_event; Process* owner{}; bool initialized{}; }; |