summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_writable_event.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-01-31 10:38:57 +0100
committerbunnei <bunneidev@gmail.com>2021-02-05 23:03:32 +0100
commitff3c7c068b926399513bf7328c22e224ab0b53d6 (patch)
treec2a5d9f80ecf551659daa410cc384b1792eff31d /src/core/hle/kernel/k_writable_event.h
parenthle: kernel: Implement KEvent. (diff)
downloadyuzu-ff3c7c068b926399513bf7328c22e224ab0b53d6.tar
yuzu-ff3c7c068b926399513bf7328c22e224ab0b53d6.tar.gz
yuzu-ff3c7c068b926399513bf7328c22e224ab0b53d6.tar.bz2
yuzu-ff3c7c068b926399513bf7328c22e224ab0b53d6.tar.lz
yuzu-ff3c7c068b926399513bf7328c22e224ab0b53d6.tar.xz
yuzu-ff3c7c068b926399513bf7328c22e224ab0b53d6.tar.zst
yuzu-ff3c7c068b926399513bf7328c22e224ab0b53d6.zip
Diffstat (limited to 'src/core/hle/kernel/k_writable_event.h')
-rw-r--r--src/core/hle/kernel/k_writable_event.h40
1 files changed, 12 insertions, 28 deletions
diff --git a/src/core/hle/kernel/k_writable_event.h b/src/core/hle/kernel/k_writable_event.h
index ad5514b52..518f5448d 100644
--- a/src/core/hle/kernel/k_writable_event.h
+++ b/src/core/hle/kernel/k_writable_event.h
@@ -4,37 +4,21 @@
#pragma once
-#include <memory>
-
#include "core/hle/kernel/object.h"
+#include "core/hle/result.h"
namespace Kernel {
class KernelCore;
-class KReadableEvent;
-class KWritableEvent;
-
-struct EventPair {
- std::shared_ptr<KReadableEvent> readable;
- std::shared_ptr<KWritableEvent> writable;
-};
+class KEvent;
class KWritableEvent final : public Object {
public:
+ explicit KWritableEvent(KernelCore& kernel, std::string&& name);
~KWritableEvent() override;
- /**
- * Creates an event
- * @param kernel The kernel instance to create this event under.
- * @param name Optional name of event
- */
- static EventPair CreateEventPair(KernelCore& kernel, std::string name = "Unknown");
-
std::string GetTypeName() const override {
- return "WritableEvent";
- }
- std::string GetName() const override {
- return name;
+ return "KWritableEvent";
}
static constexpr HandleType HANDLE_TYPE = HandleType::WritableEvent;
@@ -42,19 +26,19 @@ public:
return HANDLE_TYPE;
}
- std::shared_ptr<KReadableEvent> GetReadableEvent() const;
-
- void Signal();
- void Clear();
+ void Initialize(KEvent* parent_);
void Finalize() override {}
-private:
- explicit KWritableEvent(KernelCore& kernel);
+ ResultCode Signal();
+ ResultCode Clear();
- std::shared_ptr<KReadableEvent> readable;
+ KEvent* GetParent() const {
+ return parent;
+ }
- std::string name; ///< Name of event (optional)
+private:
+ KEvent* parent{};
};
} // namespace Kernel