プリインストールアプリダウンロード用フラグを追加

フラグチェックを関数まとめる

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@592 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2012-01-23 06:49:36 +00:00
parent 45897ab20c
commit f8e185d80b
3 changed files with 24 additions and 58 deletions

View File

@ -53,6 +53,8 @@ bool s_GetIvsOnlyMode = false;
bool s_CheckSdOnlyMode = false; bool s_CheckSdOnlyMode = false;
// NUPスキップモードかどうか // NUPスキップモードかどうか
bool s_SkipNupMode = false; bool s_SkipNupMode = false;
// プリインストール書き込みモードかどうか
bool s_DownloadPreinstallMode = false;
// APSettingの書式が無い警告サウンドを鳴らしたかどうか // APSettingの書式が無い警告サウンドを鳴らしたかどうか
bool s_ExistAPSettingAnnotation = false; bool s_ExistAPSettingAnnotation = false;
@ -685,7 +687,7 @@ bool CheckAndReadAPSetting(::std::vector<std::string>& operationMessage)
if (!s_ReadSettingDone) if (!s_ReadSettingDone)
{ {
s_ReadSettingDone = true; s_ReadSettingDone = true;
s_ReadSettingIsSuccess = ReadSetting(&s_NupOnlyMode, &s_GetIvsOnlyMode, &s_CheckSdOnlyMode, &s_SkipNupMode); s_ReadSettingIsSuccess = ReadSetting(&s_NupOnlyMode, &s_GetIvsOnlyMode, &s_CheckSdOnlyMode, &s_SkipNupMode, &s_DownloadPreinstallMode);
} }
if (s_NupOnlyMode && s_GetIvsOnlyMode if (s_NupOnlyMode && s_GetIvsOnlyMode

View File

@ -1128,7 +1128,21 @@ bool UpdateNetworkSetting(nn::ac::NetworkSetting& networkSetting)
return retval; return retval;
} }
bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup) void ReadSettingFlag(common::ConfigFileLoader* loader, const wchar_t* paramName, bool* flag, const char* logMessage)
{
NN_NULL_ASSERT(flag);
if (loader->ReadAsChar(paramName) != NULL)
{
s32 num = loader->ReadAsInteger(paramName);
if (num == 1)
{
*flag = true;
COMMON_LOGGER(logMessage);
}
}
}
bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup, bool* dlPreinstall)
{ {
nn::Result result; nn::Result result;
bool retval = true; bool retval = true;
@ -1430,61 +1444,11 @@ bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup)
} }
{ ReadSettingFlag(&configfileLoader, L"NUP_ONLY", nupOnly, "NUP Only Mode.\n");
const wchar_t* const NUP_ONLY_STR = L"NUP_ONLY"; ReadSettingFlag(&configfileLoader, L"GET_SDCI", getIvs, "GET SDCI Mode.\n");
NN_NULL_ASSERT(nupOnly); ReadSettingFlag(&configfileLoader, L"CHECK_SD", checkSd, "CHECK SD Mode.\n");
if (configfileLoader.ReadAsChar(NUP_ONLY_STR) != NULL) ReadSettingFlag(&configfileLoader, L"SKIP_NUP", skipNup, "Skip NUP Mode.\n");
{ ReadSettingFlag(&configfileLoader, L"DL_PREINSTALL", dlPreinstall, "Download Preinstall App.\n");
s32 num = configfileLoader.ReadAsInteger(NUP_ONLY_STR);
if (num == 1)
{
*nupOnly = true;
COMMON_LOGGER("NUP Only Mode.\n");
}
}
}
{
const wchar_t* const GET_IVS_STR = L"GET_SDCI";
NN_NULL_ASSERT(getIvs);
if (configfileLoader.ReadAsChar(GET_IVS_STR) != NULL)
{
s32 num = configfileLoader.ReadAsInteger(GET_IVS_STR);
if (num == 1)
{
*getIvs = true;
COMMON_LOGGER("GET SDCI Mode.\n");
}
}
}
{
const wchar_t* const CHECK_SD_STR = L"CHECK_SD";
NN_NULL_ASSERT(checkSd);
if (configfileLoader.ReadAsChar(CHECK_SD_STR) != NULL)
{
s32 num = configfileLoader.ReadAsInteger(CHECK_SD_STR);
if (num == 1)
{
*checkSd = true;
COMMON_LOGGER("CHECK SD Mode.\n");
}
}
}
{
const wchar_t* const SKIP_NUP_STR = L"SKIP_NUP";
NN_NULL_ASSERT(skipNup);
if (configfileLoader.ReadAsChar(SKIP_NUP_STR) != NULL)
{
s32 num = configfileLoader.ReadAsInteger(SKIP_NUP_STR);
if (num == 1)
{
*skipNup = true;
COMMON_LOGGER("Skip NUP Mode.\n");
}
}
}
configfileLoader.Finalize(); configfileLoader.Finalize();

View File

@ -108,7 +108,7 @@ struct TimeZone
}; };
// ネットワーク設定ファイルを読み込む // ネットワーク設定ファイルを読み込む
bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup); bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup, bool* dlPreinstall);
// ネットワーク設定ファイルからNTPサーバの名前を取得する // ネットワーク設定ファイルからNTPサーバの名前を取得する
// 先にReadSettingが成功している必要がある // 先にReadSettingが成功している必要がある