2021-01-31 10:38:57 +01:00
|
|
|
// Copyright 2021 yuzu emulator team
|
2018-11-27 00:31:22 +01:00
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
2021-01-31 10:38:57 +01:00
|
|
|
#include "core/hle/kernel/k_event.h"
|
2021-01-30 07:48:06 +01:00
|
|
|
#include "core/hle/kernel/k_readable_event.h"
|
2021-01-30 08:51:40 +01:00
|
|
|
#include "core/hle/kernel/k_writable_event.h"
|
2018-11-27 00:31:22 +01:00
|
|
|
|
|
|
|
namespace Kernel {
|
|
|
|
|
2021-05-08 18:11:36 +02:00
|
|
|
KWritableEvent::KWritableEvent(KernelCore& kernel_)
|
|
|
|
: KAutoObjectWithSlabHeapAndContainer{kernel_} {}
|
2021-04-10 11:34:26 +02:00
|
|
|
|
2021-01-30 08:51:40 +01:00
|
|
|
KWritableEvent::~KWritableEvent() = default;
|
2018-11-27 00:31:22 +01:00
|
|
|
|
2021-06-07 00:39:11 +02:00
|
|
|
void KWritableEvent::Initialize(KEvent* parent_event_, std::string&& name_) {
|
|
|
|
parent = parent_event_;
|
2021-04-10 11:34:26 +02:00
|
|
|
name = std::move(name_);
|
|
|
|
parent->GetReadableEvent().Open();
|
2018-11-29 15:14:12 +01:00
|
|
|
}
|
|
|
|
|
2021-01-31 10:38:57 +01:00
|
|
|
ResultCode KWritableEvent::Signal() {
|
2021-04-10 11:34:26 +02:00
|
|
|
return parent->GetReadableEvent().Signal();
|
2018-11-27 00:31:22 +01:00
|
|
|
}
|
|
|
|
|
2021-01-31 10:38:57 +01:00
|
|
|
ResultCode KWritableEvent::Clear() {
|
2021-04-10 11:34:26 +02:00
|
|
|
return parent->GetReadableEvent().Clear();
|
|
|
|
}
|
|
|
|
|
|
|
|
void KWritableEvent::Destroy() {
|
|
|
|
// Close our references.
|
|
|
|
parent->GetReadableEvent().Close();
|
|
|
|
parent->Close();
|
2018-11-27 00:31:22 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace Kernel
|