AcCompleter Resultを返す関数と結果の保持を分離

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@763 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2013-11-18 02:48:39 +00:00
parent 05cf83f264
commit ed19af46ab
2 changed files with 21 additions and 14 deletions

View File

@ -62,35 +62,41 @@ void ActCompleter::Finish()
}
void ActCompleter::Exec()
{
s_Result = ExecImpl();
}
nn::Result ActCompleter::ExecImpl()
{
if(!nn::ac::IsConnected())
{
s_Result = common::InitializeNetwork();
COMMON_LOGGER_RETURN_VOID_IF_FAILED(s_Result);
NN_UTIL_RETURN_IF_FAILED(
common::InitializeNetwork());
}
s_Result = nn::act::InitializeAdmin();
COMMON_LOGGER_RETURN_VOID_IF_FAILED(s_Result);
NN_UTIL_RETURN_IF_FAILED(
nn::act::InitializeAdmin());
s_Result = nn::act::CompleteTransfer();
if(s_Result.IsFailure())
nn::Result result = nn::act::CompleteTransfer();
if(result.IsFailure())
{
if (nn::act::ResultAccountNotLoaded().Includes(s_Result) || nn::act::ResultAuthenticationError().Includes(s_Result))
if (nn::act::ResultAccountNotLoaded().Includes(result) || nn::act::ResultAuthenticationError().Includes(result))
{
// これらは発生する可能性があるので成功で上書きする
s_Result = nn::ResultSuccess();
// これらは発生する可能性があるので無視する
}
else
{
COMMON_LOGGER_RETURN_VOID_IF_FAILED(s_Result);
return result;
}
}
s_Result = nn::act::FinalizeAdmin();
COMMON_LOGGER_RETURN_VOID_IF_FAILED(s_Result);
NN_UTIL_RETURN_IF_FAILED(
nn::act::FinalizeAdmin());
s_Result = common::FinalizeNetwork();
COMMON_LOGGER_RETURN_VOID_IF_FAILED(s_Result);
NN_UTIL_RETURN_IF_FAILED(
common::FinalizeNetwork());
return nn::ResultSuccess();
}
} /* namespace ConsoleRestore */

View File

@ -34,6 +34,7 @@ public:
private:
static void Exec();
static nn::Result ExecImpl();
static nn::Result s_Result;
static const size_t STACK_SIZE = 0x1000;
static nn::os::Thread s_Thread;