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) /*---------------------------------------------------------------------------*