summaryrefslogtreecommitdiffstats
path: root/libnavi/src/JsonResponseAnalyzer.cpp
diff options
context:
space:
mode:
authorMatt Ranostay <matt.ranostay@konsulko.com>2019-10-19 13:45:11 -0700
committerMatt Ranostay <matt.ranostay@konsulko.com>2019-10-31 01:59:13 -0700
commit3e94024998c1615bd30306aab7537db22161a9ce (patch)
tree6bea3ac4de640d98c8c27ffd0c02f9eb86ca0773 /libnavi/src/JsonResponseAnalyzer.cpp
parent9539611e896e61e27154bbb5917188753a983871 (diff)
binding: navigation: rewrite of navigation binding
To remove dependency on DBus the binding needed to be rewritten to output pure JSON output to subscribed consumers. Bug-AGL: SPEC-2880 Change-Id: Ie85dfccd42ca36119116a0fbfb16bf4e96efc184 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Diffstat (limited to 'libnavi/src/JsonResponseAnalyzer.cpp')
-rw-r--r--libnavi/src/JsonResponseAnalyzer.cpp254
1 files changed, 0 insertions, 254 deletions
diff --git a/libnavi/src/JsonResponseAnalyzer.cpp b/libnavi/src/JsonResponseAnalyzer.cpp
deleted file mode 100644
index b0d943f..0000000
--- a/libnavi/src/JsonResponseAnalyzer.cpp
+++ /dev/null
@@ -1,254 +0,0 @@
-// Copyright 2017 AW SOFTWARE CO.,LTD
-// Copyright 2017 AISIN AW CO.,LTD
-
-#include <traces.h>
-
-#include "JsonResponseAnalyzer.h"
-
-/**
- * @brief Response analysis of navicore_getallroutes
- * @param res_json JSON string of response
- * @return Map information for the key sent in the request
- */
-std::map< int32_t, naviapi::variant > JsonResponseAnalyzer::AnalyzeResponseGetPosition( std::string& res_json )
-{
- std::map< int32_t, naviapi::variant > ret;
-
- TRACE_DEBUG("AnalyzeResponseGetPosition json_obj:\n%s\n", json_object_to_json_string(json_obj));
-
- // convert to Json Object
- struct json_object *json_obj = json_tokener_parse( res_json.c_str() );
-
- // Check key
- struct json_object *json_map_ary = NULL;
- if( json_object_object_get_ex(json_obj, "response", &json_map_ary) )
- {
- // Check if the response is array information
- if( json_object_is_type(json_map_ary, json_type_array) )
- {
- for (int i = 0; i < json_object_array_length(json_map_ary); ++i)
- {
- struct json_object* j_elem = json_object_array_get_idx(json_map_ary, i);
-
- if( json_object_is_type( j_elem, json_type_object) )
- {
- // Check key
- struct json_object* key = NULL;
- struct json_object* value = NULL;
- if( json_object_object_get_ex(j_elem, "key", &key)
- && json_object_object_get_ex(j_elem, "value", &value) )
- {
- if( json_object_is_type(key, json_type_int) )
- {
- uint32_t req_key = (uint32_t)json_object_get_int(key);
-
- switch( req_key )
- {
- case naviapi::NAVICORE_LATITUDE:
- ret[req_key]._double = json_object_get_double(value);
- break;
-
- case naviapi::NAVICORE_LONGITUDE:
- ret[req_key]._double = json_object_get_double(value);
- break;
-
- case naviapi::NAVICORE_TIMESTAMP:
- ret[req_key]._uint32_t = (uint32_t)json_object_get_int(value);
- break;
-
- case naviapi::NAVICORE_HEADING:
- ret[req_key]._uint32_t = (uint32_t)json_object_get_int(value);
- break;
-
- case naviapi::NAVICORE_SPEED:
- ret[req_key]._int32_t = json_object_get_int(value);
- break;
-
- case naviapi::NAVICORE_SIMULATION_MODE:
- ret[req_key]._bool = json_object_get_boolean(value);
- break;
-
- default:
- TRACE_WARN("unknown key type.\n");
- break;
- }
- }
- }
- }
- else
- {
- TRACE_WARN("element type is not object.\n");
- break;
- }
- }
- }
- else
- {
- TRACE_WARN("response type is not array.\n");
- }
- }
-
- json_object_put(json_obj);
- return ret;
-}
-
-/**
- * @brief Response analysis of navicore_getallroutes
- * @param res_json JSON string of response
- * @return Route handle array
- */
-std::vector< uint32_t > JsonResponseAnalyzer::AnalyzeResponseGetAllRoutes( std::string& res_json )
-{
- std::vector< uint32_t > routeList;
-
- TRACE_DEBUG("AnalyzeResponseGetAllRoutes json_obj:\n%s\n", json_object_to_json_string(json_obj));
-
- // convert to Json Object
- struct json_object *json_obj = json_tokener_parse( res_json.c_str() );
-
- // Check key
- struct json_object *json_route_ary = NULL;
- if( json_object_object_get_ex(json_obj, "response", &json_route_ary) )
- {
- // Check if the response is array information
- if( json_object_is_type(json_route_ary, json_type_array) )
- {
- for (int i = 0; i < json_object_array_length(json_route_ary); ++i)
- {
- struct json_object* j_elem = json_object_array_get_idx(json_route_ary, i);
-
- // Check that it is an element
- struct json_object *json_route_obj = NULL;
- if( json_object_object_get_ex(j_elem, "route", &json_route_obj) )
- {
- // Check if it is an int value
- if( json_object_is_type(json_route_obj, json_type_int) )
- {
- uint32_t routeHandle = (uint32_t)json_object_get_int(json_route_obj);
- routeList.push_back( routeHandle );
- }
- else
- {
- TRACE_WARN("route value is not integer.\n");
- break;
- }
- }
- else
- {
- TRACE_WARN("key route is not found.\n");
- break;
- }
- }
- }
- else
- {
- TRACE_WARN("response type is not array.\n");
- }
- }
-
- json_object_put(json_obj);
- return routeList;
-}
-
-/**
- * @brief Response analysis of navicore_createroute
- * @param res_json JSON string of response
- * @return Route handle
- */
-uint32_t JsonResponseAnalyzer::AnalyzeResponseCreateRoute( std::string& res_json )
-{
- uint32_t routeHandle = 0;
-
- TRACE_DEBUG("AnalyzeResponseCreateRoute json_obj:\n%s\n", json_object_to_json_string(json_obj));
-
- // convert to Json Object
- struct json_object *json_obj = json_tokener_parse( res_json.c_str() );
-
- // Check key
- struct json_object *json_root_obj = NULL;
- struct json_object *json_route_obj = NULL;
- if( json_object_object_get_ex(json_obj, "response", &json_root_obj)
- && json_object_object_get_ex(json_root_obj, "route", &json_route_obj) )
- {
- // Check if the response is array information
- if( json_object_is_type(json_route_obj, json_type_int) )
- {
- // Get route handle
- routeHandle = (uint32_t)json_object_get_int(json_route_obj);
- }
- else
- {
- TRACE_WARN("response type is not integer.\n");
- }
- }
-
- json_object_put(json_obj);
- return routeHandle;
-}
-
-/**
- * @brief Response analysis of navicore_getallsessions
- * @param res_json JSON string of response
- * @return Map of session information
- */
-std::map<uint32_t, std::string> JsonResponseAnalyzer::AnalyzeResponseGetAllSessions( std::string& res_json )
-{
- std::map<uint32_t, std::string> session_map;
-
- TRACE_DEBUG("AnalyzeResponseGetAllSessions json_obj:\n%s\n", json_object_to_json_string(json_obj));
-
- // convert to Json Object
- struct json_object *json_obj = json_tokener_parse( res_json.c_str() );
-
- // Check key
- struct json_object *json_map_ary = NULL;
- if( json_object_object_get_ex(json_obj, "response", &json_map_ary) )
- {
- // Check if the response is array information
- if( json_object_is_type(json_map_ary, json_type_array) )
- {
- for (int i = 0; i < json_object_array_length(json_map_ary); ++i)
- {
- struct json_object* j_elem = json_object_array_get_idx(json_map_ary, i);
-
- if( json_object_is_type( j_elem, json_type_object) )
- {
- // Check key
- struct json_object* handle = NULL;
- struct json_object* client = NULL;
- if( json_object_object_get_ex(j_elem, "sessionHandle", &handle)
- && json_object_object_get_ex(j_elem, "client", &client) )
- {
- if( json_object_is_type(handle, json_type_int)
- && json_object_is_type(client, json_type_string) )
- {
- uint32_t sessionHandle = (uint32_t)json_object_get_int(handle);
- std::string clientName = std::string( json_object_get_string(client) );
-
- // add to map
- session_map[sessionHandle] = clientName;
- }
- else
- {
- TRACE_WARN("invalid response.\n");
- break;
- }
- }
- }
- else
- {
- TRACE_WARN("element type is not object.\n");
- break;
- }
- }
- }
- else
- {
- TRACE_WARN("response type is not array.\n");
- }
- }
-
- json_object_put(json_obj);
- return session_map;
-}
-