From f2fa16b609e12279f81b2e9cf30a43946cce5092 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 6 Oct 2019 14:03:16 -0400 Subject: bcat: Make ProgressServiceBackend's GetEvent() const This member function doesn't modify internal member state, so it can be marked const. --- src/core/hle/service/bcat/backend/backend.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/hle/service/bcat/backend/backend.h') diff --git a/src/core/hle/service/bcat/backend/backend.h b/src/core/hle/service/bcat/backend/backend.h index 3f5d8b5dd..762da94e3 100644 --- a/src/core/hle/service/bcat/backend/backend.h +++ b/src/core/hle/service/bcat/backend/backend.h @@ -87,7 +87,7 @@ public: private: explicit ProgressServiceBackend(std::string event_name); - Kernel::SharedPtr GetEvent(); + Kernel::SharedPtr GetEvent() const; DeliveryCacheProgressImpl& GetImpl(); void SignalUpdate() const; -- cgit v1.2.3 From 3fcd2180e4e7060b78ca836b48a34901894502e4 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 6 Oct 2019 14:05:37 -0400 Subject: bcat: Make ProgressServiceBackend's constructor take a std::string_view Given the string is appended to another, we can make it a view so a redundant full copy of the string isn't made. --- src/core/hle/service/bcat/backend/backend.cpp | 5 +++-- src/core/hle/service/bcat/backend/backend.h | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src/core/hle/service/bcat/backend/backend.h') diff --git a/src/core/hle/service/bcat/backend/backend.cpp b/src/core/hle/service/bcat/backend/backend.cpp index 2240f4047..7018d294a 100644 --- a/src/core/hle/service/bcat/backend/backend.cpp +++ b/src/core/hle/service/bcat/backend/backend.cpp @@ -10,10 +10,11 @@ namespace Service::BCAT { -ProgressServiceBackend::ProgressServiceBackend(std::string event_name) : impl{} { +ProgressServiceBackend::ProgressServiceBackend(std::string_view event_name) : impl{} { auto& kernel{Core::System::GetInstance().Kernel()}; event = Kernel::WritableEvent::CreateEventPair( - kernel, Kernel::ResetType::Automatic, "ProgressServiceBackend:UpdateEvent:" + event_name); + kernel, Kernel::ResetType::Automatic, + std::string("ProgressServiceBackend:UpdateEvent:").append(event_name)); } Kernel::SharedPtr ProgressServiceBackend::GetEvent() const { diff --git a/src/core/hle/service/bcat/backend/backend.h b/src/core/hle/service/bcat/backend/backend.h index 762da94e3..05fd43e67 100644 --- a/src/core/hle/service/bcat/backend/backend.h +++ b/src/core/hle/service/bcat/backend/backend.h @@ -6,6 +6,9 @@ #include #include +#include +#include + #include "common/common_types.h" #include "core/file_sys/vfs_types.h" #include "core/hle/kernel/readable_event.h" @@ -85,7 +88,7 @@ public: void FinishDownload(ResultCode result); private: - explicit ProgressServiceBackend(std::string event_name); + explicit ProgressServiceBackend(std::string_view event_name); Kernel::SharedPtr GetEvent() const; DeliveryCacheProgressImpl& GetImpl(); -- cgit v1.2.3 From 81adf46d1d9622e64ae20119c63e6982c2217d9c Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 6 Oct 2019 14:07:17 -0400 Subject: bcat: In-class initialize ProgressServiceBackend's impl member Allows us to remove a constructor initializer list. --- src/core/hle/service/bcat/backend/backend.cpp | 2 +- src/core/hle/service/bcat/backend/backend.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/bcat/backend/backend.h') diff --git a/src/core/hle/service/bcat/backend/backend.cpp b/src/core/hle/service/bcat/backend/backend.cpp index 7018d294a..cc64b3a69 100644 --- a/src/core/hle/service/bcat/backend/backend.cpp +++ b/src/core/hle/service/bcat/backend/backend.cpp @@ -10,7 +10,7 @@ namespace Service::BCAT { -ProgressServiceBackend::ProgressServiceBackend(std::string_view event_name) : impl{} { +ProgressServiceBackend::ProgressServiceBackend(std::string_view event_name) { auto& kernel{Core::System::GetInstance().Kernel()}; event = Kernel::WritableEvent::CreateEventPair( kernel, Kernel::ResetType::Automatic, diff --git a/src/core/hle/service/bcat/backend/backend.h b/src/core/hle/service/bcat/backend/backend.h index 05fd43e67..9a63fcbe8 100644 --- a/src/core/hle/service/bcat/backend/backend.h +++ b/src/core/hle/service/bcat/backend/backend.h @@ -95,7 +95,7 @@ private: void SignalUpdate() const; - DeliveryCacheProgressImpl impl; + DeliveryCacheProgressImpl impl{}; Kernel::EventPair event; bool need_hle_lock = false; }; -- cgit v1.2.3 From 7e77d1593fb7c66f23a3f805d728d7c19d50b753 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 6 Oct 2019 14:08:45 -0400 Subject: bcat: Take std::function instance by value in NullBackend's constructor Without this, the std::move within the constructor initializer list won't be able to actually perform a move. --- src/core/hle/service/bcat/backend/backend.cpp | 2 +- src/core/hle/service/bcat/backend/backend.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/bcat/backend/backend.h') diff --git a/src/core/hle/service/bcat/backend/backend.cpp b/src/core/hle/service/bcat/backend/backend.cpp index cc64b3a69..9d6946bc5 100644 --- a/src/core/hle/service/bcat/backend/backend.cpp +++ b/src/core/hle/service/bcat/backend/backend.cpp @@ -96,7 +96,7 @@ Backend::Backend(DirectoryGetter getter) : dir_getter(std::move(getter)) {} Backend::~Backend() = default; -NullBackend::NullBackend(const DirectoryGetter& getter) : Backend(std::move(getter)) {} +NullBackend::NullBackend(DirectoryGetter getter) : Backend(std::move(getter)) {} NullBackend::~NullBackend() = default; diff --git a/src/core/hle/service/bcat/backend/backend.h b/src/core/hle/service/bcat/backend/backend.h index 9a63fcbe8..51dbd3316 100644 --- a/src/core/hle/service/bcat/backend/backend.h +++ b/src/core/hle/service/bcat/backend/backend.h @@ -131,7 +131,7 @@ protected: // A backend of BCAT that provides no operation. class NullBackend : public Backend { public: - explicit NullBackend(const DirectoryGetter& getter); + explicit NullBackend(DirectoryGetter getter); ~NullBackend() override; bool Synchronize(TitleIDVersion title, ProgressServiceBackend& progress) override; -- cgit v1.2.3