summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorasanoaozora <fifitaneki@hotmail.com>2017-02-13 10:41:46 +0100
committerasanoaozora <fifitaneki@hotmail.com>2017-02-13 10:41:46 +0100
commitf1c45529460d5bea078d748352cc7925d23695cf (patch)
treec671dfa17fbfe3544cfda2d8374b910071cb1585 /src
parentbf405aa8d082d39784723c8aac71e9e97e32ee85 (diff)
downloadpoi-service-f1c45529460d5bea078d748352cc7925d23695cf.tar.gz
fix errors in poi-server and test script
Diffstat (limited to 'src')
-rw-r--r--src/navigation/CMakeLists.txt3
-rwxr-xr-xsrc/navigation/clone_and_build.sh4
-rw-r--r--src/navigation/navigation-core/guidance-plugin/CMakeLists.txt9
-rw-r--r--src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx143
-rw-r--r--src/poi-service/poi-server/main.cpp10
-rw-r--r--src/poi-service/poi-server/poi-server-class.h10
6 files changed, 123 insertions, 56 deletions
diff --git a/src/navigation/CMakeLists.txt b/src/navigation/CMakeLists.txt
index a05b1d2..0cf27f5 100644
--- a/src/navigation/CMakeLists.txt
+++ b/src/navigation/CMakeLists.txt
@@ -23,6 +23,8 @@ option(WITH_DBUS_INTERFACE
"Build using the D-Bus interfaces" ON)
option(WITH_DEBUG
"Enable the debug messages" OFF)
+option(WITH_DLT
+ "Enable DLT logging" OFF)
option(WITH_SPEECH
"Enable the voice messages" OFF)
option(WITH_PLUGIN_MIGRATION
@@ -40,6 +42,7 @@ option(NAVIT_QTPAINTER
message(STATUS "WITH_DBUS_INTERFACE = ${WITH_DBUS_INTERFACE}")
message(STATUS "WITH_DEBUG = ${WITH_DEBUG}")
+message(STATUS "WITH_DLT = ${WITH_DLT}")
message(STATUS "WITH_SPEECH = ${WITH_SPEECH}")
message(STATUS "WITH_PLUGIN_MIGRATION = ${WITH_PLUGIN_MIGRATION}")
message(STATUS "YOCTO_CONFIG = ${YOCTO_CONFIG}")
diff --git a/src/navigation/clone_and_build.sh b/src/navigation/clone_and_build.sh
index a5f411e..02527c9 100755
--- a/src/navigation/clone_and_build.sh
+++ b/src/navigation/clone_and_build.sh
@@ -1,8 +1,8 @@
#!/bin/bash
build_option=""
-positioning_version='f341b4a2cb216d6204136794d33076170ab1bf80'
-navit_version='72a9284980f0ff6b8dd3972c0c15b3945c94559c'
+positioning_version='57345f36fa6095ecb6d7f7998a06abafbcd90a87'
+navit_version='5607f355e77250cebd5326a7c7959eb07c12adc2'
echo "version of positioning is: $positioning_version"
echo "version of navit is: $navit_version"
diff --git a/src/navigation/navigation-core/guidance-plugin/CMakeLists.txt b/src/navigation/navigation-core/guidance-plugin/CMakeLists.txt
index b1f6a34..144cff6 100644
--- a/src/navigation/navigation-core/guidance-plugin/CMakeLists.txt
+++ b/src/navigation/navigation-core/guidance-plugin/CMakeLists.txt
@@ -35,10 +35,17 @@ if(WITH_SPEECH)
include_directories(${DBUS_GENERATED_INCLUDE_DIR}/speech-service)
endif()
+if(WITH_DLT)
+ pkg_check_modules(DLT REQUIRED automotive-dlt)
+ add_definitions("-DDLT_ENABLED=1")
+ include_directories( ${DLT_INCLUDE_DIRS} )
+ set(LIBRARIES ${LIBRARIES} ${DLT_LIBRARIES})
+endif()
+
include_directories(${DBUS_GENERATED_INCLUDE_DIR}/navigation-core)
set(genivi_navigationcore_guidance_LIBS ${PLUGIN_LDFLAGS})
set(genivi_navigationcore_guidance_LIBRARY_DIRS ${PLUGIN_LIBRARIES})
module_add_library(genivi_navigationcore_guidance genivi_navigationcore_guidance.cxx ${DBUS_GENERATED_INCLUDE_DIR}/navigation-core/genivi-navigationcore-guidance_adaptor.h)
-
+target_link_libraries(genivi_navigationcore_guidance ${LIBRARIES})
diff --git a/src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx b/src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx
index 30c7f0f..2ac3e2b 100644
--- a/src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx
+++ b/src/navigation/navigation-core/guidance-plugin/genivi_navigationcore_guidance.cxx
@@ -57,6 +57,11 @@
#define dbg(level,...) ;
#endif
+#if (DLT_ENABLED)
+#include "dlt.h"
+DLT_DECLARE_CONTEXT(con_test)
+#endif
+
static DBus::Glib::BusDispatcher dispatcher;
static DBus::Connection *conn;
@@ -132,7 +137,7 @@ class GuidanceObj
};
void GuidanceObj_Callback(GuidanceObj *obj);
-static class GuidanceObj *guidance;
+static class GuidanceObj *s_guidance;
static struct attr vehicle_speed={attr_speed,(char *)40};
static struct navit *
@@ -210,7 +215,8 @@ class Guidance
Guidance(DBus::Connection &connection)
: DBus::ObjectAdaptor(connection, "/org/genivi/navigationcore")
{
- simulationMode = true; //by default
+ m_simulationMode = true; //by default
+ m_guidance_active=false;
}
void
@@ -221,7 +227,7 @@ class Guidance
vehicle.type=attr_vehicle;
vehicle.u.vehicle=get_vehicle(Activate?"enhancedposition:":"demo:");
if (vehicle.u.vehicle) {
- simulationMode = Activate;
+ m_simulationMode = Activate;
struct navit *navit=get_navit();
navit_set_attr(navit, &vehicle);
} else {
@@ -232,41 +238,57 @@ class Guidance
bool
GetSimulationMode()
{
- return (simulationMode);
+ return (m_simulationMode);
}
void
StartGuidance(const uint32_t& SessionHandle, const uint32_t& RouteHandle)
{
dbg(lvl_debug,"enter\n");
- if (guidance) {
+ if (m_guidance_active) {
dbg(lvl_debug,"guidance already active\n");
throw DBus::ErrorFailed("guidance already active");
- }
- guidance=new GuidanceObj(this, SessionHandle, RouteHandle);
+ } else {
+#if (DLT_ENABLED)
+ DLT_REGISTER_APP("GUID","Navigation core guidance");
+ DLT_REGISTER_CONTEXT(con_test,"TEST","Navigation context for testing");
+#endif
+ s_guidance=new GuidanceObj(this, SessionHandle, RouteHandle);
+ m_guidance_active=true;
+#if (DLT_ENABLED)
+ DLT_LOG(con_test,DLT_LOG_INFO,DLT_STRING("guidance active: "),DLT_BOOL(m_guidance_active));
+#endif
+ }
}
void
StopGuidance(const uint32_t& SessionHandle)
{
dbg(lvl_debug,"enter\n");
- if (!guidance) {
+ if (m_guidance_active==false) {
dbg(lvl_debug,"no guidance active\n");
throw DBus::ErrorFailed("no guidance active");
- }
- delete(guidance);
- guidance=NULL;
+ } else {
+ delete(s_guidance);
+ m_guidance_active=false;
+#if (DLT_ENABLED)
+ DLT_LOG(con_test,DLT_LOG_INFO,DLT_STRING("guidance active: "),DLT_BOOL(m_guidance_active));
+ DLT_UNREGISTER_CONTEXT(con_test);
+ DLT_UNREGISTER_APP();
+#endif
+ }
}
void
GetDestinationInformation(uint32_t& offset, uint32_t& travelTime, int32_t& direction, int32_t& side, int16_t& timeZone, int16_t& daylightSavingTime)
{
dbg(lvl_debug,"enter\n");
- if (!guidance) {
+ if (m_guidance_active==false) {
dbg(lvl_debug,"no guidance active\n");
throw DBus::ErrorFailed("no guidance active");
- }
- guidance->GetDestinationInformation(offset, travelTime, direction, timeZone);
+ } else {
+ s_guidance->GetDestinationInformation(offset, travelTime, direction, timeZone);
+ }
}
::DBus::Struct< uint16_t, uint16_t, uint16_t, std::string >
@@ -284,8 +306,8 @@ class Guidance
SetSimulationSpeed(const uint32_t& sessionHandle, const uint8_t& speedFactor)
{
vehicle_speed.u.num=speedFactor*40/4;
- if (guidance)
- guidance->SetSimulationSpeed(sessionHandle);
+ if (m_guidance_active==true)
+ s_guidance->SetSimulationSpeed(sessionHandle);
}
uint8_t
@@ -297,48 +319,57 @@ class Guidance
void
PauseGuidance(const uint32_t& sessionHandle)
{
- if (!guidance) {
+ if (m_guidance_active==false) {
dbg(lvl_debug,"no guidance active\n");
throw DBus::ErrorFailed("no guidance active");
- }
- guidance->PauseGuidance(sessionHandle);
+ } else {
+ s_guidance->PauseGuidance(sessionHandle);
+ }
}
void
ResumeGuidance(const uint32_t& sessionHandle)
{
- if (!guidance) {
+ if (m_guidance_active==false) {
dbg(lvl_debug,"no guidance active\n");
throw DBus::ErrorFailed("no guidance active");
- }
- guidance->ResumeGuidance(sessionHandle);
+ } else {
+ s_guidance->ResumeGuidance(sessionHandle);
+ }
}
int32_t
SetVoiceGuidance(const bool& activate, const std::string& voice)
{
- guidance->SetVoiceGuidance(activate,voice);
+ if (m_guidance_active==false) {
+ dbg(lvl_debug,"no guidance active\n");
+ throw DBus::ErrorFailed("no guidance active");
+ } else {
+ s_guidance->SetVoiceGuidance(activate,voice);
+ }
return(0); //not implemented yet
}
void
GetGuidanceDetails(bool& voiceGuidance, bool& vehicleOnTheRoad, bool& isDestinationReached, int32_t& maneuver)
{
- if (!guidance) {
+ if (m_guidance_active==false) {
dbg(lvl_debug,"no guidance active\n");
throw DBus::ErrorFailed("no guidance active");
- }
- guidance->GetGuidanceDetails(voiceGuidance, vehicleOnTheRoad, isDestinationReached, maneuver);
+ } else {
+ s_guidance->GetGuidanceDetails(voiceGuidance, vehicleOnTheRoad, isDestinationReached, maneuver);
+ }
}
int32_t
PlayVoiceManeuver()
{
- if (!guidance) {
+ if (m_guidance_active==false) {
dbg(lvl_debug,"no guidance active\n");
throw DBus::ErrorFailed("no guidance active");
+ } else {
+ s_guidance->PlayVoiceManeuver();
}
- guidance->PlayVoiceManeuver();
return(0); //not implemented yet
}
@@ -351,11 +382,12 @@ class Guidance
void
GetManeuversList(const uint16_t& requestedNumberOfManeuvers, const uint32_t& maneuverOffset, int32_t& error, uint16_t& numberOfManeuvers, std::vector< ::DBus::Struct< std::vector< ::DBus::Struct< std::string, std::vector< ::DBus::Struct< int32_t, std::string > >, std::string > >, std::string, std::string, std::string, std::string, uint16_t, int32_t, uint32_t, std::vector< ::DBus::Struct< uint32_t, uint32_t, int32_t, int32_t, std::map< int32_t, ::DBus::Struct< uint8_t, ::DBus::Variant > > > > > >& maneuversList)
{
- if (!guidance) {
+ if (m_guidance_active==false) {
dbg(lvl_debug,"no guidance active\n");
throw DBus::ErrorFailed("no guidance active");
- }
- guidance->GetManeuversList(requestedNumberOfManeuvers, maneuverOffset, numberOfManeuvers, maneuversList);
+ } else {
+ s_guidance->GetManeuversList(requestedNumberOfManeuvers, maneuverOffset, numberOfManeuvers, maneuversList);
+ }
error=0; //not used
}
@@ -375,8 +407,8 @@ class Guidance
void
GetGuidanceStatus(int32_t& guidanceStatus, uint32_t& routeHandle)
{
- if (guidance) {
- guidance->GetGuidanceStatus(guidanceStatus, routeHandle);
+ if (m_guidance_active==true) {
+ s_guidance->GetGuidanceStatus(guidanceStatus, routeHandle);
} else {
guidanceStatus=GENIVI_NAVIGATIONCORE_INACTIVE;
routeHandle=0;
@@ -386,14 +418,24 @@ class Guidance
int32_t
SetVoiceGuidanceSettings(const int32_t& promptMode)
{
- guidance->SetVoiceGuidanceSettings(promptMode);
+ if (m_guidance_active==false) {
+ dbg(lvl_debug,"no guidance active\n");
+ throw DBus::ErrorFailed("no guidance active");
+ } else {
+ s_guidance->SetVoiceGuidanceSettings(promptMode);
+ }
return(0); //not implemented yet
}
int32_t
GetVoiceGuidanceSettings()
{
- return guidance->GetVoiceGuidanceSettings();
+ if (m_guidance_active==false) {
+ dbg(lvl_debug,"no guidance active\n");
+ throw DBus::ErrorFailed("no guidance active");
+ } else {
+ return s_guidance->GetVoiceGuidanceSettings();
+ }
}
void
@@ -408,7 +450,8 @@ class Guidance
throw DBus::ErrorNotSupported("Not yet supported");
}
- bool simulationMode;
+ bool m_simulationMode;
+ bool m_guidance_active;
};
void
@@ -694,7 +737,6 @@ GuidanceObj::GetGuidanceStatus(int32_t &guidanceStatus, uint32_t& routeHandle)
routeHandle=m_route_handle;
}
-
void
GuidanceObj_Callback(GuidanceObj *obj)
{
@@ -730,7 +772,13 @@ GuidanceObj_Callback(GuidanceObj *obj)
maneuver=GENIVI_NAVIGATIONCORE_INVALID;
}
obj->m_guidance->ManeuverChanged(maneuver);
- } else {
+#if (DLT_ENABLED)
+ DLT_LOG(con_test,DLT_LOG_INFO,DLT_STRING("maneuver: "),DLT_INT16(maneuver));
+#endif
+ } else {
+#if (DLT_ENABLED)
+ DLT_LOG(con_test,DLT_LOG_ERROR,DLT_STRING("item not found"));
+#endif
dbg(lvl_debug,"failed to get level item=%p\n",item);
}
}
@@ -744,7 +792,6 @@ variant_double(double d)
return variant;
}
-
void
GuidanceObj_TrackingCallback(GuidanceObj *obj)
{
@@ -776,8 +823,12 @@ struct map_rect *
GuidanceObj::get_map_rect(void)
{
struct map *map=navigation_get_map(get_navigation());
- if (!map)
- return NULL;
+ if (!map) {
+#if (DLT_ENABLED)
+ DLT_LOG(con_test,DLT_LOG_ERROR,DLT_STRING("map_rect null"));
+#endif
+ return NULL;
+ }
return map_rect_new(map, NULL);
}
@@ -824,6 +875,9 @@ GuidanceObj::GuidanceObj(Guidance *guidance, uint32_t SessionHandle, uint32_t Ro
g_free(ret);
}
m_guidance->GuidanceStatusChanged(GENIVI_NAVIGATIONCORE_ACTIVE, RouteHandle);
+#if (DLT_ENABLED)
+ DLT_LOG(con_test,DLT_LOG_INFO,DLT_STRING("guidance status: "),DLT_INT16(GENIVI_NAVIGATIONCORE_ACTIVE));
+#endif
}
GuidanceObj::~GuidanceObj()
@@ -842,10 +896,13 @@ GuidanceObj::~GuidanceObj()
#if (SPEECH_ENABLED)
delete(m_speechoutput);
#endif
+#if (DLT_ENABLED)
+ DLT_LOG(con_test,DLT_LOG_INFO,DLT_STRING("guidance status: "),DLT_INT16(GENIVI_NAVIGATIONCORE_INACTIVE));
+#endif
}
-static class Guidance *server;
+static class Guidance *s_server;
void
plugin_init(void)
@@ -856,5 +913,5 @@ plugin_init(void)
conn = new DBus::Connection(DBus::Connection::SessionBus());
conn->setup(&dispatcher);
conn->request_name("org.genivi.navigation.navigationcore.Guidance");
- server=new Guidance(*conn);
+ s_server=new Guidance(*conn);
}
diff --git a/src/poi-service/poi-server/main.cpp b/src/poi-service/poi-server/main.cpp
index a2b06a4..50bb074 100644
--- a/src/poi-service/poi-server/main.cpp
+++ b/src/poi-service/poi-server/main.cpp
@@ -43,14 +43,14 @@
#include "poi-server-class.h"
-static const char* poiSearch_SERVICE_NAME = "org.genivi.poiservice.POISearch";
+static const char* poiSearch_SERVICE_NAME = "org.genivi.navigation.poiservice.POISearch";
static const char* poiSearch_OBJECT_PATH = "/org/genivi/poiservice/POISearch";
-static const char* poiConfiguration_SERVICE_NAME = "org.genivi.poiservice.Configuration";
-static const char* poiConfiguration_OBJECT_PATH = "/org/genivi/poiservice/Configuration";
-static const char* poiContentAccess_SERVICE_NAME = "org.genivi.poiservice.POIContentAccess";
+static const char* poiConfiguration_SERVICE_NAME = "org.genivi.navigation.poiservice.POIConfiguration";
+static const char* poiConfiguration_OBJECT_PATH = "/org/genivi/poiservice/POIConfiguration";
+static const char* poiContentAccess_SERVICE_NAME = "org.genivi.navigation.poiservice.POIContentAccess";
static const char* poiContentAccess_OBJECT_PATH = "/org/genivi/poiservice/POIContentAccess";
static const char* contentAccessModule_OBJECT_PATH = "/org/genivi/poiservice/POIContentAccessModule";
-static const char* Routing_SERVICE_NAME = "org.genivi.navigationcore.Routing";
+static const char* Routing_SERVICE_NAME = "org.genivi.navigation.navigationcore.Routing";
static const char* Routing_OBJECT_PATH = "/org/genivi/navigationcore";
// SQL requests
diff --git a/src/poi-service/poi-server/poi-server-class.h b/src/poi-service/poi-server/poi-server-class.h
index f8b8cc4..3f90a00 100644
--- a/src/poi-service/poi-server/poi-server-class.h
+++ b/src/poi-service/poi-server/poi-server-class.h
@@ -62,7 +62,7 @@ class poiSearchServer;
class poiContentAccessServer;
class Routing
-: public org::genivi::navigationcore::Routing_proxy,
+: public org::genivi::navigation::navigationcore::Routing_proxy,
public DBus::IntrospectableProxy,
public DBus::ObjectProxy
{
@@ -87,7 +87,7 @@ class Routing
};
class contentAccessModule
-: public org::genivi::poiservice::POIContentAccessModule_proxy,
+: public org::genivi::navigation::poiservice::POIContentAccessModule_proxy,
public DBus::IntrospectableProxy,
public DBus::ObjectProxy
{
@@ -109,7 +109,7 @@ private:
};
class poiContentAccessServer
-: public org::genivi::poiservice::POIContentAccess_adaptor,
+: public org::genivi::navigation::poiservice::POIContentAccess_adaptor,
public DBus::IntrospectableAdaptor,
public DBus::ObjectAdaptor
{
@@ -208,7 +208,7 @@ private:
};
class poiSearchServer
-: public org::genivi::poiservice::POISearch_adaptor,
+: public org::genivi::navigation::poiservice::POISearch_adaptor,
public DBus::IntrospectableAdaptor,
public DBus::ObjectAdaptor
{
@@ -351,7 +351,7 @@ private:
};
class poiConfigurationServer
-: public org::genivi::poiservice::Configuration_adaptor,
+: public org::genivi::navigation::poiservice::POIConfiguration_adaptor,
public DBus::IntrospectableAdaptor,
public DBus::ObjectAdaptor
{