summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author <philippe colliot>2015-08-25 13:30:40 +0200
committer <philippe colliot>2015-08-25 13:30:40 +0200
commit1da40e28957f2dbda99a1586cdbe83140f283a59 (patch)
tree576c3de6091de9d6a62f120384003d9ad5ef0859
parent508abef52bfe890c06ca4a5263320f0fe448f962 (diff)
downloadpoi-service-1da40e28957f2dbda99a1586cdbe83140f283a59.tar.gz
Fix dbus launch steps
-rw-r--r--src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx30
-rw-r--r--src/navigation/navigation-core/CMakeLists.txt4
-rw-r--r--src/navigation/poi-cam/genivi_poiservice_cam_navit.cxx34
3 files changed, 42 insertions, 26 deletions
diff --git a/src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx b/src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx
index 9d9fd86..dfe48c8 100644
--- a/src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx
+++ b/src/navigation/map-viewer/mapviewercontrol-plugin/genivi_mapviewer_mapviewercontrol.cxx
@@ -69,8 +69,16 @@
#define dbg(level,...) ;
#endif
-static DBus::Glib::BusDispatcher dispatchers[4];
-static DBus::Connection *conns[4];
+enum {
+ MAPVIEWER_CONTROL_CONNECTION=0,
+ NAVIGATIONCORE_SESSION_CONNECTION,
+ NAVIGATIONCORE_ROUTING_CONNECTION,
+ NAVIGATIONCORE_MAPMATCHEDPOSITION_CONNECTION,
+ CONNECTION_AMOUNT
+};
+
+static DBus::Glib::BusDispatcher dispatchers[CONNECTION_AMOUNT];
+static DBus::Connection *conns[CONNECTION_AMOUNT];
static int32_t navigationcore_session=-1;
static double double_variant(DBus::Variant variant);
@@ -1331,7 +1339,7 @@ MapViewerControlObj::DisplayRoute(uint32_t SessionHandle, uint32_t RouteHandle,
{
HideRoute(SessionHandle, RouteHandle);
if (navigationcore_session == -1) {
- NavigationCoreSession session(*conns[1]);
+ NavigationCoreSession session(*conns[NAVIGATIONCORE_SESSION_CONNECTION]);
navigationcore_session=session.CreateSession("MapViewerControl");
}
DisplayedRoute *route=new DisplayedRoute(this,navigationcore_session,RouteHandle,m_mapset);
@@ -1409,7 +1417,7 @@ MapViewerControlObj::MapViewerControlObj(MapViewerControl *mapviewercontrol, uin
m_force_draw=false;
m_perspective=GENIVI_MAPVIEWER_2D;
m_follow_car=true;
- m_routing=new Routing(*conns[2], this);
+ m_routing=new Routing(*conns[NAVIGATIONCORE_ROUTING_CONNECTION], this);
struct attr navit_template;
struct attr navit_flags={attr_flags};navit_flags.u.num=2;
struct attr *navit_attrs[]={&navit_flags,NULL};
@@ -1466,7 +1474,7 @@ MapViewerControlObj::MapViewerControlObj(MapViewerControl *mapviewercontrol, uin
m_vehicle.u.vehicle=vehicle_new(&m_navit,vehicle_attrs);
navit_add_attr(m_navit.u.navit, &m_vehicle);
navit_set_attr(m_navit.u.navit, &m_vehicle);
- m_mapmatchedposition=new MapMatchedPosition(*conns[3], m_vehicle.u.vehicle);
+ m_mapmatchedposition=new MapMatchedPosition(*conns[NAVIGATIONCORE_MAPMATCHEDPOSITION_CONNECTION], m_vehicle.u.vehicle);
navit_init(m_navit.u.navit);
graphics_get_data(m_graphics.u.graphics,"window");
@@ -1687,14 +1695,16 @@ plugin_init(void)
{
event_request_system("glib","genivi_mapviewercontrol");
int i;
- for (i = 0 ; i < 4 ; i++) {
+ for (i = 0 ; i < CONNECTION_AMOUNT ; i++) {
+ // init the dispatcher
+ DBus::default_dispatcher = &dispatchers[i];
+ dispatchers[i].attach(NULL);
+ // create a connection on the session bus and connect the dispatcher
conns[i] = new DBus::Connection(DBus::Connection::SessionBus());
- dispatchers[i].attach(NULL);
- DBus::default_dispatcher = &dispatchers[i];
conns[i]->setup(&dispatchers[i]);
}
- conns[0]->request_name("org.genivi.mapviewer.MapViewerControl");
- server=new MapViewerControl(*conns[0]);
+ conns[MAPVIEWER_CONTROL_CONNECTION]->request_name("org.genivi.mapviewer.MapViewerControl");
+ server=new MapViewerControl(*conns[MAPVIEWER_CONTROL_CONNECTION]);
#if LM
#if 0
diff --git a/src/navigation/navigation-core/CMakeLists.txt b/src/navigation/navigation-core/CMakeLists.txt
index 3c65eee..f7119a4 100644
--- a/src/navigation/navigation-core/CMakeLists.txt
+++ b/src/navigation/navigation-core/CMakeLists.txt
@@ -30,9 +30,7 @@ include_directories(${GLIB_INCLUDE_DIRS})
include_directories(${DBUS_CPP_INCLUDE_DIRS})
include_directories(${DBUS_CPP_GLIB_INCLUDE_DIRS})
-if(NOT ${YOCTO_CONFIG})
- include(${PRELOAD_CACHE_FOR_PLUGINS})
-endif()
+include(${PRELOAD_CACHE_FOR_PLUGINS})
include_directories(${INCLUDE_DIRECTORIES})
include_directories(.)
diff --git a/src/navigation/poi-cam/genivi_poiservice_cam_navit.cxx b/src/navigation/poi-cam/genivi_poiservice_cam_navit.cxx
index 0c3b422..9d83b35 100644
--- a/src/navigation/poi-cam/genivi_poiservice_cam_navit.cxx
+++ b/src/navigation/poi-cam/genivi_poiservice_cam_navit.cxx
@@ -46,14 +46,20 @@
#define dbg(level,...) ;
#endif
+enum {
+ POI_CONTENTACCESSMODULE_CONNECTION=0,
+ POI_CONTENTACCESS_CONNECTION,
+ CONNECTION_AMOUNT
+};
+
#include "genivi-poiservice-constants.h"
#include "genivi-poiservice-poicontentaccess_proxy.h"
#include "genivi-poiservice-contentaccessmodule_adaptor.h"
#include <algorithm>
-static DBus::Glib::BusDispatcher dispatchers[2];
-static DBus::Connection *conns[2];
+static DBus::Glib::BusDispatcher dispatchers[CONNECTION_AMOUNT];
+static DBus::Connection *conns[CONNECTION_AMOUNT];
static const char *cam_name="org.genivi.poiservice.POIContentAccessModuleNavit";
static DBus::Variant
@@ -118,7 +124,7 @@ class ContentAccessModule
register_cam(void)
{
class PoiContentAccess *pca;
- pca=new PoiContentAccess(*conns[1]);
+ pca=new PoiContentAccess(*conns[POI_CONTENTACCESS_CONNECTION]);
int camid=pca->RegisterContentAccessModule(cam_name);
dbg(lvl_debug,"camid=%d\n",camid);
@@ -332,16 +338,18 @@ void
plugin_init(void)
{
dbg(lvl_debug,"enter\n");
- event_request_system("glib","genivi_poiservice");
- int i;
- for (i = 0 ; i < 2 ; i++) {
- conns[i] = new DBus::Connection(DBus::Connection::SessionBus());
- dispatchers[i].attach(NULL);
- DBus::default_dispatcher = &dispatchers[i];
- conns[i]->setup(&dispatchers[i]);
- }
- conns[0]->request_name(cam_name);
- server=new ContentAccessModule(*conns[0]);
+ event_request_system("glib","genivi_poiservice");
+ int i;
+ for (i = 0 ; i < CONNECTION_AMOUNT ; i++) {
+ // init the dispatcher
+ DBus::default_dispatcher = &dispatchers[i];
+ dispatchers[i].attach(NULL);
+ // create a connection on the session bus and connect the dispatcher
+ conns[i] = new DBus::Connection(DBus::Connection::SessionBus());
+ conns[i]->setup(&dispatchers[i]);
+ }
+ conns[POI_CONTENTACCESSMODULE_CONNECTION]->request_name(cam_name);
+ server=new ContentAccessModule(*conns[POI_CONTENTACCESSMODULE_CONNECTION]);
try {
server->register_cam();
} catch(...) {