diff options
| author | 2021-04-10 02:34:26 -0700 | |
|---|---|---|
| committer | 2021-05-05 16:40:51 -0700 | |
| commit | 2e8d6fe9a0c07538397682e1cb25992bfd15676d (patch) | |
| tree | 444ee462a197818e0114150a03c0a5898cadaa19 /src/core/hle/service/bcat | |
| parent | hle: ipc_helpers: Add methods for copy/move references. (diff) | |
| download | yuzu-2e8d6fe9a0c07538397682e1cb25992bfd15676d.tar.gz yuzu-2e8d6fe9a0c07538397682e1cb25992bfd15676d.tar.xz yuzu-2e8d6fe9a0c07538397682e1cb25992bfd15676d.zip | |
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
Diffstat (limited to 'src/core/hle/service/bcat')
| -rw-r--r-- | src/core/hle/service/bcat/backend/backend.cpp | 8 | ||||
| -rw-r--r-- | src/core/hle/service/bcat/backend/backend.h | 4 | ||||
| -rw-r--r-- | src/core/hle/service/bcat/module.cpp | 10 |
3 files changed, 10 insertions, 12 deletions
diff --git a/src/core/hle/service/bcat/backend/backend.cpp b/src/core/hle/service/bcat/backend/backend.cpp index 8def52b31..0e935bfa6 100644 --- a/src/core/hle/service/bcat/backend/backend.cpp +++ b/src/core/hle/service/bcat/backend/backend.cpp | |||
| @@ -19,7 +19,7 @@ ProgressServiceBackend::ProgressServiceBackend(Kernel::KernelCore& kernel, | |||
| 19 | update_event.Initialize("ProgressServiceBackend:UpdateEvent:" + std::string(event_name)); | 19 | update_event.Initialize("ProgressServiceBackend:UpdateEvent:" + std::string(event_name)); |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | std::shared_ptr<Kernel::KReadableEvent> ProgressServiceBackend::GetEvent() const { | 22 | Kernel::KReadableEvent& ProgressServiceBackend::GetEvent() { |
| 23 | return update_event.GetReadableEvent(); | 23 | return update_event.GetReadableEvent(); |
| 24 | } | 24 | } |
| 25 | 25 | ||
| @@ -85,12 +85,12 @@ void ProgressServiceBackend::FinishDownload(ResultCode result) { | |||
| 85 | SignalUpdate(); | 85 | SignalUpdate(); |
| 86 | } | 86 | } |
| 87 | 87 | ||
| 88 | void ProgressServiceBackend::SignalUpdate() const { | 88 | void ProgressServiceBackend::SignalUpdate() { |
| 89 | if (need_hle_lock) { | 89 | if (need_hle_lock) { |
| 90 | std::lock_guard lock(HLE::g_hle_lock); | 90 | std::lock_guard lock(HLE::g_hle_lock); |
| 91 | update_event.GetWritableEvent()->Signal(); | 91 | update_event.GetWritableEvent().Signal(); |
| 92 | } else { | 92 | } else { |
| 93 | update_event.GetWritableEvent()->Signal(); | 93 | update_event.GetWritableEvent().Signal(); |
| 94 | } | 94 | } |
| 95 | } | 95 | } |
| 96 | 96 | ||
diff --git a/src/core/hle/service/bcat/backend/backend.h b/src/core/hle/service/bcat/backend/backend.h index baa4d576a..f591a362a 100644 --- a/src/core/hle/service/bcat/backend/backend.h +++ b/src/core/hle/service/bcat/backend/backend.h | |||
| @@ -99,10 +99,10 @@ public: | |||
| 99 | private: | 99 | private: |
| 100 | explicit ProgressServiceBackend(Kernel::KernelCore& kernel, std::string_view event_name); | 100 | explicit ProgressServiceBackend(Kernel::KernelCore& kernel, std::string_view event_name); |
| 101 | 101 | ||
| 102 | std::shared_ptr<Kernel::KReadableEvent> GetEvent() const; | 102 | Kernel::KReadableEvent& GetEvent(); |
| 103 | DeliveryCacheProgressImpl& GetImpl(); | 103 | DeliveryCacheProgressImpl& GetImpl(); |
| 104 | 104 | ||
| 105 | void SignalUpdate() const; | 105 | void SignalUpdate(); |
| 106 | 106 | ||
| 107 | DeliveryCacheProgressImpl impl{}; | 107 | DeliveryCacheProgressImpl impl{}; |
| 108 | Kernel::KEvent update_event; | 108 | Kernel::KEvent update_event; |
diff --git a/src/core/hle/service/bcat/module.cpp b/src/core/hle/service/bcat/module.cpp index 8473b716b..05635a2a5 100644 --- a/src/core/hle/service/bcat/module.cpp +++ b/src/core/hle/service/bcat/module.cpp | |||
| @@ -88,11 +88,9 @@ struct DeliveryCacheDirectoryEntry { | |||
| 88 | 88 | ||
| 89 | class IDeliveryCacheProgressService final : public ServiceFramework<IDeliveryCacheProgressService> { | 89 | class IDeliveryCacheProgressService final : public ServiceFramework<IDeliveryCacheProgressService> { |
| 90 | public: | 90 | public: |
| 91 | explicit IDeliveryCacheProgressService(Core::System& system_, | 91 | explicit IDeliveryCacheProgressService(Core::System& system_, Kernel::KReadableEvent& event_, |
| 92 | std::shared_ptr<Kernel::KReadableEvent> event_, | ||
| 93 | const DeliveryCacheProgressImpl& impl_) | 92 | const DeliveryCacheProgressImpl& impl_) |
| 94 | : ServiceFramework{system_, "IDeliveryCacheProgressService"}, event{std::move(event_)}, | 93 | : ServiceFramework{system_, "IDeliveryCacheProgressService"}, event{event_}, impl{impl_} { |
| 95 | impl{impl_} { | ||
| 96 | // clang-format off | 94 | // clang-format off |
| 97 | static const FunctionInfo functions[] = { | 95 | static const FunctionInfo functions[] = { |
| 98 | {0, &IDeliveryCacheProgressService::GetEvent, "GetEvent"}, | 96 | {0, &IDeliveryCacheProgressService::GetEvent, "GetEvent"}, |
| @@ -109,7 +107,7 @@ private: | |||
| 109 | 107 | ||
| 110 | IPC::ResponseBuilder rb{ctx, 2, 1}; | 108 | IPC::ResponseBuilder rb{ctx, 2, 1}; |
| 111 | rb.Push(RESULT_SUCCESS); | 109 | rb.Push(RESULT_SUCCESS); |
| 112 | rb.PushCopyObjects(event.get()); | 110 | rb.PushCopyObjects(event); |
| 113 | } | 111 | } |
| 114 | 112 | ||
| 115 | void GetImpl(Kernel::HLERequestContext& ctx) { | 113 | void GetImpl(Kernel::HLERequestContext& ctx) { |
| @@ -121,7 +119,7 @@ private: | |||
| 121 | rb.Push(RESULT_SUCCESS); | 119 | rb.Push(RESULT_SUCCESS); |
| 122 | } | 120 | } |
| 123 | 121 | ||
| 124 | std::shared_ptr<Kernel::KReadableEvent> event; | 122 | Kernel::KReadableEvent& event; |
| 125 | const DeliveryCacheProgressImpl& impl; | 123 | const DeliveryCacheProgressImpl& impl; |
| 126 | }; | 124 | }; |
| 127 | 125 | ||