ctr_Repair/branches/2-1-1/sources/common/SdLogger.h
N2614 fa59af905c 2ndNUP修正版2-1-1
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@548 385bec56-5757-e545-9c3a-d8741f4650f1
2011-12-21 08:21:20 +00:00

73 lines
1.8 KiB
C++

/*---------------------------------------------------------------------------*
Project: Horizon
File: SdLogger.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 SDLOGGER_H_
#define SDLOGGER_H_
#include <nn.h>
#include <vector>
#include <string>
namespace common
{
namespace Logger
{
class SdLogger
{
public:
SdLogger();
~SdLogger() {};
// SDログに文字列を出力する
void Print(const char* fmt, ::std::va_list arg);
// SDログを削除する
void Clear();
// 内部状態を初期化する。SDカード挿抜時に呼ばれることを期待
void Inactivate();
private:
void Activate();
nn::Result PrintCore(const char* str, size_t size);
nn::fs::FileOutputStream sd;
std::vector<std::string> m_Buffer;
bool m_TryActivate;
bool m_Permitted;
NN_PADDING2;
};
// SDカード挿抜用のスレッドを初期化する
void InitializeEjectThread();
// SDカードが抜けた時に呼ばれるコールバック
void SetEjectHandler(void (*func)());
// SDカードが挿入された時に呼ばれるコールバック
void SetInsertHandler(void (*func)());
// 内部で保持しているインスタンスへのポインタを返す
SdLogger* GetSdInstance();
} // namespace Logger
} // namespace ConsoleBackup
#endif /* SDLOGGER_H_ */