k_writable_event.cpp 930 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2021 yuzu emulator team
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #include "core/hle/kernel/k_event.h"
  5. #include "core/hle/kernel/k_readable_event.h"
  6. #include "core/hle/kernel/k_writable_event.h"
  7. namespace Kernel {
  8. KWritableEvent::KWritableEvent(KernelCore& kernel_)
  9. : KAutoObjectWithSlabHeapAndContainer{kernel_} {}
  10. KWritableEvent::~KWritableEvent() = default;
  11. void KWritableEvent::Initialize(KEvent* parent_event_, std::string&& name_) {
  12. parent = parent_event_;
  13. name = std::move(name_);
  14. parent->GetReadableEvent().Open();
  15. }
  16. ResultCode KWritableEvent::Signal() {
  17. return parent->GetReadableEvent().Signal();
  18. }
  19. ResultCode KWritableEvent::Clear() {
  20. return parent->GetReadableEvent().Clear();
  21. }
  22. void KWritableEvent::Destroy() {
  23. // Close our references.
  24. parent->GetReadableEvent().Close();
  25. parent->Close();
  26. }
  27. } // namespace Kernel