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@792 385bec56-5757-e545-9c3a-d8741f4650f1
94 lines
2.1 KiB
C++
94 lines
2.1 KiB
C++
/*---------------------------------------------------------------------------*
|
|
Project: Horizon
|
|
File: FileChecker.cpp
|
|
|
|
Copyright 2009 Nintendo. 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$
|
|
*---------------------------------------------------------------------------*/
|
|
|
|
#include <nn.h>
|
|
#include "FileChecker.h"
|
|
#include "SdMountManager.h"
|
|
|
|
namespace common
|
|
{
|
|
|
|
bool s_FileExistsChecked[EXISTS_MAX];
|
|
bool s_FileExistsCheckeResult[EXISTS_MAX];
|
|
|
|
bool CheckFileExists(const wchar_t* path)
|
|
{
|
|
nn::Result result;
|
|
bool exist = false;
|
|
result = common::SdMountManager::Mount();
|
|
|
|
if (result.IsSuccess())
|
|
{
|
|
nn::fs::FileInputStream fis;
|
|
|
|
result = fis.TryInitialize(path);
|
|
if(result.IsSuccess())
|
|
{
|
|
exist = true;
|
|
}
|
|
fis.Finalize();
|
|
}
|
|
|
|
common::SdMountManager::Unmount();
|
|
|
|
|
|
return exist;
|
|
}
|
|
|
|
bool ExistsFile(FileExistsCheck index)
|
|
{
|
|
if(index > EXISTS_MAX)
|
|
{
|
|
NN_LOG("Invalid File index!!\n");
|
|
return false;
|
|
}
|
|
|
|
if(s_FileExistsChecked[index])
|
|
{
|
|
return s_FileExistsCheckeResult[index];
|
|
}
|
|
|
|
s_FileExistsChecked[index] = true;
|
|
s_FileExistsCheckeResult[index] = CheckFileExists(FILENAME_TABLE[index]);
|
|
return s_FileExistsCheckeResult[index];
|
|
}
|
|
|
|
void ClearFileCheck(FileExistsCheck index)
|
|
{
|
|
if(index > EXISTS_MAX)
|
|
{
|
|
NN_LOG("Invalid File index!!\n");
|
|
return;
|
|
}
|
|
|
|
s_FileExistsChecked[index] = false;
|
|
}
|
|
|
|
bool ExistsAPSetting()
|
|
{
|
|
return ExistsFile(EXISTS_AP_SETTING);
|
|
}
|
|
|
|
void InitializeFileCheck()
|
|
{
|
|
for(u32 i = 0; i < EXISTS_MAX; i++)
|
|
{
|
|
s_FileExistsChecked[i] = false;
|
|
}
|
|
}
|
|
|
|
|
|
}
|