aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_writable_event.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-05-07 23:30:17 -0700
committerGitHub <noreply@github.com>2021-05-07 23:30:17 -0700
commit80460d421e6262a9afa5c5fef2ce69cb8e132c6a (patch)
tree8ab02a72a6e4d6578848c8da2c02af02684aeec7 /src/core/hle/kernel/k_writable_event.cpp
parente75a9872ea1eb7f160c7ed33932d3009eebaac79 (diff)
parentafdbfb884cc6d1f2109ac81f4b8bc40961c8fab7 (diff)
Merge pull request #6266 from bunnei/kautoobject-refactor
Kernel Rework: Migrate kernel objects to KAutoObject
Diffstat (limited to 'src/core/hle/kernel/k_writable_event.cpp')
-rw-r--r--src/core/hle/kernel/k_writable_event.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/core/hle/kernel/k_writable_event.cpp b/src/core/hle/kernel/k_writable_event.cpp
index 25c52edb26..a430e06615 100644
--- a/src/core/hle/kernel/k_writable_event.cpp
+++ b/src/core/hle/kernel/k_writable_event.cpp
@@ -8,20 +8,28 @@
namespace Kernel {
-KWritableEvent::KWritableEvent(KernelCore& kernel, std::string&& name)
- : Object{kernel, std::move(name)} {}
+KWritableEvent::KWritableEvent(KernelCore& kernel) : KAutoObjectWithSlabHeapAndContainer{kernel} {}
+
KWritableEvent::~KWritableEvent() = default;
-void KWritableEvent::Initialize(KEvent* parent_) {
+void KWritableEvent::Initialize(KEvent* parent_, std::string&& name_) {
parent = parent_;
+ name = std::move(name_);
+ parent->GetReadableEvent().Open();
}
ResultCode KWritableEvent::Signal() {
- return parent->GetReadableEvent()->Signal();
+ return parent->GetReadableEvent().Signal();
}
ResultCode KWritableEvent::Clear() {
- return parent->GetReadableEvent()->Clear();
+ return parent->GetReadableEvent().Clear();
+}
+
+void KWritableEvent::Destroy() {
+ // Close our references.
+ parent->GetReadableEvent().Close();
+ parent->Close();
}
} // namespace Kernel