ctr_Repair/trunk/ConsoleDataMigration/sources/common/FileTransfer.h
N2614 eeca247d7e FSのTry系APIのハンドリング見直し
吸出しスレッドのResultをチェックするように
HeapManagerの挙動変更。コンストラクタでAllocateしてデストラクタでFreeするように。
PlayHistoryManagerの削除

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@358 385bec56-5757-e545-9c3a-d8741f4650f1
2011-07-06 07:20:39 +00:00

63 lines
2.5 KiB
C++

/*---------------------------------------------------------------------------*
Project: Horizon
File: FileTransfer.h
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$
*---------------------------------------------------------------------------*/
#ifndef FILETRANSFER_H_
#define FILETRANSFER_H_
#include <nn.h>
#include <string>
#include <sstream>
#include "common_Types.h"
namespace common
{
// currentDirectory以下のファイル数、ファイルサイズを再帰的に計算する
nn::Result CalculateFileNum(std::wstring currentDirectory, u32& fileNum, s64& fileSize);
// 単一のディレクトリを作成する
// アーカイブはマウント済みにしておく
bool ExportTwlSaveDirectory(const wchar_t* dirPath, nn::fs::FileOutputStream* list,
nn::crypto::Sha256Context* listContext);
// 単一のファイルをコピーする
// アーカイブはマウント済みにしておく
bool ExportTwlSaveFile(const wchar_t* from_path, const wchar_t* to_path, void* buf, const size_t bufSize,
nn::fs::FileOutputStream* list, nn::crypto::Sha256Context* listContext);
// ディレクトリ間のコピー
// アーカイブ越しのコピーが可能
// アーカイブにマウントした状態で呼び出す必要あり
// 書き込み先のディレクトリはあらかじめ消去しておくこと。
// 引数はスラッシュ付き
// TODO:分割して短くする
bool CopyDirectory(ImportDataList* fileList, const wchar_t * from_path, const wchar_t * to_path, void* buf,
const size_t bufSize, bool encode, nn::fs::FileOutputStream* list, nn::crypto::Sha256Context* listContext);
// ファイル転送の進捗を取得する
// InitializeTransferProgress で設定した値を100とする割合が返される
u32 GetProgress();
// ファイル転送の目標値を設定する
void InitializeTransferProgress(u64 totalSize);
// wchar_t* を char* に変換する。
// 内部のバッファを使用するためスレッドアンセーフ
const char* GetCharStr(const wchar_t* path);
}
#endif /* FILETRANSFER_H_ */