From 1faa2b581ca72140b25dddb92b5562565dc82d46 Mon Sep 17 00:00:00 2001 From: Adubbz Date: Tue, 10 Dec 2019 15:16:25 +1100 Subject: [PATCH] Change to using pure virtuals --- .../ncm/source/lr_ilocationresolver.hpp | 52 ++++++++--------- .../ncm/source/ncm_icontentmetadatabase.hpp | 46 +++++++-------- .../ncm/source/ncm_icontentstorage.hpp | 56 +++++++++---------- 3 files changed, 77 insertions(+), 77 deletions(-) diff --git a/stratosphere/ncm/source/lr_ilocationresolver.hpp b/stratosphere/ncm/source/lr_ilocationresolver.hpp index 06594d685..95d8a3a15 100644 --- a/stratosphere/ncm/source/lr_ilocationresolver.hpp +++ b/stratosphere/ncm/source/lr_ilocationresolver.hpp @@ -79,32 +79,32 @@ namespace ams::lr { this->legal_info_redirector.ClearRedirections(excluding_tids, num_tids); } public: - virtual Result ResolveProgramPath(sf::Out out, ncm::ProgramId tid); - virtual Result RedirectProgramPath(const Path &path, ncm::ProgramId tid); - virtual Result ResolveApplicationControlPath(sf::Out out, ncm::ProgramId tid); - virtual Result ResolveApplicationHtmlDocumentPath(sf::Out out, ncm::ProgramId tid); - virtual Result ResolveDataPath(sf::Out out, ncm::ProgramId tid); - virtual Result RedirectApplicationControlPathDeprecated(const Path &path, ncm::ProgramId tid); - virtual Result RedirectApplicationControlPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid); - virtual Result RedirectApplicationHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId tid); - virtual Result RedirectApplicationHtmlDocumentPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid); - virtual Result ResolveApplicationLegalInformationPath(sf::Out out, ncm::ProgramId tid); - virtual Result RedirectApplicationLegalInformationPathDeprecated(const Path &path, ncm::ProgramId tid); - virtual Result RedirectApplicationLegalInformationPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid); - virtual Result Refresh(); - virtual Result RedirectApplicationProgramPathDeprecated(const Path &path, ncm::ProgramId tid); - virtual Result RedirectApplicationProgramPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid); - virtual Result ClearApplicationRedirectionDeprecated(); - virtual Result ClearApplicationRedirection(const sf::InArray &excluding_tids); - virtual Result EraseProgramRedirection(ncm::ProgramId tid); - virtual Result EraseApplicationControlRedirection(ncm::ProgramId tid); - virtual Result EraseApplicationHtmlDocumentRedirection(ncm::ProgramId tid); - virtual Result EraseApplicationLegalInformationRedirection(ncm::ProgramId tid); - virtual Result ResolveProgramPathForDebug(sf::Out out, ncm::ProgramId tid); - virtual Result RedirectProgramPathForDebug(const Path &path, ncm::ProgramId tid); - virtual Result RedirectApplicationProgramPathForDebugDeprecated(const Path &path, ncm::ProgramId tid); - virtual Result RedirectApplicationProgramPathForDebug(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid); - virtual Result EraseProgramRedirectionForDebug(ncm::ProgramId tid); + virtual Result ResolveProgramPath(sf::Out out, ncm::ProgramId tid) = 0; + virtual Result RedirectProgramPath(const Path &path, ncm::ProgramId tid) = 0; + virtual Result ResolveApplicationControlPath(sf::Out out, ncm::ProgramId tid) = 0; + virtual Result ResolveApplicationHtmlDocumentPath(sf::Out out, ncm::ProgramId tid) = 0; + virtual Result ResolveDataPath(sf::Out out, ncm::ProgramId tid) = 0; + virtual Result RedirectApplicationControlPathDeprecated(const Path &path, ncm::ProgramId tid) = 0; + virtual Result RedirectApplicationControlPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid) = 0; + virtual Result RedirectApplicationHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId tid) = 0; + virtual Result RedirectApplicationHtmlDocumentPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid) = 0; + virtual Result ResolveApplicationLegalInformationPath(sf::Out out, ncm::ProgramId tid) = 0; + virtual Result RedirectApplicationLegalInformationPathDeprecated(const Path &path, ncm::ProgramId tid) = 0; + virtual Result RedirectApplicationLegalInformationPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid) = 0; + virtual Result Refresh() = 0; + virtual Result RedirectApplicationProgramPathDeprecated(const Path &path, ncm::ProgramId tid) = 0; + virtual Result RedirectApplicationProgramPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid) = 0; + virtual Result ClearApplicationRedirectionDeprecated() = 0; + virtual Result ClearApplicationRedirection(const sf::InArray &excluding_tids) = 0; + virtual Result EraseProgramRedirection(ncm::ProgramId tid) = 0; + virtual Result EraseApplicationControlRedirection(ncm::ProgramId tid) = 0; + virtual Result EraseApplicationHtmlDocumentRedirection(ncm::ProgramId tid) = 0; + virtual Result EraseApplicationLegalInformationRedirection(ncm::ProgramId tid) = 0; + virtual Result ResolveProgramPathForDebug(sf::Out out, ncm::ProgramId tid) = 0; + virtual Result RedirectProgramPathForDebug(const Path &path, ncm::ProgramId tid) = 0; + virtual Result RedirectApplicationProgramPathForDebugDeprecated(const Path &path, ncm::ProgramId tid) = 0; + virtual Result RedirectApplicationProgramPathForDebug(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid) = 0; + virtual Result EraseProgramRedirectionForDebug(ncm::ProgramId tid) = 0; public: DEFINE_SERVICE_DISPATCH_TABLE { MAKE_SERVICE_COMMAND_META(ResolveProgramPath), diff --git a/stratosphere/ncm/source/ncm_icontentmetadatabase.hpp b/stratosphere/ncm/source/ncm_icontentmetadatabase.hpp index 8fe50af19..54936d291 100644 --- a/stratosphere/ncm/source/ncm_icontentmetadatabase.hpp +++ b/stratosphere/ncm/source/ncm_icontentmetadatabase.hpp @@ -70,31 +70,31 @@ namespace ams::ncm { } public: /* Actual commands. */ - virtual Result Set(ContentMetaKey key, sf::InBuffer value); - virtual Result Get(sf::Out out_size, ContentMetaKey key, sf::OutBuffer out_value); - virtual Result Remove(ContentMetaKey key); - virtual Result GetContentIdByType(sf::Out out_content_id, ContentMetaKey key, ContentType type); - virtual Result ListContentInfo(sf::Out out_entries_written, const sf::OutArray &out_info, ContentMetaKey key, u32 start_index); - virtual Result List(sf::Out out_entries_total, sf::Out out_entries_written, const sf::OutArray &out_info, ContentMetaType meta_type, ProgramId application_title_id, ProgramId title_id_min, ProgramId title_id_max, ContentInstallType install_type); - virtual Result GetLatestContentMetaKey(sf::Out out_key, ProgramId tid); - virtual Result ListApplication(sf::Out out_entries_total, sf::Out out_entries_written, const sf::OutArray &out_keys, ContentMetaType meta_type); - virtual Result Has(sf::Out out, ContentMetaKey key); - virtual Result HasAll(sf::Out out, const sf::InArray &keys); - virtual Result GetSize(sf::Out out_size, ContentMetaKey key); - virtual Result GetRequiredSystemVersion(sf::Out out_version, ContentMetaKey key); - virtual Result GetPatchId(sf::Out out_patch_id, ContentMetaKey key); - virtual Result DisableForcibly(); - virtual Result LookupOrphanContent(const sf::OutArray &out_orphaned, const sf::InArray &content_ids); - virtual Result Commit(); - virtual Result HasContent(sf::Out out, ContentMetaKey key, ContentId content_id); - virtual Result ListContentMetaInfo(sf::Out out_entries_written, const sf::OutArray &out_meta_info, ContentMetaKey key, u32 start_index); - virtual Result GetAttributes(sf::Out out_attributes, ContentMetaKey key); - virtual Result GetRequiredApplicationVersion(sf::Out out_version, ContentMetaKey key); - virtual Result GetContentIdByTypeAndIdOffset(sf::Out out_content_id, ContentMetaKey key, ContentType type, u8 id_offset); + 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 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 List(sf::Out out_entries_total, sf::Out out_entries_written, const sf::OutArray &out_info, ContentMetaType meta_type, ProgramId application_title_id, ProgramId title_id_min, ProgramId title_id_max, ContentInstallType install_type) = 0; + virtual Result GetLatestContentMetaKey(sf::Out out_key, ProgramId tid) = 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, 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 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; /* APIs. */ - virtual Result GetLatestProgram(ContentId* out_content_id, ProgramId title_id); - virtual Result GetLatestData(ContentId* out_content_id, ProgramId title_id); + virtual Result GetLatestProgram(ContentId* out_content_id, ProgramId title_id) = 0; + virtual Result GetLatestData(ContentId* out_content_id, ProgramId title_id) = 0; public: DEFINE_SERVICE_DISPATCH_TABLE { MAKE_SERVICE_COMMAND_META(Set), diff --git a/stratosphere/ncm/source/ncm_icontentstorage.hpp b/stratosphere/ncm/source/ncm_icontentstorage.hpp index 6d486cb21..7d9adcc82 100644 --- a/stratosphere/ncm/source/ncm_icontentstorage.hpp +++ b/stratosphere/ncm/source/ncm_icontentstorage.hpp @@ -64,34 +64,34 @@ namespace ams::ncm { return ResultSuccess(); } public: - virtual Result GeneratePlaceHolderId(sf::Out out); - virtual Result CreatePlaceHolder(PlaceHolderId placeholder_id, ContentId content_id, u64 size); - virtual Result DeletePlaceHolder(PlaceHolderId placeholder_id); - virtual Result HasPlaceHolder(sf::Out out, PlaceHolderId placeholder_id); - virtual Result WritePlaceHolder(PlaceHolderId placeholder_id, u64 offset, sf::InBuffer data); - virtual Result Register(PlaceHolderId placeholder_id, ContentId content_id); - virtual Result Delete(ContentId content_id); - virtual Result Has(sf::Out out, ContentId content_id); - virtual Result GetPath(sf::Out out, ContentId content_id); - virtual Result GetPlaceHolderPath(sf::Out out, PlaceHolderId placeholder_id); - virtual Result CleanupAllPlaceHolder(); - virtual Result ListPlaceHolder(sf::Out out_count, const sf::OutArray &out_buf); - virtual Result GetContentCount(sf::Out out_count); - virtual Result ListContentId(sf::Out out_count, const sf::OutArray &out_buf, u32 start_offset); - virtual Result GetSizeFromContentId(sf::Out out_size, ContentId content_id); - virtual Result DisableForcibly(); - virtual Result RevertToPlaceHolder(PlaceHolderId placeholder_id, ContentId old_content_id, ContentId new_content_id); - virtual Result SetPlaceHolderSize(PlaceHolderId placeholder_id, u64 size); - virtual Result ReadContentIdFile(sf::OutBuffer buf, ContentId content_id, u64 offset); - virtual Result GetRightsIdFromPlaceHolderId(sf::Out out_rights_id, sf::Out out_key_generation, PlaceHolderId placeholder_id); - virtual Result GetRightsIdFromContentId(sf::Out out_rights_id, sf::Out out_key_generation, ContentId content_id); - virtual Result WriteContentForDebug(ContentId content_id, u64 offset, sf::InBuffer data); - virtual Result GetFreeSpaceSize(sf::Out out_size); - virtual Result GetTotalSpaceSize(sf::Out out_size); - virtual Result FlushPlaceHolder(); - virtual Result GetSizeFromPlaceHolderId(sf::Out out, PlaceHolderId placeholder_id); - virtual Result RepairInvalidFileAttribute(); - virtual Result GetRightsIdFromPlaceHolderIdWithCache(sf::Out out_rights_id, sf::Out out_key_generation, PlaceHolderId placeholder_id, ContentId cache_content_id); + virtual Result GeneratePlaceHolderId(sf::Out out) = 0; + virtual Result CreatePlaceHolder(PlaceHolderId placeholder_id, ContentId content_id, u64 size) = 0; + virtual Result DeletePlaceHolder(PlaceHolderId placeholder_id) = 0; + virtual Result HasPlaceHolder(sf::Out out, PlaceHolderId placeholder_id) = 0; + virtual Result WritePlaceHolder(PlaceHolderId placeholder_id, u64 offset, sf::InBuffer data) = 0; + virtual Result Register(PlaceHolderId placeholder_id, ContentId content_id) = 0; + virtual Result Delete(ContentId content_id) = 0; + virtual Result Has(sf::Out out, ContentId content_id) = 0; + virtual Result GetPath(sf::Out out, ContentId content_id) = 0; + virtual Result GetPlaceHolderPath(sf::Out out, PlaceHolderId placeholder_id) = 0; + virtual Result CleanupAllPlaceHolder() = 0; + virtual Result ListPlaceHolder(sf::Out out_count, const sf::OutArray &out_buf) = 0; + virtual Result GetContentCount(sf::Out out_count) = 0; + virtual Result ListContentId(sf::Out out_count, const sf::OutArray &out_buf, u32 start_offset) = 0; + virtual Result GetSizeFromContentId(sf::Out out_size, ContentId content_id) = 0; + virtual Result DisableForcibly() = 0; + virtual Result RevertToPlaceHolder(PlaceHolderId placeholder_id, ContentId old_content_id, ContentId new_content_id) = 0; + virtual Result SetPlaceHolderSize(PlaceHolderId placeholder_id, u64 size) = 0; + virtual Result ReadContentIdFile(sf::OutBuffer buf, ContentId content_id, u64 offset) = 0; + virtual Result GetRightsIdFromPlaceHolderId(sf::Out out_rights_id, sf::Out out_key_generation, PlaceHolderId placeholder_id) = 0; + virtual Result GetRightsIdFromContentId(sf::Out out_rights_id, sf::Out out_key_generation, ContentId content_id) = 0; + virtual Result WriteContentForDebug(ContentId content_id, u64 offset, sf::InBuffer data) = 0; + virtual Result GetFreeSpaceSize(sf::Out out_size) = 0; + virtual Result GetTotalSpaceSize(sf::Out out_size) = 0; + virtual Result FlushPlaceHolder() = 0; + virtual Result GetSizeFromPlaceHolderId(sf::Out out, PlaceHolderId placeholder_id) = 0; + virtual Result RepairInvalidFileAttribute() = 0; + virtual Result GetRightsIdFromPlaceHolderIdWithCache(sf::Out out_rights_id, sf::Out out_key_generation, PlaceHolderId placeholder_id, ContentId cache_content_id) = 0; public: DEFINE_SERVICE_DISPATCH_TABLE { MAKE_SERVICE_COMMAND_META(GeneratePlaceHolderId),