From 03a340b57c464301689f39e7d11e7833a9c4d87d Mon Sep 17 00:00:00 2001 From: asanoaozora Date: Wed, 3 Jan 2018 17:21:59 +0100 Subject: POI ID format updated to uint64 to be compliant with OSM ID --- .../navigation/poiservice/POIServiceTypes.fidl | 2 +- .../genivi-poiservice-contentaccessmodule.xml | 14 +++++++------- api/poi-service/genivi-poiservice-poisearch.xml | 11 ++++++----- .../poi-cam/genivi_poiservice_cam_navit.cxx | 20 ++++++++++---------- src/navigation/update_third_party.sh | 2 +- src/poi-service/poi-common/poi-common-data-model.h | 2 +- .../poi-common/poi-common-dbus-data-model.h | 16 ++++++++-------- .../poi-manager-server/poi-manager-server-stub.cpp | 2 +- .../poi-manager-server/poi-manager-server-stub.h | 2 +- src/poi-service/poi-server/main.cpp | 6 +++--- src/poi-service/poi-server/poi-server-class.h | 6 +++--- test/poi-service/poi-client/mainwindow.cpp | 2 +- test/poi-service/poi-common/poi-common-types.h | 14 +++++++------- 13 files changed, 50 insertions(+), 49 deletions(-) diff --git a/api/franca/navigation/poiservice/POIServiceTypes.fidl b/api/franca/navigation/poiservice/POIServiceTypes.fidl index 01fc3ba..454a9dd 100644 --- a/api/franca/navigation/poiservice/POIServiceTypes.fidl +++ b/api/franca/navigation/poiservice/POIServiceTypes.fidl @@ -16,7 +16,7 @@ typeCollection POIServiceTypes { } <** @description:Unique ID for a POI results**> - typedef POI_ID is UInt32 + typedef POI_ID is UInt64 <** @description:Unique ID for a POI Icon Resource**> typedef ResourceID is UInt32 diff --git a/api/poi-service/genivi-poiservice-contentaccessmodule.xml b/api/poi-service/genivi-poiservice-contentaccessmodule.xml index 1d4a321..b6af984 100644 --- a/api/poi-service/genivi-poiservice-contentaccessmodule.xml +++ b/api/poi-service/genivi-poiservice-contentaccessmodule.xml @@ -203,7 +203,7 @@ removePOIs = Removes a list of POIs to a category. Because of required time to remove it from the database, a signal is emitted when the update is done. - + ids (of type POI_ID) = List of unique ids of POIs to remove. lineComment to be defined @@ -304,7 +304,7 @@ resultListSize = Number of items of the results list - + resultList = array[source_id,name, category, location, distance, attributeList] source_id = POI unique id as known by the content access module. This id will be used by POI service to request POI details. @@ -344,12 +344,12 @@ PoiDetailsRequested = This method retrieves the details associated to one or more POI. It contains the name, the parent categories, the list of attributes, the icons, ... . - + list of poi = Unique source poi id - + results = array[details, categories, attributeList] results = List of details for all the POI. @@ -406,7 +406,7 @@ POIAdded = POIAdded = This signal is emitted when a list of POIs and associated content has been added to the database. It returns the ids. - + pois (of type POI_ID) = List of unique ids of POIs added. The order is the same as the order in the AddPOIs method. lineComment to be defined @@ -417,7 +417,7 @@ POIRemoved = POIRemoved = This signal is emitted when a list of POIs and associated content has been removed from the database. - + pois (of type POI_ID) = List of unique ids of POIs removed. lineComment to be defined @@ -440,7 +440,7 @@ enum[INVALID (org.franca.core.franca.impl.FIntegerConstantImpl@12babf4 (val: 0)), NOT_STARTED (org.franca.core.franca.impl.FIntegerConstantImpl@1a3c8e3 (val: 1296)), SEARCHING (org.franca.core.franca.impl.FIntegerConstantImpl@1f53788 (val: 1297)), FINISHED (org.franca.core.franca.impl.FIntegerConstantImpl@bdae21 (val: 1298))] - + pois (of type POI_ID) = List of pois that match the search (only valid if status is set to SEARCHING or FINISHED, by default empty list). lineComment to be defined diff --git a/api/poi-service/genivi-poiservice-poisearch.xml b/api/poi-service/genivi-poiservice-poisearch.xml index 3fc44be..3ad3575 100644 --- a/api/poi-service/genivi-poiservice-poisearch.xml +++ b/api/poi-service/genivi-poiservice-poisearch.xml @@ -532,7 +532,7 @@ resultListSize = Number of items of the results list - + resultListWindow = array[unique_id, distance, route_status, attributeList] unique_id = POI unique id @@ -561,17 +561,18 @@ GetPoiDetails = This method retrieves the details associated to one or more POI. It contains the name, the parent categories, the list of attributes, the icons, ... . - + - list of poi = Unique poi id + list of poi[unique_id] + unique_id = POI unique id - + results = array[details, categories, attributeList] results = List of details for all the POI. details = struct(unique id, name, location) - unique id = POI id + unique_id = POI unique id name = POI name location = struct(lat,lon,alt) lat = latitude of a vertex of the polygon in format %3.6f. Range [-90:+90]. Example: 48.053250 diff --git a/src/navigation/poi-cam/genivi_poiservice_cam_navit.cxx b/src/navigation/poi-cam/genivi_poiservice_cam_navit.cxx index 92b210c..2f64b02 100644 --- a/src/navigation/poi-cam/genivi_poiservice_cam_navit.cxx +++ b/src/navigation/poi-cam/genivi_poiservice_cam_navit.cxx @@ -82,7 +82,7 @@ variant_string(std::string s) } static bool -do_sort_distance(::DBus::Struct< uint32_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > a, ::DBus::Struct< uint32_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > b) +do_sort_distance(::DBus::Struct< uint64_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > a, ::DBus::Struct< uint64_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > b) { return a._5 < b._5; } @@ -145,11 +145,11 @@ class ContentAccessModule item_type m_bottom_poi_type; std::vector< uint32_t > m_poiCategoriesId; std::vector m_poiCategoriesIdRadius; - std::vector< ::DBus::Struct< uint32_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > > m_resultList; + std::vector< ::DBus::Struct< uint64_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > > m_resultList; std::string m_inputString; int m_max_radius; uint16_t m_max_requested_size; - bool (*m_sort_func)(::DBus::Struct< uint32_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > a, ::DBus::Struct< uint32_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > b); + bool (*m_sort_func)(::DBus::Struct< uint64_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > a, ::DBus::Struct< uint64_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > b); struct coord m_center; double m_scale; struct mapset *m_mapset; @@ -242,7 +242,7 @@ class ContentAccessModule { struct attr label; struct coord c; - ::DBus::Struct< uint32_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > result; + ::DBus::Struct< uint64_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > result; ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > attribute; bool stringMatched=false; @@ -364,7 +364,7 @@ class ContentAccessModule } void - removePOIs(const std::vector< uint32_t >& ids) + removePOIs(const std::vector< uint64_t >& ids) { throw DBus::ErrorNotSupported("Not yet supported"); } @@ -470,7 +470,7 @@ class ContentAccessModule } void - ResultListRequested(const uint8_t& camId, const uint32_t& poiSearchHandle, const std::vector< uint32_t >& attributeList, int32_t& statusValue, uint16_t& resultListSize, std::vector< ::DBus::Struct< uint32_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > >& resultList) + ResultListRequested(const uint8_t& camId, const uint32_t& poiSearchHandle, const std::vector< uint32_t >& attributeList, int32_t& statusValue, uint16_t& resultListSize, std::vector< ::DBus::Struct< uint64_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > >& resultList) { struct item *item; int count=0; @@ -506,13 +506,13 @@ class ContentAccessModule resultListSize=resultList.size(); } - std::vector< ::DBus::Struct< ::DBus::Struct< uint32_t, std::string, ::DBus::Struct< double, double, double > >, std::vector< uint32_t >, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > > - PoiDetailsRequested(const std::vector< uint32_t >& source_id) + std::vector< ::DBus::Struct< ::DBus::Struct< uint64_t, std::string, ::DBus::Struct< double, double, double > >, std::vector< uint32_t >, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > > + PoiDetailsRequested(const std::vector< uint64_t >& source_id) { - std::vector< ::DBus::Struct< ::DBus::Struct< uint32_t, std::string, ::DBus::Struct< double, double, double > >, std::vector< uint32_t >, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > > ret; + std::vector< ::DBus::Struct< ::DBus::Struct< uint64_t, std::string, ::DBus::Struct< double, double, double > >, std::vector< uint32_t >, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > > ret; for (int i = 0 ; i < source_id.size() ; i++) { int sid=source_id[i]; - ::DBus::Struct< ::DBus::Struct< uint32_t, std::string, ::DBus::Struct< double, double, double > >, std::vector< uint32_t >, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > result; + ::DBus::Struct< ::DBus::Struct< uint64_t, std::string, ::DBus::Struct< double, double, double > >, std::vector< uint32_t >, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > result; result._1._1=sid; /* source id */ result._1._2=m_resultList[sid]._2; /* name */ result._1._3._1=m_resultList[sid]._4._1; /* lat */ diff --git a/src/navigation/update_third_party.sh b/src/navigation/update_third_party.sh index 35204e8..57823fb 100755 --- a/src/navigation/update_third_party.sh +++ b/src/navigation/update_third_party.sh @@ -1,7 +1,7 @@ #!/bin/bash positioning_version='d4c46f13019aefb11aebd0fc1210a29a46f0b521' -navit_version='3f26accd04c0f9733f2c8bf7bf58235e2d47a734' +navit_version='77b0b67935ae90d4fcb8f2cf4a07cd6dc1bed9b7' echo "version of positioning is: $positioning_version" echo "version of navit is: $navit_version" diff --git a/src/poi-service/poi-common/poi-common-data-model.h b/src/poi-service/poi-common/poi-common-data-model.h index e8b4cf9..187e60b 100644 --- a/src/poi-service/poi-common/poi-common-data-model.h +++ b/src/poi-service/poi-common/poi-common-data-model.h @@ -30,7 +30,7 @@ // Content of this file is the result of several updates of code used by different projects and for this reason is still messy -typedef uint32_t poiId_t; +typedef uint64_t poiId_t; typedef uint32_t categoryId_t; typedef uint32_t resourceId_t; typedef uint32_t attributeId_t; diff --git a/src/poi-service/poi-common/poi-common-dbus-data-model.h b/src/poi-service/poi-common/poi-common-dbus-data-model.h index e8e3f76..be0b6b0 100644 --- a/src/poi-service/poi-common/poi-common-dbus-data-model.h +++ b/src/poi-service/poi-common/poi-common-dbus-data-model.h @@ -903,7 +903,7 @@ private: geoCoordinate3D_t m_geoCoordinate3D; }; -class DBus_poiDetails : DBus_dataFormatConverter //(us(ddd)) +class DBus_poiDetails : DBus_dataFormatConverter //(ts(ddd)) { public: struct poiDetails_t @@ -912,7 +912,7 @@ public: std::string name; DBus_geoCoordinate3D::geoCoordinate3D_t location; }; - typedef ::DBus::Struct< uint32_t, std::string, ::DBus::Struct< double, double, double > > DBus_poiDetails_t; + typedef ::DBus::Struct< uint64_t, std::string, ::DBus::Struct< double, double, double > > DBus_poiDetails_t; DBus_poiDetails(){ DBus_geoCoordinate3D loc; @@ -957,7 +957,7 @@ private: poiDetails_t m_poiDetails; }; -class DBus_searchResult : DBus_dataFormatConverter //(uuia(ui(yv))) -->in this implementation, the variant data depends on the value of 'type' +class DBus_searchResult : DBus_dataFormatConverter //(tuia(ui(yv))) -->in this implementation, the variant data depends on the value of 'type' { public: struct searchResult_t @@ -968,7 +968,7 @@ public: std::vector attributes; }; - typedef ::DBus::Struct< uint32_t, uint32_t, int32_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > DBus_searchResult_t; + typedef ::DBus::Struct< uint64_t, uint32_t, int32_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > DBus_searchResult_t; DBus_searchResult(){ DBus_poiAttribute attrib; @@ -1032,7 +1032,7 @@ private: searchResult_t m_searchResult; }; -class DBus_searchResultDetails : DBus_dataFormatConverter // ((us(ddd))aua(ui(yv))) -->in this implementation, the variant data depends on the value of 'type' +class DBus_searchResultDetails : DBus_dataFormatConverter // ((ts(ddd))aua(ui(yv))) -->in this implementation, the variant data depends on the value of 'type' { public: struct searchResultDetails_t @@ -1042,7 +1042,7 @@ public: std::vector attributes; }; - typedef ::DBus::Struct< ::DBus::Struct< uint32_t, std::string, ::DBus::Struct< double, double, double > >, std::vector< uint32_t >, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > DBus_searchResultDetails_t; + typedef ::DBus::Struct< ::DBus::Struct< uint64_t, std::string, ::DBus::Struct< double, double, double > >, std::vector< uint32_t >, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > DBus_searchResultDetails_t; DBus_searchResultDetails(){ @@ -1123,7 +1123,7 @@ private: searchResultDetails_t m_searchResultDetails; }; -class DBus_poiCAMDetails : DBus_dataFormatConverter // (usq(ddd)qa(ui(yv))) -->in this implementation, the variant data depends on the value of 'type' +class DBus_poiCAMDetails : DBus_dataFormatConverter // (tsq(ddd)qa(ui(yv))) -->in this implementation, the variant data depends on the value of 'type' { public: struct poiCAMDetails_t //no class used into this public structure @@ -1136,7 +1136,7 @@ public: std::vector attributes; }; - typedef ::DBus::Struct< uint32_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > DBus_poiCAMDetails_t; + typedef ::DBus::Struct< uint64_t, std::string, uint32_t, ::DBus::Struct< double, double, double >, uint16_t, std::vector< ::DBus::Struct< uint32_t, int32_t, DBusCommonAPIVariant > > > DBus_poiCAMDetails_t; DBus_poiCAMDetails(){ DBus_poiAttribute attrib; diff --git a/src/poi-service/poi-manager-server/poi-manager-server-stub.cpp b/src/poi-service/poi-manager-server/poi-manager-server-stub.cpp index 07a917f..22f9d08 100644 --- a/src/poi-service/poi-manager-server/poi-manager-server-stub.cpp +++ b/src/poi-service/poi-manager-server/poi-manager-server-stub.cpp @@ -675,7 +675,7 @@ sqlRequest::SQL_REQUEST_ERRORS sqlRequest::getFreePoiId(POIServiceTypes::POI_ID else { // Id query_line = query_result.at(0); - fromString(unique_id,query_line[0], std::dec); + fromString(unique_id,query_line[0], std::dec); ret = OK; } diff --git a/src/poi-service/poi-manager-server/poi-manager-server-stub.h b/src/poi-service/poi-manager-server/poi-manager-server-stub.h index fc03c4b..62bee90 100644 --- a/src/poi-service/poi-manager-server/poi-manager-server-stub.h +++ b/src/poi-service/poi-manager-server/poi-manager-server-stub.h @@ -62,7 +62,7 @@ public: OK } SQL_REQUEST_ERRORS; - typedef uint32_t recordId_t; + typedef uint64_t recordId_t; typedef uint32_t iconId_t; typedef uint32_t poiproviderId_t; diff --git a/src/poi-service/poi-server/main.cpp b/src/poi-service/poi-server/main.cpp index 8ebf984..1b3e46b 100644 --- a/src/poi-service/poi-server/main.cpp +++ b/src/poi-service/poi-server/main.cpp @@ -140,17 +140,17 @@ void contentAccessModule::CategoriesRemoved(const std::vector< uint32_t >& categ } -void contentAccessModule::POIAdded(const std::vector< uint32_t >& pois) +void contentAccessModule::POIAdded(const std::vector &pois) { } -void contentAccessModule::POIRemoved(const std::vector< uint32_t >& pois) +void contentAccessModule::POIRemoved(const std::vector< uint64_t >& pois) { } -void contentAccessModule::SearchStatusChanged(const uint32_t& poiSearchHandle, const int32_t& statusValue, const std::vector< uint32_t >& pois) +void contentAccessModule::SearchStatusChanged(const uint32_t& poiSearchHandle, const int32_t& statusValue, const std::vector< uint64_t >& pois) { } diff --git a/src/poi-service/poi-server/poi-server-class.h b/src/poi-service/poi-server/poi-server-class.h index 49e12f1..12906dc 100644 --- a/src/poi-service/poi-server/poi-server-class.h +++ b/src/poi-service/poi-server/poi-server-class.h @@ -100,9 +100,9 @@ public: void ConfigurationChanged(const std::vector< uint16_t >& changedSettings); void CategoriesRemoved(const std::vector< uint32_t >& categories); - void POIAdded(const std::vector< uint32_t >& pois); - void POIRemoved(const std::vector< uint32_t >& pois); - void SearchStatusChanged(const uint32_t& poiSearchHandle, const int32_t& statusValue, const std::vector< uint32_t >& pois); + void POIAdded(const std::vector< uint64_t >& pois); + void POIRemoved(const std::vector< uint64_t >& pois); + void SearchStatusChanged(const uint32_t& poiSearchHandle, const int32_t& statusValue, const std::vector &pois); private: diff --git a/test/poi-service/poi-client/mainwindow.cpp b/test/poi-service/poi-client/mainwindow.cpp index a9053fc..ba04430 100644 --- a/test/poi-service/poi-client/mainwindow.cpp +++ b/test/poi-service/poi-client/mainwindow.cpp @@ -1041,7 +1041,7 @@ void MainWindow::refreshViewTable(ushort windowSize) QList attributes; QList poiList; QList poiDetailsList; - QList idList; + QList idList; //populate attributes list with the requested attributes if (mp_attributeGetCheckBox.at(settingsAttributeSource)->isChecked()) diff --git a/test/poi-service/poi-common/poi-common-types.h b/test/poi-service/poi-common/poi-common-types.h index 65523a8..216a53f 100644 --- a/test/poi-service/poi-common/poi-common-types.h +++ b/test/poi-service/poi-common/poi-common-types.h @@ -24,7 +24,7 @@ #include #include -typedef uint poiId_t; +typedef qulonglong poiId_t; typedef uint categoryId_t; typedef uint resourceId_t; typedef uint attributeId_t; @@ -118,22 +118,22 @@ struct poiAttributeFull_t //(uui(yv)ib) bool mandatory; //true if the attribute is mandatory for the search and false for optional }; -struct resultSearch_t //(uuia(ui(yv))) +struct resultSearch_t //(tuia(ui(yv))) { - uint id; + poiId_t id; uint distance; int route_status; QList attributes; }; -struct detailsPOISearch_t //(us(ddd)) +struct detailsPOISearch_t //(ts(ddd)) { poiId_t id; QString name; //need to be a QString for UTF8 geoCoordinate3D_t location; }; -struct resultSearchDetails_t //((us(ddd))aua(ui(yv))) +struct resultSearchDetails_t //((ts(ddd))aua(ui(yv))) { detailsPOISearch_t details; QList categories; @@ -186,7 +186,7 @@ typedef QMap tupleUlongVariant; typedef QMap tupleUshortUshort; -struct resultCamSearch_t //(usu(ddd)qa(ui(yv))) +struct resultCamSearch_t //(tsu(ddd)qa(ui(yv))) { poiId_t source_id; std::string name; @@ -196,7 +196,7 @@ struct resultCamSearch_t //(usu(ddd)qa(ui(yv))) QList attributes; }; -struct resultCamSearchDetails_t //((us(ddd))aua(ui(yv))) +struct resultCamSearchDetails_t //((ts(ddd))aua(ui(yv))) { detailsPOISearch_t details; QList categories; -- cgit v1.2.1