summaryrefslogtreecommitdiff
path: root/src/core/hle/service/bcat
diff options
context:
space:
mode:
authorGravatar bunnei2021-01-31 01:38:57 -0800
committerGravatar bunnei2021-02-05 14:03:32 -0800
commitff3c7c068b926399513bf7328c22e224ab0b53d6 (patch)
treec2a5d9f80ecf551659daa410cc384b1792eff31d /src/core/hle/service/bcat
parenthle: kernel: Implement KEvent. (diff)
downloadyuzu-ff3c7c068b926399513bf7328c22e224ab0b53d6.tar.gz
yuzu-ff3c7c068b926399513bf7328c22e224ab0b53d6.tar.xz
yuzu-ff3c7c068b926399513bf7328c22e224ab0b53d6.zip
hle: kernel: Reimplement KReadableEvent and KWritableEvent.
Diffstat (limited to 'src/core/hle/service/bcat')
-rw-r--r--src/core/hle/service/bcat/backend/backend.cpp14
-rw-r--r--src/core/hle/service/bcat/backend/backend.h8
2 files changed, 13 insertions, 9 deletions
diff --git a/src/core/hle/service/bcat/backend/backend.cpp b/src/core/hle/service/bcat/backend/backend.cpp
index 3b853e9e4..92d25dbe4 100644
--- a/src/core/hle/service/bcat/backend/backend.cpp
+++ b/src/core/hle/service/bcat/backend/backend.cpp
@@ -5,6 +5,9 @@
5#include "common/hex_util.h" 5#include "common/hex_util.h"
6#include "common/logging/log.h" 6#include "common/logging/log.h"
7#include "core/core.h" 7#include "core/core.h"
8#include "core/hle/kernel/k_event.h"
9#include "core/hle/kernel/k_readable_event.h"
10#include "core/hle/kernel/k_writable_event.h"
8#include "core/hle/lock.h" 11#include "core/hle/lock.h"
9#include "core/hle/service/bcat/backend/backend.h" 12#include "core/hle/service/bcat/backend/backend.h"
10 13
@@ -12,12 +15,13 @@ namespace Service::BCAT {
12 15
13ProgressServiceBackend::ProgressServiceBackend(Kernel::KernelCore& kernel, 16ProgressServiceBackend::ProgressServiceBackend(Kernel::KernelCore& kernel,
14 std::string_view event_name) { 17 std::string_view event_name) {
15 event = Kernel::KWritableEvent::CreateEventPair( 18 event = Kernel::KEvent::Create(kernel,
16 kernel, std::string("ProgressServiceBackend:UpdateEvent:").append(event_name)); 19 "ProgressServiceBackend:UpdateEvent:" + std::string(event_name));
20 event->Initialize();
17} 21}
18 22
19std::shared_ptr<Kernel::KReadableEvent> ProgressServiceBackend::GetEvent() const { 23std::shared_ptr<Kernel::KReadableEvent> ProgressServiceBackend::GetEvent() const {
20 return event.readable; 24 return event->GetReadableEvent();
21} 25}
22 26
23DeliveryCacheProgressImpl& ProgressServiceBackend::GetImpl() { 27DeliveryCacheProgressImpl& ProgressServiceBackend::GetImpl() {
@@ -85,9 +89,9 @@ void ProgressServiceBackend::FinishDownload(ResultCode result) {
85void ProgressServiceBackend::SignalUpdate() const { 89void ProgressServiceBackend::SignalUpdate() const {
86 if (need_hle_lock) { 90 if (need_hle_lock) {
87 std::lock_guard lock(HLE::g_hle_lock); 91 std::lock_guard lock(HLE::g_hle_lock);
88 event.writable->Signal(); 92 event->GetWritableEvent()->Signal();
89 } else { 93 } else {
90 event.writable->Signal(); 94 event->GetWritableEvent()->Signal();
91 } 95 }
92} 96}
93 97
diff --git a/src/core/hle/service/bcat/backend/backend.h b/src/core/hle/service/bcat/backend/backend.h
index b190943ac..db585b069 100644
--- a/src/core/hle/service/bcat/backend/backend.h
+++ b/src/core/hle/service/bcat/backend/backend.h
@@ -11,8 +11,6 @@
11 11
12#include "common/common_types.h" 12#include "common/common_types.h"
13#include "core/file_sys/vfs_types.h" 13#include "core/file_sys/vfs_types.h"
14#include "core/hle/kernel/k_readable_event.h"
15#include "core/hle/kernel/k_writable_event.h"
16#include "core/hle/result.h" 14#include "core/hle/result.h"
17 15
18namespace Core { 16namespace Core {
@@ -21,7 +19,9 @@ class System;
21 19
22namespace Kernel { 20namespace Kernel {
23class KernelCore; 21class KernelCore;
24} 22class KEvent;
23class KReadableEvent;
24} // namespace Kernel
25 25
26namespace Service::BCAT { 26namespace Service::BCAT {
27 27
@@ -104,7 +104,7 @@ private:
104 void SignalUpdate() const; 104 void SignalUpdate() const;
105 105
106 DeliveryCacheProgressImpl impl{}; 106 DeliveryCacheProgressImpl impl{};
107 Kernel::EventPair event; 107 std::shared_ptr<Kernel::KEvent> event;
108 bool need_hle_lock = false; 108 bool need_hle_lock = false;
109}; 109};
110 110