nlib
nn::nlib::msgpack::jsonrpc::JsonRpcRequest クラスfinal

JSON-RPCのリクエストを表すクラスです。 [詳解]

#include "nn/nlib/msgpack/jsonrpc/JsonRpcRequest.h"

公開メンバ関数

 JsonRpcRequest ()
 デフォルトコンストラクタです。
 
reqid_t GetId () const
 このリクエストのid を取得します。0の場合はリクエストはnotificationとなります。 [詳解]
 
const char * GetMethod () const
 このリクエストのメソッド名を取得します。 [詳解]
 
const MpObjectGetParams () const
 このリクエストのパラメータを取得します。 [詳解]
 
MpObjectGetParams ()
 このリクエストのパラメータを取得します。 [詳解]
 
void SetId (reqid_t id)
 リクエストのidを設定します。 [詳解]
 
bool SetMethod (const char *method)
 リクエストのメソッド名を設定します。 [詳解]
 
void MoveParamsFrom (MpObject &params)
 JSON-RPCのパラメータを設定します。 [詳解]
 

詳解

JSON-RPCのリクエストを表すクラスです。

説明
JSON-RPCのRPC呼び出しは、JSONで記述されたリクエストをサーバーに送信することで行われます。 JSON-RPCのリクエストは、次の4つのキーを含むJSONの連想配列です。
jsonrpc:
値には"2.0"という文字列が入ります。
method:
値は文字列で、リモートで呼び出す関数名が設定されます。
params:
リモートで呼び出す関数に渡されるパラメータです。
id:
JsonRpcClient::GenerateId()で作成された32bitの正の整数が指定されます。 サーバーはリクエストに対するレスポンスに同じid をつけて関連付けます。
もしidがリクエストに含まれない場合は、そのリクエストはnotification(サーバーはリクエストに返信しない)です。

JsonRpcRequest.h32 行目に定義があります。

関数詳解

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::GetId ( ) const
inline

このリクエストのid を取得します。0の場合はリクエストはnotificationとなります。

戻り値
JSON-RPCリクエストのid

JsonRpcRequest.h37 行目に定義があります。

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::GetMethod ( ) const
inline

このリクエストのメソッド名を取得します。

戻り値
メソッド名

JsonRpcRequest.h38 行目に定義があります。

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::GetParams ( ) const
inline

このリクエストのパラメータを取得します。

戻り値
パラメータ

JsonRpcRequest.h39 行目に定義があります。

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::GetParams ( )
inline

このリクエストのパラメータを取得します。

戻り値
パラメータ

JsonRpcRequest.h40 行目に定義があります。

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::MoveParamsFrom ( MpObject params)
inline

JSON-RPCのパラメータを設定します。

引数
[in,out]paramsJSON-RPCのパラメータ
説明
MpObjectのコピーを避けるために、パラメータを設定する際にparams の内容はコピーされるのではなく、JsonRpcRequestオブジェクト内部に移動します。

JsonRpcRequest.h44 行目に定義があります。

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::SetId ( reqid_t  id)
inline

リクエストのidを設定します。

引数
[in]idリクエストのid
説明
JsonRpcClient::GenerateId()で作成したidを設定します。 idはリクエスト毎に異なる必要があります。

JsonRpcRequest.h42 行目に定義があります。

nn::nlib::msgpack::jsonrpc::JsonRpcRequest::SetMethod ( const char *  method)

リクエストのメソッド名を設定します。

引数
[in]methodメソッド名
戻り値
成功した場合はtrue
説明
メソッド名の文字列はコピーされます。 その際の動的メモリ確保に失敗した場合はfalseを返します。

このクラス詳解は次のファイルから抽出されました: