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

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

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

View File

@ -1128,7 +1128,21 @@ bool UpdateNetworkSetting(nn::ac::NetworkSetting& networkSetting)
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;
bool retval = true;
@ -1430,61 +1444,11 @@ bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup)
}
{
const wchar_t* const NUP_ONLY_STR = L"NUP_ONLY";
NN_NULL_ASSERT(nupOnly);
if (configfileLoader.ReadAsChar(NUP_ONLY_STR) != NULL)
{
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");
}
}
}
ReadSettingFlag(&configfileLoader, L"NUP_ONLY", nupOnly, "NUP Only Mode.\n");
ReadSettingFlag(&configfileLoader, L"GET_SDCI", getIvs, "GET SDCI Mode.\n");
ReadSettingFlag(&configfileLoader, L"CHECK_SD", checkSd, "CHECK SD Mode.\n");
ReadSettingFlag(&configfileLoader, L"SKIP_NUP", skipNup, "Skip NUP Mode.\n");
ReadSettingFlag(&configfileLoader, L"DL_PREINSTALL", dlPreinstall, "Download Preinstall App.\n");
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サーバの名前を取得する
// 先にReadSettingが成功している必要がある