ctr_Repair/trunk/ConsoleDataMigration/sources/ConsoleRestore/ActCompleter.h
N2614 6e4b9fc267 サルベージ用スタックのサイズを増やす
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@787 385bec56-5757-e545-9c3a-d8741f4650f1
2014-04-15 07:41:57 +00:00

66 lines
1.8 KiB
C++

/*---------------------------------------------------------------------------*
Project: Horizon
File: ActCompleter.h
Copyright (C)2013 Nintendo Co., Ltd. All rights reserved.
These coded instructions, statements, and computer programs contain
proprietary information of Nintendo of America Inc. and/or Nintendo
Company Ltd., and are protected by Federal copyright law. They may
not be disclosed to third parties or copied or duplicated in any form,
in whole or in part, without the prior written consent of Nintendo.
$Rev$
*---------------------------------------------------------------------------*/
#ifndef ACTCOMPLETER_H_
#define ACTCOMPLETER_H_
#include <nn.h>
namespace ConsoleRestore
{
class ActCompleter
{
public:
enum CompleteMode {
ACT_COMPLETE_TRANSFER,
ACT_COMPLETE_TRANSFER_WITH_SALVEGE
};
enum SalvageCheck{
ACT_SALVAGE_WITHOUT_CHECK,
ACT_SALVAGE_WITH_CHECK
};
ActCompleter();
virtual ~ActCompleter();
static nn::Result GetResult();
static void Start(CompleteMode mode, SalvageCheck check);
static bool IsFinished();
static void Finish();
private:
static void Exec();
static void UnmountThreadFunc();
static nn::Result ExecImpl();
static nn::Result SaveApprovalId();
static nn::Result s_Result;
static const size_t STACK_SIZE = 12 * 1024;
static nn::os::Thread s_Thread;
static nn::os::Thread s_UnmountThread;
static nn::os::StackBuffer<STACK_SIZE> s_ThreadStack;
static nn::os::StackBuffer<STACK_SIZE> s_UnmountThreadStack;
static nn::os::Event s_BeginEvent;
static nn::os::Event s_EndEvent;
static u32 s_ApprovalId;
static CompleteMode s_Mode;
static SalvageCheck s_SalvageCheck;
};
} /* namespace ConsoleRestore */
#endif /* ACTCOMPLETER_H_ */