From 9600c3dc3f58baaef1f1a01c551b5c69d70f1815 Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Mon, 3 Dec 2012 22:50:17 -0800 Subject: [PATCH] Refactor RPC data_*. --- src/cpp/ripple/CallRPC.cpp | 37 ++++++++++++++++++++++++++++++++--- src/cpp/ripple/CallRPC.h | 3 +++ src/cpp/ripple/RPCHandler.cpp | 33 +++++++++++++++++++------------ 3 files changed, 57 insertions(+), 16 deletions(-) diff --git a/src/cpp/ripple/CallRPC.cpp b/src/cpp/ripple/CallRPC.cpp index 47bdfb4ace..5eef77ceed 100644 --- a/src/cpp/ripple/CallRPC.cpp +++ b/src/cpp/ripple/CallRPC.cpp @@ -126,6 +126,37 @@ Json::Value RPCParser::parseConnect(const Json::Value& jvParams) return jvRequest; } +// data_delete +Json::Value RPCParser::parseDataDelete(const Json::Value& jvParams) +{ + Json::Value jvRequest(Json::objectValue); + + jvRequest["key"] = jvParams[0u].asString(); + + return jvRequest; +} + +// data_fetch +Json::Value RPCParser::parseDataFetch(const Json::Value& jvParams) +{ + Json::Value jvRequest(Json::objectValue); + + jvRequest["key"] = jvParams[0u].asString(); + + return jvRequest; +} + +// data_store +Json::Value RPCParser::parseDataStore(const Json::Value& jvParams) +{ + Json::Value jvRequest(Json::objectValue); + + jvRequest["key"] = jvParams[0u].asString(); + jvRequest["value"] = jvParams[1u].asString(); + + return jvRequest; +} + // Return an error for attemping to subscribe/unsubscribe via RPC. Json::Value RPCParser::parseEvented(const Json::Value& jvParams) { @@ -376,9 +407,9 @@ Json::Value RPCParser::parseCommand(std::string strMethod, Json::Value jvParams) // XXX Unnecessary commands which should be removed. { "login", &RPCParser::parseLogin, 2, 2 }, -// { "data_delete", &RPCParser::parseDataDelete, 1, 1, true, false, optNone }, -// { "data_fetch", &RPCParser::parseDataFetch, 1, 1, true, false, optNone }, -// { "data_store", &RPCParser::parseDataStore, 2, 2, true, false, optNone }, + { "data_delete", &RPCParser::parseDataDelete, 1, 1 }, + { "data_fetch", &RPCParser::parseDataFetch, 1, 1 }, + { "data_store", &RPCParser::parseDataStore, 2, 2 }, // Evented methods { "subscribe", &RPCParser::parseEvented, -1, -1 }, diff --git a/src/cpp/ripple/CallRPC.h b/src/cpp/ripple/CallRPC.h index 9613a3b508..419560e855 100644 --- a/src/cpp/ripple/CallRPC.h +++ b/src/cpp/ripple/CallRPC.h @@ -15,6 +15,9 @@ protected: Json::Value parseAccountTransactions(const Json::Value& jvParams); Json::Value parseAsIs(const Json::Value& jvParams); Json::Value parseConnect(const Json::Value& jvParams); + Json::Value parseDataDelete(const Json::Value& jvParams); + Json::Value parseDataFetch(const Json::Value& jvParams); + Json::Value parseDataStore(const Json::Value& jvParams); Json::Value parseEvented(const Json::Value& jvParams); Json::Value parseGetCounts(const Json::Value& jvParams); Json::Value parseLedger(const Json::Value& jvParams); diff --git a/src/cpp/ripple/RPCHandler.cpp b/src/cpp/ripple/RPCHandler.cpp index b33118f527..2cd3118c78 100644 --- a/src/cpp/ripple/RPCHandler.cpp +++ b/src/cpp/ripple/RPCHandler.cpp @@ -340,10 +340,12 @@ Json::Value RPCHandler::doConnect(Json::Value jvParams) return "connecting"; } -// data_delete -Json::Value RPCHandler::doDataDelete(Json::Value params) +// { +// key: +// } +Json::Value RPCHandler::doDataDelete(Json::Value jvRequest) { - std::string strKey = params[0u].asString(); + std::string strKey = jvRequest["key"].asString(); Json::Value ret = Json::Value(Json::objectValue); @@ -359,10 +361,12 @@ Json::Value RPCHandler::doDataDelete(Json::Value params) return ret; } -// data_fetch -Json::Value RPCHandler::doDataFetch(Json::Value params) +// { +// key: +// } +Json::Value RPCHandler::doDataFetch(Json::Value jvRequest) { - std::string strKey = params[0u].asString(); + std::string strKey = jvRequest["key"].asString(); std::string strValue; Json::Value ret = Json::Value(Json::objectValue); @@ -374,11 +378,14 @@ Json::Value RPCHandler::doDataFetch(Json::Value params) return ret; } -// data_store -Json::Value RPCHandler::doDataStore(Json::Value params) +// { +// key: +// value: +// } +Json::Value RPCHandler::doDataStore(Json::Value jvRequest) { - std::string strKey = params[0u].asString(); - std::string strValue = params[1u].asString(); + std::string strKey = jvRequest["key"].asString(); + std::string strValue = jvRequest["value"].asString(); Json::Value ret = Json::Value(Json::objectValue); @@ -2239,9 +2246,9 @@ Json::Value RPCHandler::doCommand(Json::Value& jvParams, int iRole) // XXX Unnecessary commands which should be removed. { "login", &RPCHandler::doLogin, -1, -1, true, false, optNone }, - { "data_delete", &RPCHandler::doDataDelete, 1, 1, true, false, optNone }, - { "data_fetch", &RPCHandler::doDataFetch, 1, 1, true, false, optNone }, - { "data_store", &RPCHandler::doDataStore, 2, 2, true, false, optNone }, + { "data_delete", &RPCHandler::doDataDelete, -1, -1, true, false, optNone }, + { "data_fetch", &RPCHandler::doDataFetch, -1, -1, true, false, optNone }, + { "data_store", &RPCHandler::doDataStore, -1, -1, true, false, optNone }, // Evented methods { "subscribe", &RPCHandler::doSubscribe, -1, -1, false, true, optNone },