Initial check in
[apps/agl-service-navigation.git] / include / analyze_request.h
1 // Copyright 2017 AW SOFTWARE CO.,LTD
2 // Copyright 2017 AISIN AW CO.,LTD
3
4 #pragma once
5
6 #include <stdbool.h>
7 #include <stdint.h>
8 #include <vector>
9
10 #include "genivi_request.h"
11
12 /**
13  *  @brief Analyze requests from BinderClient and create arguments to pass to Genivi API.
14  */
15 class AnalyzeRequest
16 {
17 public:
18         bool CreateParamsGetPosition( const char* req_json_str, std::vector< int32_t >& Params );
19         bool CreateParamsCreateRoute( const char* req_json_str, uint32_t& sessionHdl );
20         bool CreateParamsPauseSimulation( const char* req_json_str, uint32_t& sessionHdl );
21         bool CreateParamsSetSimulationMode( const char* req_json_str, uint32_t& sessionHdl, bool& simuMode );
22         bool CreateParamsCancelRouteCalculation( const char* req_json_str, uint32_t& sessionHdl, uint32_t& routeHdl );
23         bool CreateParamsSetWaypoints( const char* req_json_str, uint32_t& sessionHdl, uint32_t& routeHdl,
24                                                                                            bool& currentPos, std::vector<Waypoint>& waypointsList );
25         bool CreateParamsCalculateRoute( const char* req_json_str, uint32_t& sessionHdl, uint32_t& routeHdl );
26
27 private:
28         bool JsonObjectGetSessionHdl( const char* req_json_str, uint32_t& sessionHdl);
29         bool JsonObjectGetSessionHdlRouteHdl( const char* req_json_str, uint32_t& sessionHdl, uint32_t& routeHdl);
30 };
31