ctr_Repair/trunk/ConsoleDataMigration/sources/ConsoleRestore/BgsCommunicator.h
N2614 487b92c8f2 BOMを付加
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@607 385bec56-5757-e545-9c3a-d8741f4650f1
2012-01-26 05:33:57 +00:00

57 lines
1.8 KiB
C++

/*---------------------------------------------------------------------------*
Project: Horizon
File: BgsCommunicator.h
Copyright 2009-2011 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 BGSCOMMUNICATOR_H_
#define BGSCOMMUNICATOR_H_
#include <nn.h>
#include <nn/http.h>
namespace ConsoleRestore
{
class BgsCommunicator
{
public:
BgsCommunicator();
virtual ~BgsCommunicator();
//! @brief 構築したXMLを使ってBGSと通信します
//! @param[in] buf XMLデータへのポインタ
//! @param[in] size XMLデータのサイズ
bool Execute(const void* buf, size_t size);
//! @brief 通信結果のサイズを取得します
//! @param[out] 通信結果を取得するのに必要なバッファサイズ
bool GetBodySize(size_t* size);
//! @brief 通信結果をバッファに書き込みます。正しく結果を取得するには GetBodySizeで取得したサイズのバッファが必要です。
//! @param[out] buf 通信結果を書き込むバッファ
//! @param[in] size バッファサイズ
bool GetBody(u8* buf, size_t size);
bool Finalize();
nn::Result GetLastResult();
private:
nn::Result m_Result;
//Connectionインスタンス
nn::http::Connection m_HttpCon;
};
} /* namespace ConsoleRestore */
#endif /* BGSCOMMUNICATOR_H_ */