summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorasanoaozora <fifitaneki@hotmail.com>2017-02-02 15:23:56 +0100
committerasanoaozora <fifitaneki@hotmail.com>2017-02-02 15:23:56 +0100
commit07673f15b00e563d3c9197c0fa5da6ccad26e079 (patch)
treee219f96287ceef84511bbb93a08d66f274fe7500 /src
parent1eb0f2b703dd159438b641d7a088a08cbde48788 (diff)
downloadpoi-service-07673f15b00e563d3c9197c0fa5da6ccad26e079.tar.gz
GT-3474
Diffstat (limited to 'src')
-rw-r--r--src/poi-service/poi-common/poi-common-dbus-data-model.h41
-rw-r--r--src/poi-service/poi-server-capi/main.cpp12
-rw-r--r--src/poi-service/poi-server/main.cpp6
-rw-r--r--src/poi-service/poi-server/poi-server-class.h2
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();