22 doc->D(
"example of user defined RPC method that returns up to 3 results");
24 doc->P(
"optional_arg?",
MJSON_INT,
"optional example integer argument");
25 doc->R(
"string",
MJSON_STRING,
"returns the value of \"arg\" parameter");
26 doc->R(
"integer",
MJSON_INT,
"returns the value of \"optional_arg\" parameter");
30 MJsonNode* error =
NULL;
32 std::string arg =
mjsonrpc_get_param(params,
"arg", &error)->GetString();
if (error)
return error;
49 doc->D(
"example of user defined RPC method that returns more than 3 results");
51 doc->P(
"optional_arg?",
MJSON_INT,
"optional example integer argument");
52 doc->R(
"string1",
MJSON_STRING,
"returns the value of \"arg\" parameter");
55 doc->R(
"value1",
MJSON_INT,
"returns the value of \"optional_arg\" parameter");
60 MJsonNode* error =
NULL;
62 std::string arg =
mjsonrpc_get_param(params,
"arg", &error)->GetString();
if (error)
return error;
68 MJsonNode* result = MJsonNode::MakeObject();
70 result->AddToObject(
"string1", MJsonNode::MakeString(arg.c_str()));
71 result->AddToObject(
"string2", MJsonNode::MakeString(
"hello"));
72 result->AddToObject(
"string3", MJsonNode::MakeString(
"world!"));
73 result->AddToObject(
"value1", MJsonNode::MakeInt(
optional_arg));
74 result->AddToObject(
"value2", MJsonNode::MakeNumber(3.14));
87 doc->D(
"example of user defined RPC method that returns an error");
88 doc->P(
"arg",
MJSON_INT,
"integer value, if zero, throws a JSON-RPC error");
89 doc->R(
"status",
MJSON_INT,
"returns the value of \"arg\" parameter");
93 MJsonNode* error =
NULL;
95 int arg =
mjsonrpc_get_param(params,
"arg", &error)->GetInt();
if (error)
return error;
98 printf(
"user_example3(%d)\n", arg);
119 printf(
"mjsonrpc_user_init!\n");
MJsonNode * mjsonrpc_make_result(MJsonNode *node)
void mjsonrpc_user_init()
MJsonNode * mjsonrpc_make_error(int code, const char *message, const char *data)
const MJsonNode * mjsonrpc_get_param(const MJsonNode *params, const char *name, MJsonNode **error)
void mjsonrpc_add_handler(const char *method, mjsonrpc_handler_t *handler, bool needs_locking)
static MJsonNode * user_example3(const MJsonNode *params)
static MJsonNode * user_example1(const MJsonNode *params)
static MJsonNode * user_example2(const MJsonNode *params)
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)