diff --git a/libraries/libstratosphere/include/stratosphere/ncm/ncm_i_content_meta_database.hpp b/libraries/libstratosphere/include/stratosphere/ncm/ncm_i_content_meta_database.hpp index 38d64afda..5b7db7f88 100644 --- a/libraries/libstratosphere/include/stratosphere/ncm/ncm_i_content_meta_database.hpp +++ b/libraries/libstratosphere/include/stratosphere/ncm/ncm_i_content_meta_database.hpp @@ -49,26 +49,26 @@ namespace ams::ncm { public: /* Actual commands. */ virtual Result Set(ContentMetaKey key, sf::InBuffer value) = 0; - virtual Result Get(sf::Out out_size, ContentMetaKey key, sf::OutBuffer out_value) = 0; + virtual Result Get(sf::Out out_size, const ContentMetaKey &key, sf::OutBuffer out_value) = 0; virtual Result Remove(ContentMetaKey key) = 0; - virtual Result GetContentIdByType(sf::Out out_content_id, ContentMetaKey key, ContentType type) = 0; - virtual Result ListContentInfo(sf::Out out_entries_written, const sf::OutArray &out_info, ContentMetaKey key, u32 start_index) = 0; + virtual Result GetContentIdByType(sf::Out out_content_id, const ContentMetaKey &key, ContentType type) = 0; + virtual Result ListContentInfo(sf::Out out_entries_written, const sf::OutArray &out_info, const ContentMetaKey &key, u32 start_index) = 0; virtual Result List(sf::Out out_entries_total, sf::Out out_entries_written, const sf::OutArray &out_info, ContentMetaType meta_type, ProgramId application_program_id, ProgramId program_id_min, ProgramId program_id_max, ContentInstallType install_type) = 0; virtual Result GetLatestContentMetaKey(sf::Out out_key, ProgramId id) = 0; virtual Result ListApplication(sf::Out out_entries_total, sf::Out out_entries_written, const sf::OutArray &out_keys, ContentMetaType meta_type) = 0; virtual Result Has(sf::Out out, const ContentMetaKey &key) = 0; virtual Result HasAll(sf::Out out, const sf::InArray &keys) = 0; - virtual Result GetSize(sf::Out out_size, ContentMetaKey key) = 0; - virtual Result GetRequiredSystemVersion(sf::Out out_version, ContentMetaKey key) = 0; - virtual Result GetPatchId(sf::Out out_patch_id, ContentMetaKey key) = 0; + virtual Result GetSize(sf::Out out_size, const ContentMetaKey &key) = 0; + virtual Result GetRequiredSystemVersion(sf::Out out_version, const ContentMetaKey &key) = 0; + virtual Result GetPatchId(sf::Out out_patch_id, const ContentMetaKey &key) = 0; virtual Result DisableForcibly() = 0; virtual Result LookupOrphanContent(const sf::OutArray &out_orphaned, const sf::InArray &content_ids) = 0; virtual Result Commit() = 0; - virtual Result HasContent(sf::Out out, ContentMetaKey key, ContentId content_id) = 0; - virtual Result ListContentMetaInfo(sf::Out out_entries_written, const sf::OutArray &out_meta_info, ContentMetaKey key, u32 start_index) = 0; - virtual Result GetAttributes(sf::Out out_attributes, ContentMetaKey key) = 0; - virtual Result GetRequiredApplicationVersion(sf::Out out_version, ContentMetaKey key) = 0; - virtual Result GetContentIdByTypeAndIdOffset(sf::Out out_content_id, ContentMetaKey key, ContentType type, u8 id_offset) = 0; + virtual Result HasContent(sf::Out out, const ContentMetaKey &key, ContentId content_id) = 0; + virtual Result ListContentMetaInfo(sf::Out out_entries_written, const sf::OutArray &out_meta_info, const ContentMetaKey &key, u32 start_index) = 0; + virtual Result GetAttributes(sf::Out out_attributes, const ContentMetaKey &key) = 0; + virtual Result GetRequiredApplicationVersion(sf::Out out_version, const ContentMetaKey &key) = 0; + virtual Result GetContentIdByTypeAndIdOffset(sf::Out out_content_id, const ContentMetaKey &key, ContentType type, u8 id_offset) = 0; /* APIs. */ virtual Result GetLatestProgram(ContentId *out_content_id, ProgramId program_id) = 0; diff --git a/stratosphere/ncm/source/ncm_content_meta_database_impl.cpp b/stratosphere/ncm/source/ncm_content_meta_database_impl.cpp index 0c75a2f8e..94aae99e8 100644 --- a/stratosphere/ncm/source/ncm_content_meta_database_impl.cpp +++ b/stratosphere/ncm/source/ncm_content_meta_database_impl.cpp @@ -153,7 +153,7 @@ namespace ams::ncm { return this->kvs->Set(key, value.GetPointer(), value.GetSize()); } - Result ContentMetaDatabaseImpl::Get(sf::Out out_size, ContentMetaKey key, sf::OutBuffer out_value) { + Result ContentMetaDatabaseImpl::Get(sf::Out out_size, const ContentMetaKey &key, sf::OutBuffer out_value) { R_TRY(this->EnsureEnabled()); return this->kvs->Get(out_size.GetPointer(), out_value.GetPointer(), out_value.GetSize(), key); } @@ -163,11 +163,11 @@ namespace ams::ncm { return this->kvs->Remove(key); } - Result ContentMetaDatabaseImpl::GetContentIdByType(sf::Out out_content_id, ContentMetaKey key, ContentType type) { + Result ContentMetaDatabaseImpl::GetContentIdByType(sf::Out out_content_id, const ContentMetaKey &key, ContentType type) { return this->GetContentIdByTypeImpl(out_content_id.GetPointer(), key, type, std::nullopt); } - Result ContentMetaDatabaseImpl::ListContentInfo(sf::Out out_count, const sf::OutArray &out_info, ContentMetaKey key, u32 offset) { + Result ContentMetaDatabaseImpl::ListContentInfo(sf::Out out_count, const sf::OutArray &out_info, const ContentMetaKey &key, u32 offset) { R_UNLESS(offset <= std::numeric_limits::max(), ncm::ResultInvalidOffset()); R_TRY(this->EnsureEnabled()); @@ -330,7 +330,7 @@ namespace ams::ncm { return ResultSuccess(); } - Result ContentMetaDatabaseImpl::GetSize(sf::Out out_size, ContentMetaKey key) { + Result ContentMetaDatabaseImpl::GetSize(sf::Out out_size, const ContentMetaKey &key) { R_TRY(this->EnsureEnabled()); R_UNLESS(this->kvs->GetCount() != 0, ncm::ResultContentMetaNotFound()); @@ -342,7 +342,7 @@ namespace ams::ncm { return ResultSuccess(); } - Result ContentMetaDatabaseImpl::GetRequiredSystemVersion(sf::Out out_version, ContentMetaKey key) { + Result ContentMetaDatabaseImpl::GetRequiredSystemVersion(sf::Out out_version, const ContentMetaKey &key) { R_TRY(this->EnsureEnabled()); R_UNLESS(key.type == ContentMetaType::Application || key.type == ContentMetaType::Patch, ncm::ResultInvalidContentMetaKey()); @@ -357,7 +357,7 @@ namespace ams::ncm { return ResultSuccess(); } - Result ContentMetaDatabaseImpl::GetPatchId(sf::Out out_patch_id, ContentMetaKey key) { + Result ContentMetaDatabaseImpl::GetPatchId(sf::Out out_patch_id, const ContentMetaKey &key) { R_TRY(this->EnsureEnabled()); R_UNLESS(key.type == ContentMetaType::Application, ncm::ResultInvalidContentMetaKey()); @@ -424,7 +424,7 @@ namespace ams::ncm { return ResultSuccess(); } - Result ContentMetaDatabaseImpl::HasContent(sf::Out out, ContentMetaKey key, ContentId content_id) { + Result ContentMetaDatabaseImpl::HasContent(sf::Out out, const ContentMetaKey &key, ContentId content_id) { const ContentMetaHeader *header = nullptr; size_t value_size = 0; R_TRY(GetContentMetaValuePointer(&header, &value_size, key, this->kvs)); @@ -445,7 +445,7 @@ namespace ams::ncm { return ResultSuccess(); } - Result ContentMetaDatabaseImpl::ListContentMetaInfo(sf::Out out_entries_written, const sf::OutArray &out_meta_info, ContentMetaKey key, u32 start_index) { + Result ContentMetaDatabaseImpl::ListContentMetaInfo(sf::Out out_entries_written, const sf::OutArray &out_meta_info, const ContentMetaKey &key, u32 start_index) { R_UNLESS(start_index <= std::numeric_limits::max(), ncm::ResultInvalidOffset()); R_TRY(this->EnsureEnabled()); @@ -474,7 +474,7 @@ namespace ams::ncm { return ResultSuccess(); } - Result ContentMetaDatabaseImpl::GetAttributes(sf::Out out_attributes, ContentMetaKey key) { + Result ContentMetaDatabaseImpl::GetAttributes(sf::Out out_attributes, const ContentMetaKey &key) { R_TRY(this->EnsureEnabled()); const ContentMetaHeader *header = nullptr; @@ -484,7 +484,7 @@ namespace ams::ncm { return ResultSuccess(); } - Result ContentMetaDatabaseImpl::GetRequiredApplicationVersion(sf::Out out_version, ContentMetaKey key) { + Result ContentMetaDatabaseImpl::GetRequiredApplicationVersion(sf::Out out_version, const ContentMetaKey &key) { R_TRY(this->EnsureEnabled()); const ContentMetaHeader *value = nullptr; @@ -504,7 +504,7 @@ namespace ams::ncm { return ResultSuccess(); } - Result ContentMetaDatabaseImpl::GetContentIdByTypeAndIdOffset(sf::Out out_content_id, ContentMetaKey key, ContentType type, u8 id_offset) { + Result ContentMetaDatabaseImpl::GetContentIdByTypeAndIdOffset(sf::Out out_content_id, const ContentMetaKey &key, ContentType type, u8 id_offset) { ContentId content_id; R_TRY(this->GetContentIdByTypeImpl(&content_id, key, type, std::optional(id_offset))); out_content_id.SetValue(content_id); diff --git a/stratosphere/ncm/source/ncm_content_meta_database_impl.hpp b/stratosphere/ncm/source/ncm_content_meta_database_impl.hpp index 6a1741bbc..bcfc5328e 100644 --- a/stratosphere/ncm/source/ncm_content_meta_database_impl.hpp +++ b/stratosphere/ncm/source/ncm_content_meta_database_impl.hpp @@ -32,26 +32,26 @@ namespace ams::ncm { Result GetLatestContentMetaKeyImpl(ContentMetaKey *out_key, ProgramId id); public: virtual Result Set(ContentMetaKey key, sf::InBuffer value) override; - virtual Result Get(sf::Out out_size, ContentMetaKey key, sf::OutBuffer out_value) override; + virtual Result Get(sf::Out out_size, const ContentMetaKey &key, sf::OutBuffer out_value) override; virtual Result Remove(ContentMetaKey key) override; - virtual Result GetContentIdByType(sf::Out out_content_id, ContentMetaKey key, ContentType type) override; - virtual Result ListContentInfo(sf::Out out_entries_written, const sf::OutArray &out_info, ContentMetaKey key, u32 start_index) override; + virtual Result GetContentIdByType(sf::Out out_content_id, const ContentMetaKey &key, ContentType type) override; + virtual Result ListContentInfo(sf::Out out_entries_written, const sf::OutArray &out_info, const ContentMetaKey &key, u32 start_index) override; virtual Result List(sf::Out out_entries_total, sf::Out out_entries_written, const sf::OutArray &out_info, ContentMetaType type, ProgramId application_program_id, ProgramId program_id_min, ProgramId program_id_max, ContentInstallType install_type) override; virtual Result GetLatestContentMetaKey(sf::Out out_key, ProgramId id) override; virtual Result ListApplication(sf::Out out_entries_total, sf::Out out_entries_written, const sf::OutArray &out_keys, ContentMetaType type) override; virtual Result Has(sf::Out out, const ContentMetaKey &key) override; virtual Result HasAll(sf::Out out, const sf::InArray &keys) override; - virtual Result GetSize(sf::Out out_size, ContentMetaKey key) override; - virtual Result GetRequiredSystemVersion(sf::Out out_version, ContentMetaKey key) override; - virtual Result GetPatchId(sf::Out out_patch_id, ContentMetaKey key) override; + virtual Result GetSize(sf::Out out_size, const ContentMetaKey &key) override; + virtual Result GetRequiredSystemVersion(sf::Out out_version, const ContentMetaKey &key) override; + virtual Result GetPatchId(sf::Out out_patch_id, const ContentMetaKey &key) override; virtual Result DisableForcibly() override; virtual Result LookupOrphanContent(const sf::OutArray &out_orphaned, const sf::InArray &content_ids) override; virtual Result Commit() override; - virtual Result HasContent(sf::Out out, ContentMetaKey key, ContentId content_id) override; - virtual Result ListContentMetaInfo(sf::Out out_entries_written, const sf::OutArray &out_meta_info, ContentMetaKey key, u32 start_index) override; - virtual Result GetAttributes(sf::Out out_attributes, ContentMetaKey key) override; - virtual Result GetRequiredApplicationVersion(sf::Out out_version, ContentMetaKey key) override; - virtual Result GetContentIdByTypeAndIdOffset(sf::Out out_content_id, ContentMetaKey key, ContentType type, u8 id_offset) override; + virtual Result HasContent(sf::Out out, const ContentMetaKey &key, ContentId content_id) override; + virtual Result ListContentMetaInfo(sf::Out out_entries_written, const sf::OutArray &out_meta_info, const ContentMetaKey &key, u32 start_index) override; + virtual Result GetAttributes(sf::Out out_attributes, const ContentMetaKey &key) override; + virtual Result GetRequiredApplicationVersion(sf::Out out_version, const ContentMetaKey &key) override; + virtual Result GetContentIdByTypeAndIdOffset(sf::Out out_content_id, const ContentMetaKey &key, ContentType type, u8 id_offset) override; /* APIs. */ virtual Result GetLatestProgram(ContentId *out_content_id, ProgramId program_id) override;