75201c70e3a86833102780a2c4eab5674c7ffe8d
[apps/agl-service-navigation.git] / include / genivi_request.h
1 // Copyright 2017 AW SOFTWARE CO.,LTD
2 // Copyright 2017 AISIN AW CO.,LTD
3
4 #pragma once
5
6 #include <map>
7 #include <vector>
8 #include <stdint.h>
9
10 typedef std::tuple<double, double> Waypoint;
11
12 /**
13  *  @brief Genivi API call.
14  */
15 class GeniviRequest
16 {
17 public:
18         ~GeniviRequest();
19
20         std::map< int32_t, double > NavicoreGetPosition( const std::vector< int32_t >& valuesToReturn );
21         std::vector< uint32_t >  NavicoreGetAllRoutes();
22         uint32_t                                        NavicoreCreateRoute( const uint32_t& sessionHandle );
23         void                                            NavicorePauseSimulation( const uint32_t& sessionHandle );
24         void                                            NavicoreSetSimulationMode( const uint32_t& sessionHandle, const bool& activate );
25         void                                            NavicoreCancelRouteCalculation( const uint32_t& sessionHandle, const uint32_t& routeHandle );
26         void                                            NavicoreSetWaypoints( const uint32_t& sessionHandle, const uint32_t& routeHandle,
27                                                                                 const bool& startFromCurrentPosition, const std::vector<Waypoint>& waypointsList );
28         void                                            NavicoreCalculateRoute( const uint32_t& sessionHandle, const uint32_t& routeHandle );
29         std::map<uint32_t, std::string> NavicoreGetAllSessions();
30
31 private:
32         void* navicore_;
33
34         void CreateDBusSession();
35         bool CheckSession();
36 };
37