hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.

This commit is contained in:
bunnei
2021-04-10 02:34:26 -07:00
parent eba3bb9d21
commit 2e8d6fe9a0
35 changed files with 219 additions and 204 deletions

View File

@ -19,7 +19,7 @@ ProgressServiceBackend::ProgressServiceBackend(Kernel::KernelCore& kernel,
update_event.Initialize("ProgressServiceBackend:UpdateEvent:" + std::string(event_name));
}
std::shared_ptr<Kernel::KReadableEvent> ProgressServiceBackend::GetEvent() const {
Kernel::KReadableEvent& ProgressServiceBackend::GetEvent() {
return update_event.GetReadableEvent();
}
@ -85,12 +85,12 @@ void ProgressServiceBackend::FinishDownload(ResultCode result) {
SignalUpdate();
}
void ProgressServiceBackend::SignalUpdate() const {
void ProgressServiceBackend::SignalUpdate() {
if (need_hle_lock) {
std::lock_guard lock(HLE::g_hle_lock);
update_event.GetWritableEvent()->Signal();
update_event.GetWritableEvent().Signal();
} else {
update_event.GetWritableEvent()->Signal();
update_event.GetWritableEvent().Signal();
}
}

View File

@ -99,10 +99,10 @@ public:
private:
explicit ProgressServiceBackend(Kernel::KernelCore& kernel, std::string_view event_name);
std::shared_ptr<Kernel::KReadableEvent> GetEvent() const;
Kernel::KReadableEvent& GetEvent();
DeliveryCacheProgressImpl& GetImpl();
void SignalUpdate() const;
void SignalUpdate();
DeliveryCacheProgressImpl impl{};
Kernel::KEvent update_event;