From 1e574d06a6546c2333966584ad090107398a4069 Mon Sep 17 00:00:00 2001 From: N2614 Date: Mon, 13 Feb 2012 06:42:38 +0000 Subject: [PATCH] =?UTF-8?q?Personalized=20eTicket=E3=81=A7=E3=83=97?= =?UTF-8?q?=E3=83=AA=E3=82=A4=E3=83=B3=E3=82=B9=E3=83=88=E3=83=BC=E3=83=AB?= =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB=E3=81=AE=E3=83=AA=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=82=A2=E3=83=83=E3=83=97=E3=81=A7=E3=81=8D=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@628 385bec56-5757-e545-9c3a-d8741f4650f1 --- .../ConsoleRestore/PreinstallImporter.cpp | 18 ++++++++++++++++++ .../ConsoleRestore/PreinstallImporter.h | 3 +++ .../test_PreinstallImporter.cpp | 18 ++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreinstallImporter.cpp b/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreinstallImporter.cpp index 2b20223..5a2afc3 100644 --- a/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreinstallImporter.cpp +++ b/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreinstallImporter.cpp @@ -74,6 +74,24 @@ nn::Result PreinstallImporter::ListTitles(nn::ProgramId* list, size_t* num, bit6 return nn::ResultSuccess(); } +nn::Result PreinstallImporter::ListTitlesBasedOnTickets(nn::ProgramId* list, size_t* num) +{ + s32 personalizedTicketNum; + nn::am::TicketInfo ticketInfo[256]; + NN_UTIL_RETURN_IF_FAILED( + nn::am::GetPersonalizedTicketInfoList(&personalizedTicketNum, ticketInfo, 256) + ); + + *num = 0; + for(s32 i = 0; i < personalizedTicketNum; i++) + { + list[*num] = ticketInfo[i].titleId; + (*num)++; + } + + return nn::ResultSuccess(); +} + nn::Result PreinstallImporter::GetHtmlBodyAndParseXmlData(BgsCommunicator& comm, nn::ProgramId* list, size_t* num) { // 通信結果を取得する diff --git a/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreinstallImporter.h b/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreinstallImporter.h index d40eee2..b0815e8 100644 --- a/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreinstallImporter.h +++ b/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreinstallImporter.h @@ -40,6 +40,9 @@ public: //! @param[in] serialNo シリアルナンバー nn::Result ListTitles(nn::ProgramId* list, size_t* num, bit64 deviceId, u8* serialNo); + //!@ brief プリインストールタイトルをeTicketに基づいてリストアップする + nn::Result ListTitlesBasedOnTickets(nn::ProgramId* list, size_t* num); + private: //! @brief HTMLレスポンスを受信してXMLデータを解析します nn::Result GetHtmlBodyAndParseXmlData(BgsCommunicator& comm, nn::ProgramId* list, size_t* num); diff --git a/trunk/ConsoleDataMigration/sources/tests/ConsoleRestore/PreinstallImporter/test_PreinstallImporter.cpp b/trunk/ConsoleDataMigration/sources/tests/ConsoleRestore/PreinstallImporter/test_PreinstallImporter.cpp index b82e211..b76226c 100644 --- a/trunk/ConsoleDataMigration/sources/tests/ConsoleRestore/PreinstallImporter/test_PreinstallImporter.cpp +++ b/trunk/ConsoleDataMigration/sources/tests/ConsoleRestore/PreinstallImporter/test_PreinstallImporter.cpp @@ -41,10 +41,12 @@ public: PreinstallImporterTest() { TEST_ADD(PreinstallImporterTest::ListUp); TEST_ADD(PreinstallImporterTest::SetupSd); + TEST_ADD(PreinstallImporterTest::ListUpBasedOnTicket); } private: void ListUp(); void SetupSd(); + void ListUpBasedOnTicket(); }; namespace @@ -131,6 +133,22 @@ void PreinstallImporterTest::SetupSd() NN_TEST_ASSERT(isAlreadyInitialized); } + +void PreinstallImporterTest::ListUpBasedOnTicket() +{ + ConsoleRestore::PreinstallImporter importer; + size_t num; + nn::ProgramId list[256]; + nn::Result result; + + result = importer.ListTitlesBasedOnTickets(list, &num); + NN_LOG("Preinstalled num = %d\n", num); + for (u32 i = 0; i < num; i++) + { + NN_LOG("%016llx\n", list[i]); + } +} + NN_TEST_DEFINE_MAIN(PreinstallImporterTest) /*---------------------------------------------------------------------------*