Initial check in
[apps/agl-service-navigation.git] / libnavi / include / BinderClient.h
1 // Copyright 2017 AISIN AW CO.,LTD
2
3 #pragma once
4
5 #include <map>
6 #include <tuple>
7 #include <vector>
8 #include <string>
9
10 #include "libnavicore.hpp"
11
12 #include "RequestManageListener.h"
13 #include "RequestManage.h"
14
15 #define API_NAME                "naviapi"
16
17 /**
18  *  @brief API name
19  */
20 #define VERB_GETPOSITION        "navicore_getposition"
21 #define VERB_GETALLROUTES       "navicore_getallroutes"
22 #define VERB_CREATEROUTE        "navicore_createroute"
23 #define VERB_PAUSESIMULATION    "navicore_pausesimulation"
24 #define VERB_SETSIMULATIONMODE  "navicore_setsimulationmode"
25 #define VERB_CANCELROUTECALCULATION     "navicore_cancelroutecalculation"
26 #define VERB_SETWAYPOINTS       "navicore_setwaypoints"
27 #define VERB_CALCULATEROUTE     "navicore_calculateroute"
28 #define VERB_GETALLSESSIONS     "navicore_getallsessions"
29
30 /**
31  *  @brief Binder client class
32  */
33 class BinderClient : public RequestManageListener
34 {
35 public:
36         BinderClient();
37         ~BinderClient();
38
39         bool ConnectServer(std::string url , naviapi::NavicoreListener* listener);
40         void NavicoreGetPosition(const std::vector< int32_t >& valuesToReturn);
41         void NavicoreGetAllRoutes();
42         void NavicoreCreateRoute(const uint32_t& sessionHandle);
43         void NavicorePauseSimulation(const uint32_t& sessionHandle);
44         void NavicoreSetSimulationMode(const uint32_t& sessionHandle, const bool& activate);
45         void NavicoreCancelRouteCalculation(const uint32_t& sessionHandle, const uint32_t& routeHandle);
46         void NavicoreSetWaypoints(const uint32_t& sessionHandle, const uint32_t& routeHandle, const bool& startFromCurrentPosition, const std::vector<naviapi::Waypoint>& waypointsList);
47         void NavicoreCalculateRoute(const uint32_t& sessionHandle, const uint32_t& routeHandle);
48         void NavicoreGetAllSessions();
49
50 private:
51         void OnReply(struct json_object *reply);
52
53 private:
54         naviapi::NavicoreListener* navicoreListener;
55         RequestManage* requestMng;
56 };
57