summaryrefslogtreecommitdiff
path: root/src/navigation/navigation-core/enhancedposition-plugin/genivi_positioning_enhancedposition.cxx
diff options
context:
space:
mode:
author <philippe colliot>2014-12-08 13:56:18 +0100
committer <philippe colliot>2014-12-08 13:56:18 +0100
commit502629ad46d67277d146b8a07c51b443121008ec (patch)
tree40107cec93fee97246676c097c15711622bcd1fa /src/navigation/navigation-core/enhancedposition-plugin/genivi_positioning_enhancedposition.cxx
parent2f68c489569e13eed75ba4213c0f7fefdca918f3 (diff)
downloadpoi-service-502629ad46d67277d146b8a07c51b443121008ec.tar.gz
alignment with the latest version of the positioning interface
Diffstat (limited to 'src/navigation/navigation-core/enhancedposition-plugin/genivi_positioning_enhancedposition.cxx')
-rw-r--r--src/navigation/navigation-core/enhancedposition-plugin/genivi_positioning_enhancedposition.cxx44
1 files changed, 10 insertions, 34 deletions
diff --git a/src/navigation/navigation-core/enhancedposition-plugin/genivi_positioning_enhancedposition.cxx b/src/navigation/navigation-core/enhancedposition-plugin/genivi_positioning_enhancedposition.cxx
index acd22af..1aa7f2e 100644
--- a/src/navigation/navigation-core/enhancedposition-plugin/genivi_positioning_enhancedposition.cxx
+++ b/src/navigation/navigation-core/enhancedposition-plugin/genivi_positioning_enhancedposition.cxx
@@ -111,45 +111,20 @@ class EnhancedPosition
}
void
- PositionUpdate(const std::vector< uint16_t >& changedValues)
+ PositionUpdate(const uint64_t& changedValues)
{
dbg(1,"enter\n");
int i;
bool position_found=false;
- for (i = 0 ; i < changedValues.size() ; i++) {
- if (changedValues[i] == GENIVI_ENHANCEDPOSITIONSERVICE_LATITUDE ||
- changedValues[i] == GENIVI_ENHANCEDPOSITIONSERVICE_LONGITUDE) {
- position_found=true;
- break;
- }
+ if ((changedValues & (GENIVI_ENHANCEDPOSITIONSERVICE_LATITUDE || GENIVI_ENHANCEDPOSITIONSERVICE_LONGITUDE)) == (GENIVI_ENHANCEDPOSITIONSERVICE_LATITUDE || GENIVI_ENHANCEDPOSITIONSERVICE_LONGITUDE))
+ {
+ position_found=true;
}
if (position_found && !m_priv->cb_pending) {
event_add_timeout(0, 0, m_priv->cb);
m_priv->cb_pending=1;
}
}
-
- void
- RotationRateUpdate(const std::vector< uint16_t >& changedValues)
- {
- dbg(0,"enter\n");
- }
-
- void
- AccuracyUpdate(const std::vector< uint16_t >& changedValues)
- {
- dbg(0,"enter\n");
- }
-
- void SatelliteInfoUpdate(const std::vector< uint16_t >& changedValues)
- {
- dbg(0,"enter\n");
- }
-
- void StatusUpdate(const std::vector< uint16_t >& changedValues)
- {
- dbg(0,"enter\n");
- }
};
/**
@@ -255,13 +230,11 @@ double_variant(DBus::Variant variant)
static void
-vehicle_process_map(struct vehicle_priv *priv, std::map< uint16_t, ::DBus::Variant >&map)
+vehicle_process_map(struct vehicle_priv *priv, std::map< uint64_t, ::DBus::Variant >&map)
{
- std::map< uint16_t, ::DBus::Variant >::const_iterator itr;
+ std::map< uint64_t, ::DBus::Variant >::const_iterator itr;
for(itr = map.begin(); itr != map.end(); ++itr) {
switch ((*itr).first) {
- case GENIVI_ENHANCEDPOSITIONSERVICE_TIMESTAMP:
- break;
case GENIVI_ENHANCEDPOSITIONSERVICE_LATITUDE:
priv->geo.lat=double_variant((*itr).second);
break;
@@ -285,7 +258,10 @@ static void
vehicle_enhancedposition_callback(struct vehicle_priv *priv)
{
dbg(1,"enter\n");
- std::map< uint16_t, ::DBus::Variant >position=priv->enhanced_position->GetPosition();
+ uint64_t valuesToReturn = (GENIVI_ENHANCEDPOSITIONSERVICE_LATITUDE || GENIVI_ENHANCEDPOSITIONSERVICE_LONGITUDE || GENIVI_ENHANCEDPOSITIONSERVICE_SPEED);
+ std::map< uint64_t, ::DBus::Variant > position;
+ uint64_t timestamp;
+ priv->enhanced_position->GetPositionInfo(valuesToReturn,timestamp,position);
vehicle_process_map(priv, position);
time(&priv->fix_time); /* FIXME: Use actual value */
priv->fix_type=2; /* 3d, FIXME: Use actual value */