k_event.cpp 967 B

1234567891011121314151617181920212223242526272829303132
  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. KEvent::KEvent(KernelCore& kernel, std::string&& name) : Object{kernel, std::move(name)} {}
  9. KEvent::~KEvent() = default;
  10. std::shared_ptr<KEvent> KEvent::Create(KernelCore& kernel, std::string&& name) {
  11. return std::make_shared<KEvent>(kernel, std::move(name));
  12. }
  13. void KEvent::Initialize() {
  14. // Create our sub events.
  15. readable_event = std::make_shared<KReadableEvent>(kernel, GetName() + ":Readable");
  16. writable_event = std::make_shared<KWritableEvent>(kernel, GetName() + ":Writable");
  17. // Initialize our sub sessions.
  18. readable_event->Initialize(this);
  19. writable_event->Initialize(this);
  20. // Mark initialized.
  21. initialized = true;
  22. }
  23. } // namespace Kernel