3 #ifndef INCLUDE_NN_NLIB_MSGPACK_JSONRPC_JSONRPCRESPONSE_H_
4 #define INCLUDE_NN_NLIB_MSGPACK_JSONRPC_JSONRPCRESPONSE_H_
7 #include "nn/nlib/Swap.h"
14 #if defined(_MSC_VER) && defined(nx_msgpack_EXPORTS)
15 #undef NLIB_VIS_PUBLIC
16 #define NLIB_VIS_PUBLIC NLIB_WINEXPORT
29 INVALID_REQUEST = -32600,
30 METHOD_NOT_FOUND = -32601,
31 INVALID_PARAMS = -32602,
32 INTERNAL_ERROR = -32603,
41 this->SetError(errcode, msg, data);
44 bool IsError()
const {
return m_IsError; }
46 reqid_t
GetId()
const {
return m_Id; }
48 const char* msg = m_ErrorMsg.get();
49 return msg ? msg :
"";
57 void SetId(reqid_t
id) { m_Id = id; }
68 friend class JsonRpcResponseReader;
69 friend class JsonRpcRequest;
77 static errno_t ReadResponse(
const void* p,
size_t n, ListType* result_list);
81 ListType* result_list);
83 ListType* result_list);
111 #if defined(_MSC_VER) && defined(nx_msgpack_EXPORTS)
112 #undef NLIB_VIS_PUBLIC
113 #define NLIB_VIS_PUBLIC NLIB_WINIMPORT
116 #endif // INCLUDE_NN_NLIB_MSGPACK_JSONRPC_JSONRPCRESPONSE_H_
UniquePtr< JsonRpcResponse > ValueType
UniquePtr経由でJSON-RPCのレスポンスを格納します。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
#define NLIB_DISALLOW_COPY_AND_ASSIGN(TypeName)
TypeName で指定されたクラスのコピーコンストラクタと代入演算子を禁止します。
#define NLIB_SAFE_BOOL(class_name, exp)
クラス内に安全なoperator bool()を定義します。 可能であればC++11のexplicit boolを利用します。 ...
JsonRpcResponseWriter(bool msgpack)
引数にtrueを指定するとmsgpackのバイト列を作成します。
nlib_realloc()等のrealloc関数を利用して拡張するメモリ領域に書きこむ出力ストリームです。 ...
bool IsError() const
エラーか発生しているかどうかを返します。
std::unique_ptrに相当するクラスが定義されています。
void SetError(int errcode, const char *msg)
JSON-RPC関数のエラーを設定します。
JSON-RPCのレスポンスのバイト列を読み込むためのクラスです。
int GetErrorCode() const
エラーコードを返します。
MessagePack又はJSONを読み込むことで作成されるオブジェクトです。
std::vectorに似ていますが、コピーできないオブジェクトを格納可能なクラスが定義されています。 ...
reqid_t GetId() const
JSON-RPCレスポンスのid を返します。
const MpObject & GetMpObject() const
JSON-RPCの戻り値か、エラーの付加情報を返します。
MessagePack, JSON及びCSVを読み込むと作成されるオブジェクトです。
ErrorCode
JSON-RPCのレスポンスに含まれる(事前定義の)エラーコードの定義です。
JsonRpcResponse()
デフォルトコンストラクタです。
uint32_t reqid_t
JSON-RPCのリクエストに付与されるidの型です。
std::vectorに似た、コピーコンストラクタを持たないオブジェクトを格納可能なコンテナ類似クラスです。 ...
JSON-RPCのレスポンスのバイト列を書きこむためのクラスです。
JsonRpcResponseWriter()
デフォルトコンストラクタです。
Nlist< ValueType > ListType
JSON-RPCのレスポンスのシーケンスを格納する型です。
メモリ上に展開されたMessagePackのデータに高速にアクセスします。
const char * GetErrorMessage() const
エラーメッセージを返します。
MpObject & GetMpObject()
JSON-RPCの戻り値か、エラーの付加情報を返します。
MessagePackを高速に読み込むためのクラスが定義されています。