diff options
Diffstat (limited to 'src/poi-service')
-rw-r--r-- | src/poi-service/poi-common/poi-common-dbus-data-model.h | 41 | ||||
-rw-r--r-- | src/poi-service/poi-server-capi/main.cpp | 12 | ||||
-rw-r--r-- | src/poi-service/poi-server/main.cpp | 6 | ||||
-rw-r--r-- | src/poi-service/poi-server/poi-server-class.h | 2 |
4 files changed, 43 insertions, 18 deletions
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 26c88d6..e8e3f76 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 @@ -194,12 +194,13 @@ private: version_t m_version; }; -class DBus_categoryDetails : DBus_dataFormatConverter // (uau(yv)sbs(yv)) -->in this implementation, the two variant data are string +class DBus_categoryDetails : DBus_dataFormatConverter // (uiau(yv)sbs(yv)) -->in this implementation, the two variant data are string { public: struct categoryDetails_t { categoryId_t id; //Category unique id + int32_t standardCategoryId; //standard Category Id std::vector<categoryId_t> parents_id; //list of parent categories unique id std::string icons; //visual icons set std::string name; @@ -208,11 +209,12 @@ public: std::string media; //media associated (html web site, audio, video, ...) (optional) }; - typedef ::DBus::Struct< uint32_t, std::vector< uint32_t >, DBusCommonAPIVariant, std::string, bool, std::string, DBusCommonAPIVariant > DBus_categoryDetails_t; + typedef ::DBus::Struct< uint32_t, int32_t, std::vector< uint32_t >, DBusCommonAPIVariant, std::string, bool, std::string, DBusCommonAPIVariant > DBus_categoryDetails_t; DBus_categoryDetails() { m_categoryDetails.id = 0; + m_categoryDetails.standardCategoryId = 0; m_categoryDetails.parents_id.clear(); m_categoryDetails.parents_id.push_back(0); //one element by default m_categoryDetails.icons = ""; @@ -228,6 +230,7 @@ public: { size_t index; m_categoryDetails.id = value.id; + m_categoryDetails.standardCategoryId = value.standardCategoryId; m_categoryDetails.parents_id.clear(); for (index=0;index<value.parents_id.size();index++) { @@ -249,16 +252,17 @@ public: { size_t index; m_categoryDetails.id = value._1; + m_categoryDetails.standardCategoryId = value._2; m_categoryDetails.parents_id.clear(); - for (index=0;index<value._2.size();index++) + for (index=0;index<value._3.size();index++) { - m_categoryDetails.parents_id.push_back(value._2.at(index)); + m_categoryDetails.parents_id.push_back(value._3.at(index)); } - m_categoryDetails.icons = value._3._2.reader().get_string(); - m_categoryDetails.name = value._4; - m_categoryDetails.top_level = value._5; - m_categoryDetails.description = value._6; - m_categoryDetails.description = value._7._2.reader().get_string(); + m_categoryDetails.icons = value._4._2.reader().get_string(); + m_categoryDetails.name = value._5; + m_categoryDetails.top_level = value._6; + m_categoryDetails.description = value._7; + m_categoryDetails.description = value._8._2.reader().get_string(); } DBus_categoryDetails_t getDBus() @@ -267,16 +271,17 @@ public: DBus_categoryDetails_t return_value; return_value._1 = m_categoryDetails.id; - return_value._2.clear(); + return_value._2 = m_categoryDetails.standardCategoryId; + return_value._3.clear(); for (index=0;index<m_categoryDetails.parents_id.size();index++) { - return_value._2.push_back(m_categoryDetails.parents_id.at(index)); + return_value._3.push_back(m_categoryDetails.parents_id.at(index)); } - return_value._3 = createVariantString(m_categoryDetails.icons); - return_value._4 = m_categoryDetails.name; - return_value._5 = m_categoryDetails.top_level; - return_value._6 = m_categoryDetails.description; - return_value._7 = createVariantString(m_categoryDetails.media); + return_value._4 = createVariantString(m_categoryDetails.icons); + return_value._5 = m_categoryDetails.name; + return_value._6 = m_categoryDetails.top_level; + return_value._7 = m_categoryDetails.description; + return_value._8 = createVariantString(m_categoryDetails.media); return(return_value); } @@ -452,7 +457,7 @@ private: categorySortOption_t m_categorySortOption; }; -class DBus_category : DBus_dataFormatConverter // ( (uau(yv)sbs(yv)) a(usia(is(yv))) a(us) ) +class DBus_category : DBus_dataFormatConverter // ( (uiau(yv)sbs(yv)) a(usia(is(yv))) a(us) ) { public: struct category_t @@ -462,7 +467,7 @@ public: std::vector<DBus_categorySortOption::categorySortOption_t> sortOptions; }; - typedef ::DBus::Struct< ::DBus::Struct< uint32_t, std::vector< uint32_t >, DBusCommonAPIVariant, std::string, bool, std::string, DBusCommonAPIVariant >, std::vector< ::DBus::Struct< uint32_t, std::string, int32_t, std::vector< ::DBus::Struct< int32_t, std::string, DBusCommonAPIVariant > > > >, std::vector< ::DBus::Struct< uint32_t, std::string > > > DBus_category_t; + typedef ::DBus::Struct< ::DBus::Struct< uint32_t, int32_t, std::vector< uint32_t >, DBusCommonAPIVariant, std::string, bool, std::string, DBusCommonAPIVariant >, std::vector< ::DBus::Struct< uint32_t, std::string, int32_t, std::vector< ::DBus::Struct< int32_t, std::string, DBusCommonAPIVariant > > > >, std::vector< ::DBus::Struct< uint32_t, std::string > > > DBus_category_t; DBus_category() { diff --git a/src/poi-service/poi-server-capi/main.cpp b/src/poi-service/poi-server-capi/main.cpp index 27dd453..f5155ae 100644 --- a/src/poi-service/poi-server-capi/main.cpp +++ b/src/poi-service/poi-server-capi/main.cpp @@ -369,6 +369,11 @@ public: void getParentCategories(const std::shared_ptr<CommonAPI::ClientId> _client, ::v4::org::genivi::CommonTypes::CategoryID _category, getParentCategoriesReply_t _reply); /** + * description: Get the categories that are marked with the given standard category. + */ + void getCategoriesWithStandardCategoryId(const std::shared_ptr<CommonAPI::ClientId> _client, ::v4::org::genivi::navigation::poiservice::POIServiceTypes::StandardCategory _standardCategoryId, getCategoriesWithStandardCategoryIdReply_t _reply); + + /** * description: This method retrieves the details associated to one or more POI categories. * It contains the name, the parent categories, the top level attribute, the * list of attributes, the icons, ... . @@ -1383,6 +1388,7 @@ void POISearchServerStub::getCategoriesDetails(const std::shared_ptr<CommonAPI:: if ( isCategoryAvailable(_categories.at(index),&category_index) == true) { //category found into the embedded data! categoryDetails.setUniqueId(m_availableCategoryTable[category_index].id); + categoryDetails.setStandardCategoryId(POIServiceTypes::StandardCategory::NOT_STANDARD_CATEGORY); parentsId.clear(); for (sub_index=0;sub_index<m_availableCategoryTable[category_index].parentList.size();sub_index++) @@ -1437,6 +1443,12 @@ void POISearchServerStub::getCategoriesDetails(const std::shared_ptr<CommonAPI:: _reply(_results); } +void POISearchServerStub::getCategoriesWithStandardCategoryId(const std::shared_ptr<CommonAPI::ClientId> _client, ::v4::org::genivi::navigation::poiservice::POIServiceTypes::StandardCategory _standardCategoryId, getCategoriesWithStandardCategoryIdReply_t _reply) +{ + std::vector< CommonTypes::CategoryID > _categories; + _reply(_categories); +} + void POISearchServerStub::createPoiSearchHandle(const std::shared_ptr<CommonAPI::ClientId> _client, createPoiSearchHandleReply_t _reply) { // the POC is limited to the management of one handle ! diff --git a/src/poi-service/poi-server/main.cpp b/src/poi-service/poi-server/main.cpp index 0b6725a..a2b06a4 100644 --- a/src/poi-service/poi-server/main.cpp +++ b/src/poi-service/poi-server/main.cpp @@ -934,6 +934,12 @@ std::vector< DBus_categoryIdLevel::DBus_categoryIdLevel_t > poiSearchServer::Get return(return_value); } +std::vector< uint32_t > poiSearchServer::GetCategoriesWithStandardCategoryId(const int32_t& standardCategoryId) +{ + std::vector< uint32_t > return_value; + return return_value; +} + std::vector< DBus_category::DBus_category_t > poiSearchServer::GetCategoriesDetails(const std::vector< categoryId_t >& categories) { std::vector<DBus_category::DBus_category_t > return_value; diff --git a/src/poi-service/poi-server/poi-server-class.h b/src/poi-service/poi-server/poi-server-class.h index b954f14..f8b8cc4 100644 --- a/src/poi-service/poi-server/poi-server-class.h +++ b/src/poi-service/poi-server/poi-server-class.h @@ -244,6 +244,8 @@ public: std::vector< DBus_categoryIdLevel::DBus_categoryIdLevel_t > GetParentCategories(const categoryId_t& category); + std::vector< uint32_t > GetCategoriesWithStandardCategoryId(const int32_t& standardCategoryId); + std::vector< DBus_category::DBus_category_t > GetCategoriesDetails(const std::vector< categoryId_t >& categories); handleId_t CreatePoiSearchHandle(); |