Change to using pure virtuals

This commit is contained in:
Adubbz 2019-12-10 15:16:25 +11:00
parent aa07f75b43
commit 1faa2b581c
3 changed files with 77 additions and 77 deletions

View File

@ -79,32 +79,32 @@ namespace ams::lr {
this->legal_info_redirector.ClearRedirections(excluding_tids, num_tids); this->legal_info_redirector.ClearRedirections(excluding_tids, num_tids);
} }
public: public:
virtual Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId tid); virtual Result ResolveProgramPath(sf::Out<Path> out, ncm::ProgramId tid) = 0;
virtual Result RedirectProgramPath(const Path &path, ncm::ProgramId tid); virtual Result RedirectProgramPath(const Path &path, ncm::ProgramId tid) = 0;
virtual Result ResolveApplicationControlPath(sf::Out<Path> out, ncm::ProgramId tid); virtual Result ResolveApplicationControlPath(sf::Out<Path> out, ncm::ProgramId tid) = 0;
virtual Result ResolveApplicationHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId tid); virtual Result ResolveApplicationHtmlDocumentPath(sf::Out<Path> out, ncm::ProgramId tid) = 0;
virtual Result ResolveDataPath(sf::Out<Path> out, ncm::ProgramId tid); virtual Result ResolveDataPath(sf::Out<Path> out, ncm::ProgramId tid) = 0;
virtual Result RedirectApplicationControlPathDeprecated(const Path &path, ncm::ProgramId tid); virtual Result RedirectApplicationControlPathDeprecated(const Path &path, ncm::ProgramId tid) = 0;
virtual Result RedirectApplicationControlPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid); virtual Result RedirectApplicationControlPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid) = 0;
virtual Result RedirectApplicationHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId tid); virtual Result RedirectApplicationHtmlDocumentPathDeprecated(const Path &path, ncm::ProgramId tid) = 0;
virtual Result RedirectApplicationHtmlDocumentPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid); virtual Result RedirectApplicationHtmlDocumentPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid) = 0;
virtual Result ResolveApplicationLegalInformationPath(sf::Out<Path> out, ncm::ProgramId tid); virtual Result ResolveApplicationLegalInformationPath(sf::Out<Path> out, ncm::ProgramId tid) = 0;
virtual Result RedirectApplicationLegalInformationPathDeprecated(const Path &path, ncm::ProgramId tid); virtual Result RedirectApplicationLegalInformationPathDeprecated(const Path &path, ncm::ProgramId tid) = 0;
virtual Result RedirectApplicationLegalInformationPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid); virtual Result RedirectApplicationLegalInformationPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid) = 0;
virtual Result Refresh(); virtual Result Refresh() = 0;
virtual Result RedirectApplicationProgramPathDeprecated(const Path &path, ncm::ProgramId tid); virtual Result RedirectApplicationProgramPathDeprecated(const Path &path, ncm::ProgramId tid) = 0;
virtual Result RedirectApplicationProgramPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid); virtual Result RedirectApplicationProgramPath(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid) = 0;
virtual Result ClearApplicationRedirectionDeprecated(); virtual Result ClearApplicationRedirectionDeprecated() = 0;
virtual Result ClearApplicationRedirection(const sf::InArray<ncm::ProgramId> &excluding_tids); virtual Result ClearApplicationRedirection(const sf::InArray<ncm::ProgramId> &excluding_tids) = 0;
virtual Result EraseProgramRedirection(ncm::ProgramId tid); virtual Result EraseProgramRedirection(ncm::ProgramId tid) = 0;
virtual Result EraseApplicationControlRedirection(ncm::ProgramId tid); virtual Result EraseApplicationControlRedirection(ncm::ProgramId tid) = 0;
virtual Result EraseApplicationHtmlDocumentRedirection(ncm::ProgramId tid); virtual Result EraseApplicationHtmlDocumentRedirection(ncm::ProgramId tid) = 0;
virtual Result EraseApplicationLegalInformationRedirection(ncm::ProgramId tid); virtual Result EraseApplicationLegalInformationRedirection(ncm::ProgramId tid) = 0;
virtual Result ResolveProgramPathForDebug(sf::Out<Path> out, ncm::ProgramId tid); virtual Result ResolveProgramPathForDebug(sf::Out<Path> out, ncm::ProgramId tid) = 0;
virtual Result RedirectProgramPathForDebug(const Path &path, ncm::ProgramId tid); virtual Result RedirectProgramPathForDebug(const Path &path, ncm::ProgramId tid) = 0;
virtual Result RedirectApplicationProgramPathForDebugDeprecated(const Path &path, ncm::ProgramId tid); virtual Result RedirectApplicationProgramPathForDebugDeprecated(const Path &path, ncm::ProgramId tid) = 0;
virtual Result RedirectApplicationProgramPathForDebug(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid); virtual Result RedirectApplicationProgramPathForDebug(const Path &path, ncm::ProgramId tid, ncm::ProgramId owner_tid) = 0;
virtual Result EraseProgramRedirectionForDebug(ncm::ProgramId tid); virtual Result EraseProgramRedirectionForDebug(ncm::ProgramId tid) = 0;
public: public:
DEFINE_SERVICE_DISPATCH_TABLE { DEFINE_SERVICE_DISPATCH_TABLE {
MAKE_SERVICE_COMMAND_META(ResolveProgramPath), MAKE_SERVICE_COMMAND_META(ResolveProgramPath),

View File

@ -70,31 +70,31 @@ namespace ams::ncm {
} }
public: public:
/* Actual commands. */ /* Actual commands. */
virtual Result Set(ContentMetaKey key, sf::InBuffer value); virtual Result Set(ContentMetaKey key, sf::InBuffer value) = 0;
virtual Result Get(sf::Out<u64> out_size, ContentMetaKey key, sf::OutBuffer out_value); virtual Result Get(sf::Out<u64> out_size, ContentMetaKey key, sf::OutBuffer out_value) = 0;
virtual Result Remove(ContentMetaKey key); virtual Result Remove(ContentMetaKey key) = 0;
virtual Result GetContentIdByType(sf::Out<ContentId> out_content_id, ContentMetaKey key, ContentType type); virtual Result GetContentIdByType(sf::Out<ContentId> out_content_id, ContentMetaKey key, ContentType type) = 0;
virtual Result ListContentInfo(sf::Out<u32> out_entries_written, const sf::OutArray<ContentInfo> &out_info, ContentMetaKey key, u32 start_index); virtual Result ListContentInfo(sf::Out<u32> out_entries_written, const sf::OutArray<ContentInfo> &out_info, ContentMetaKey key, u32 start_index) = 0;
virtual Result List(sf::Out<u32> out_entries_total, sf::Out<u32> out_entries_written, const sf::OutArray<ContentMetaKey> &out_info, ContentMetaType meta_type, ProgramId application_title_id, ProgramId title_id_min, ProgramId title_id_max, ContentInstallType install_type); virtual Result List(sf::Out<u32> out_entries_total, sf::Out<u32> out_entries_written, const sf::OutArray<ContentMetaKey> &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<ContentMetaKey> out_key, ProgramId tid); virtual Result GetLatestContentMetaKey(sf::Out<ContentMetaKey> out_key, ProgramId tid) = 0;
virtual Result ListApplication(sf::Out<u32> out_entries_total, sf::Out<u32> out_entries_written, const sf::OutArray<ApplicationContentMetaKey> &out_keys, ContentMetaType meta_type); virtual Result ListApplication(sf::Out<u32> out_entries_total, sf::Out<u32> out_entries_written, const sf::OutArray<ApplicationContentMetaKey> &out_keys, ContentMetaType meta_type) = 0;
virtual Result Has(sf::Out<bool> out, ContentMetaKey key); virtual Result Has(sf::Out<bool> out, ContentMetaKey key) = 0;
virtual Result HasAll(sf::Out<bool> out, const sf::InArray<ContentMetaKey> &keys); virtual Result HasAll(sf::Out<bool> out, const sf::InArray<ContentMetaKey> &keys) = 0;
virtual Result GetSize(sf::Out<u64> out_size, ContentMetaKey key); virtual Result GetSize(sf::Out<u64> out_size, ContentMetaKey key) = 0;
virtual Result GetRequiredSystemVersion(sf::Out<u32> out_version, ContentMetaKey key); virtual Result GetRequiredSystemVersion(sf::Out<u32> out_version, ContentMetaKey key) = 0;
virtual Result GetPatchId(sf::Out<ProgramId> out_patch_id, ContentMetaKey key); virtual Result GetPatchId(sf::Out<ProgramId> out_patch_id, ContentMetaKey key) = 0;
virtual Result DisableForcibly(); virtual Result DisableForcibly() = 0;
virtual Result LookupOrphanContent(const sf::OutArray<bool> &out_orphaned, const sf::InArray<ContentId> &content_ids); virtual Result LookupOrphanContent(const sf::OutArray<bool> &out_orphaned, const sf::InArray<ContentId> &content_ids) = 0;
virtual Result Commit(); virtual Result Commit() = 0;
virtual Result HasContent(sf::Out<bool> out, ContentMetaKey key, ContentId content_id); virtual Result HasContent(sf::Out<bool> out, ContentMetaKey key, ContentId content_id) = 0;
virtual Result ListContentMetaInfo(sf::Out<u32> out_entries_written, const sf::OutArray<ContentMetaInfo> &out_meta_info, ContentMetaKey key, u32 start_index); virtual Result ListContentMetaInfo(sf::Out<u32> out_entries_written, const sf::OutArray<ContentMetaInfo> &out_meta_info, ContentMetaKey key, u32 start_index) = 0;
virtual Result GetAttributes(sf::Out<ContentMetaAttribute> out_attributes, ContentMetaKey key); virtual Result GetAttributes(sf::Out<ContentMetaAttribute> out_attributes, ContentMetaKey key) = 0;
virtual Result GetRequiredApplicationVersion(sf::Out<u32> out_version, ContentMetaKey key); virtual Result GetRequiredApplicationVersion(sf::Out<u32> out_version, ContentMetaKey key) = 0;
virtual Result GetContentIdByTypeAndIdOffset(sf::Out<ContentId> out_content_id, ContentMetaKey key, ContentType type, u8 id_offset); virtual Result GetContentIdByTypeAndIdOffset(sf::Out<ContentId> out_content_id, ContentMetaKey key, ContentType type, u8 id_offset) = 0;
/* APIs. */ /* APIs. */
virtual Result GetLatestProgram(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); virtual Result GetLatestData(ContentId* out_content_id, ProgramId title_id) = 0;
public: public:
DEFINE_SERVICE_DISPATCH_TABLE { DEFINE_SERVICE_DISPATCH_TABLE {
MAKE_SERVICE_COMMAND_META(Set), MAKE_SERVICE_COMMAND_META(Set),

View File

@ -64,34 +64,34 @@ namespace ams::ncm {
return ResultSuccess(); return ResultSuccess();
} }
public: public:
virtual Result GeneratePlaceHolderId(sf::Out<PlaceHolderId> out); virtual Result GeneratePlaceHolderId(sf::Out<PlaceHolderId> out) = 0;
virtual Result CreatePlaceHolder(PlaceHolderId placeholder_id, ContentId content_id, u64 size); virtual Result CreatePlaceHolder(PlaceHolderId placeholder_id, ContentId content_id, u64 size) = 0;
virtual Result DeletePlaceHolder(PlaceHolderId placeholder_id); virtual Result DeletePlaceHolder(PlaceHolderId placeholder_id) = 0;
virtual Result HasPlaceHolder(sf::Out<bool> out, PlaceHolderId placeholder_id); virtual Result HasPlaceHolder(sf::Out<bool> out, PlaceHolderId placeholder_id) = 0;
virtual Result WritePlaceHolder(PlaceHolderId placeholder_id, u64 offset, sf::InBuffer data); virtual Result WritePlaceHolder(PlaceHolderId placeholder_id, u64 offset, sf::InBuffer data) = 0;
virtual Result Register(PlaceHolderId placeholder_id, ContentId content_id); virtual Result Register(PlaceHolderId placeholder_id, ContentId content_id) = 0;
virtual Result Delete(ContentId content_id); virtual Result Delete(ContentId content_id) = 0;
virtual Result Has(sf::Out<bool> out, ContentId content_id); virtual Result Has(sf::Out<bool> out, ContentId content_id) = 0;
virtual Result GetPath(sf::Out<lr::Path> out, ContentId content_id); virtual Result GetPath(sf::Out<lr::Path> out, ContentId content_id) = 0;
virtual Result GetPlaceHolderPath(sf::Out<lr::Path> out, PlaceHolderId placeholder_id); virtual Result GetPlaceHolderPath(sf::Out<lr::Path> out, PlaceHolderId placeholder_id) = 0;
virtual Result CleanupAllPlaceHolder(); virtual Result CleanupAllPlaceHolder() = 0;
virtual Result ListPlaceHolder(sf::Out<u32> out_count, const sf::OutArray<PlaceHolderId> &out_buf); virtual Result ListPlaceHolder(sf::Out<u32> out_count, const sf::OutArray<PlaceHolderId> &out_buf) = 0;
virtual Result GetContentCount(sf::Out<u32> out_count); virtual Result GetContentCount(sf::Out<u32> out_count) = 0;
virtual Result ListContentId(sf::Out<u32> out_count, const sf::OutArray<ContentId> &out_buf, u32 start_offset); virtual Result ListContentId(sf::Out<u32> out_count, const sf::OutArray<ContentId> &out_buf, u32 start_offset) = 0;
virtual Result GetSizeFromContentId(sf::Out<u64> out_size, ContentId content_id); virtual Result GetSizeFromContentId(sf::Out<u64> out_size, ContentId content_id) = 0;
virtual Result DisableForcibly(); virtual Result DisableForcibly() = 0;
virtual Result RevertToPlaceHolder(PlaceHolderId placeholder_id, ContentId old_content_id, ContentId new_content_id); virtual Result RevertToPlaceHolder(PlaceHolderId placeholder_id, ContentId old_content_id, ContentId new_content_id) = 0;
virtual Result SetPlaceHolderSize(PlaceHolderId placeholder_id, u64 size); virtual Result SetPlaceHolderSize(PlaceHolderId placeholder_id, u64 size) = 0;
virtual Result ReadContentIdFile(sf::OutBuffer buf, ContentId content_id, u64 offset); virtual Result ReadContentIdFile(sf::OutBuffer buf, ContentId content_id, u64 offset) = 0;
virtual Result GetRightsIdFromPlaceHolderId(sf::Out<FsRightsId> out_rights_id, sf::Out<u64> out_key_generation, PlaceHolderId placeholder_id); virtual Result GetRightsIdFromPlaceHolderId(sf::Out<FsRightsId> out_rights_id, sf::Out<u64> out_key_generation, PlaceHolderId placeholder_id) = 0;
virtual Result GetRightsIdFromContentId(sf::Out<FsRightsId> out_rights_id, sf::Out<u64> out_key_generation, ContentId content_id); virtual Result GetRightsIdFromContentId(sf::Out<FsRightsId> out_rights_id, sf::Out<u64> out_key_generation, ContentId content_id) = 0;
virtual Result WriteContentForDebug(ContentId content_id, u64 offset, sf::InBuffer data); virtual Result WriteContentForDebug(ContentId content_id, u64 offset, sf::InBuffer data) = 0;
virtual Result GetFreeSpaceSize(sf::Out<u64> out_size); virtual Result GetFreeSpaceSize(sf::Out<u64> out_size) = 0;
virtual Result GetTotalSpaceSize(sf::Out<u64> out_size); virtual Result GetTotalSpaceSize(sf::Out<u64> out_size) = 0;
virtual Result FlushPlaceHolder(); virtual Result FlushPlaceHolder() = 0;
virtual Result GetSizeFromPlaceHolderId(sf::Out<u64> out, PlaceHolderId placeholder_id); virtual Result GetSizeFromPlaceHolderId(sf::Out<u64> out, PlaceHolderId placeholder_id) = 0;
virtual Result RepairInvalidFileAttribute(); virtual Result RepairInvalidFileAttribute() = 0;
virtual Result GetRightsIdFromPlaceHolderIdWithCache(sf::Out<FsRightsId> out_rights_id, sf::Out<u64> out_key_generation, PlaceHolderId placeholder_id, ContentId cache_content_id); virtual Result GetRightsIdFromPlaceHolderIdWithCache(sf::Out<FsRightsId> out_rights_id, sf::Out<u64> out_key_generation, PlaceHolderId placeholder_id, ContentId cache_content_id) = 0;
public: public:
DEFINE_SERVICE_DISPATCH_TABLE { DEFINE_SERVICE_DISPATCH_TABLE {
MAKE_SERVICE_COMMAND_META(GeneratePlaceHolderId), MAKE_SERVICE_COMMAND_META(GeneratePlaceHolderId),