summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_readable_event.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-04-10 11:34:26 +0200
committerbunnei <bunneidev@gmail.com>2021-05-06 01:40:51 +0200
commit2e8d6fe9a0c07538397682e1cb25992bfd15676d (patch)
tree444ee462a197818e0114150a03c0a5898cadaa19 /src/core/hle/kernel/k_readable_event.h
parenthle: ipc_helpers: Add methods for copy/move references. (diff)
downloadyuzu-2e8d6fe9a0c07538397682e1cb25992bfd15676d.tar
yuzu-2e8d6fe9a0c07538397682e1cb25992bfd15676d.tar.gz
yuzu-2e8d6fe9a0c07538397682e1cb25992bfd15676d.tar.bz2
yuzu-2e8d6fe9a0c07538397682e1cb25992bfd15676d.tar.lz
yuzu-2e8d6fe9a0c07538397682e1cb25992bfd15676d.tar.xz
yuzu-2e8d6fe9a0c07538397682e1cb25992bfd15676d.tar.zst
yuzu-2e8d6fe9a0c07538397682e1cb25992bfd15676d.zip
Diffstat (limited to 'src/core/hle/kernel/k_readable_event.h')
-rw-r--r--src/core/hle/kernel/k_readable_event.h41
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{};