mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
ダウンロード前に外部タイトルデータベースを初期化するように
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@590 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
38b5e07c82
commit
c6f44637c4
@ -20,6 +20,7 @@
|
||||
#include "SimpleXmlPreprocessor.h"
|
||||
#include <nn/xml/simple/xml_simple_SimpleXmlParser.h>
|
||||
#include <cstring>
|
||||
#include <nn/am/am_ApiSystemMenu.h>
|
||||
|
||||
namespace ConsoleRestore
|
||||
{
|
||||
@ -35,6 +36,18 @@ PreinstallImporter::~PreinstallImporter()
|
||||
// TODO Auto-generated destructor stub
|
||||
}
|
||||
|
||||
nn::Result PreinstallImporter::CleanUpAndSetupSd()
|
||||
{
|
||||
// TODO:SDカードのセーブデータを削除する?
|
||||
|
||||
// タイトルデータベースを作成する
|
||||
NN_UTIL_RETURN_IF_FAILED(
|
||||
nn::am::InitializeExternalTitleDatabase(true)
|
||||
);
|
||||
|
||||
return nn::ResultSuccess();
|
||||
}
|
||||
|
||||
nn::Result PreinstallImporter::ListTitles(nn::ProgramId* list, size_t* num, bit64 deviceId, u8* serialNo)
|
||||
{
|
||||
// 送信用のXMLデータを構築する
|
||||
|
||||
@ -30,6 +30,9 @@ public:
|
||||
PreinstallImporter();
|
||||
virtual ~PreinstallImporter();
|
||||
|
||||
//! @brief 不要なSDカードのデータを削除して、新たにタイトルデータベースを作成します
|
||||
nn::Result CleanUpAndSetupSd();
|
||||
|
||||
//! @brief ダウンロードするプリインストールタイトルをBGS経由でリストアップする
|
||||
//! @param[out] list プリインストールタイトルの配列。十分に大きいものを渡すこと。
|
||||
//! @param[out] num プリインストールタイトルの数
|
||||
|
||||
@ -125,10 +125,7 @@ void TwlTitleDownloaderThreadFunc()
|
||||
size_t num = 0;
|
||||
nn::ProgramId list[256];
|
||||
TitleDownloader::m_Result = ListUpTwlTitles(list, &num);
|
||||
if(TitleDownloader::m_Result.IsFailure())
|
||||
{
|
||||
return;
|
||||
}
|
||||
NN_UTIL_RETURN_IF_FAILED(TitleDownloader::m_Result);
|
||||
TwlTitleDownloader.SetupTitleList(list, num);
|
||||
TwlTitleDownloader.Start();
|
||||
}
|
||||
@ -138,14 +135,14 @@ void PreinstallTitleDownloaderThreadFunc(PreinstallListupParam param)
|
||||
TitleDownloader PreinstallTitleDownloader;
|
||||
PreinstallImporter importer;
|
||||
|
||||
TitleDownloader::m_Result = importer.CleanUpAndSetupSd();
|
||||
NN_UTIL_RETURN_IF_FAILED(TitleDownloader::m_Result);
|
||||
|
||||
s_Progress = 0;
|
||||
size_t num = 0;
|
||||
nn::ProgramId list[256];
|
||||
TitleDownloader::m_Result = importer.ListTitles(list, &num, param.deviceId, param.serialNo);
|
||||
if(TitleDownloader::m_Result.IsFailure())
|
||||
{
|
||||
return;
|
||||
}
|
||||
NN_UTIL_RETURN_IF_FAILED(TitleDownloader::m_Result);
|
||||
PreinstallTitleDownloader.SetupTitleList(list, num);
|
||||
PreinstallTitleDownloader.Start();
|
||||
}
|
||||
@ -155,6 +152,7 @@ void StartTwlTitleDownload()
|
||||
s_TitleDownloaderThread.Start(TwlTitleDownloaderThreadFunc, s_TitleDownloaderThreadStack);
|
||||
}
|
||||
|
||||
|
||||
void StartPreinstallTitleDownload(bit64 deviceId, u8* serialNo)
|
||||
{
|
||||
PreinstallListupParam param;
|
||||
|
||||
@ -26,6 +26,8 @@ void StartTwlTitleDownload();
|
||||
|
||||
//! @brief 新たにスレッドを立て、プリインストールタイトルのダウンロードを開始します <BR/>
|
||||
//! SDカードはインポート可能な状態にしておく必要があります。
|
||||
//! @param[in] deviceId デバイスID
|
||||
//! @param[in] serialNo シリアルナンバー
|
||||
void StartPreinstallTitleDownload(bit64 deviceId, u8* serialNo);
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user