summaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
author <philippe colliot>2015-06-30 17:14:02 +0200
committer <philippe colliot>2015-06-30 17:14:02 +0200
commit2767d87ea7b9858a285f0c106262891d834422de (patch)
tree6c3cae3e1ad0138ada8367e4e854c19116a2e2e1 /api
parent3918e22c468ff58cc239da310689f951a7d0ce57 (diff)
downloadpoi-service-2767d87ea7b9858a285f0c106262891d834422de.tar.gz
poi-manager-client under test, create/remove category OK
Diffstat (limited to 'api')
-rw-r--r--api/.gitignore1
-rwxr-xr-xapi/franca/navigation/poiservice/POIServiceTypes.fidl18
-rw-r--r--api/franca/navigation/src-gen/org/genivi/navigation/poiservice/POIServiceTypes.cpp166
-rw-r--r--api/franca/navigation/src-gen/org/genivi/navigation/poiservice/POIServiceTypes.h98
-rw-r--r--api/poi-service/CMakeLists.txt1
-rw-r--r--api/poi-service/genivi-poiservice-contentmanager.xml368
6 files changed, 373 insertions, 279 deletions
diff --git a/api/.gitignore b/api/.gitignore
index 9d6e68e..65a2c4a 100644
--- a/api/.gitignore
+++ b/api/.gitignore
@@ -1,5 +1,6 @@
#folder used for downloading external APIs
.project
+.classpath
CMakeCache.txt
cmake_install.cmake
Makefile
diff --git a/api/franca/navigation/poiservice/POIServiceTypes.fidl b/api/franca/navigation/poiservice/POIServiceTypes.fidl
index fdcf3a4..46a297f 100755
--- a/api/franca/navigation/poiservice/POIServiceTypes.fidl
+++ b/api/franca/navigation/poiservice/POIServiceTypes.fidl
@@ -78,21 +78,7 @@ typeCollection POIServiceTypes {
String stringValue
Boolean boolValue
}
-
- struct AttributeValueStruct polymorphic {}
-
- struct AttributeValueStructInt32 extends AttributeValueStruct {
- Int32 intValue
- }
-
- struct AttributeValueStructString extends AttributeValueStruct {
- String stringValue
- }
-
- struct AttributeValueStructBoolean extends AttributeValueStruct {
- Boolean boolValue
- }
-
+
<** @description:**>
struct Details {
<** @description : list of parent categories unique id.**>
@@ -333,7 +319,7 @@ typeCollection POIServiceTypes {
String name
<** @description:POI location.**>
Coordinate3D location
- <** @description: array[struct(name,type,value)].**>
+ <** @description: array[struct(id,type,value)].**>
PoiAttribute[] attributes
}
diff --git a/api/franca/navigation/src-gen/org/genivi/navigation/poiservice/POIServiceTypes.cpp b/api/franca/navigation/src-gen/org/genivi/navigation/poiservice/POIServiceTypes.cpp
index 3c7bc3c..021a56e 100644
--- a/api/franca/navigation/src-gen/org/genivi/navigation/poiservice/POIServiceTypes.cpp
+++ b/api/franca/navigation/src-gen/org/genivi/navigation/poiservice/POIServiceTypes.cpp
@@ -28,172 +28,6 @@ namespace POIServiceTypes {
-
-AttributeValueStruct* AttributeValueStruct::createInstance(const uint32_t& serialId) {
- if (serialId == SERIAL_ID)
- return new AttributeValueStruct;
-
- const std::function<AttributeValueStruct*()> createDerivedInstanceFuncs[] = {
- [&]() { return AttributeValueStructInt32::createInstance(serialId); },
- [&]() { return AttributeValueStructString::createInstance(serialId); },
- [&]() { return AttributeValueStructBoolean::createInstance(serialId); }
- };
-
- for (auto& createDerivedInstanceFunc : createDerivedInstanceFuncs) {
- AttributeValueStruct* derivedInstance = createDerivedInstanceFunc();
- if (derivedInstance != NULL)
- return derivedInstance;
- }
-
- return NULL;
-}
-
-uint32_t AttributeValueStruct::getSerialId() const {
- return SERIAL_ID;
-}
-
-void AttributeValueStruct::createTypeSignature(CommonAPI::TypeOutputStream& typeOutputStream) const {
- AttributeValueStruct::writeToTypeOutputStream(typeOutputStream);
-}
-
-bool operator==(const AttributeValueStruct& lhs, const AttributeValueStruct& rhs) {
- if (&lhs == &rhs)
- return true;
-
- return
- true
- ;
-}
-
-void AttributeValueStruct::readFromInputStream(CommonAPI::InputStream& inputStream) {
-}
-
-void AttributeValueStruct::writeToOutputStream(CommonAPI::OutputStream& outputStream) const {
-}
-
-AttributeValueStructInt32::AttributeValueStructInt32(const int32_t& intValueValue):
- AttributeValueStruct(),
- intValue(intValueValue)
-{
-}
-
-AttributeValueStructInt32* AttributeValueStructInt32::createInstance(const uint32_t& serialId) {
- if (serialId == SERIAL_ID)
- return new AttributeValueStructInt32;
-
- return NULL;
-}
-
-uint32_t AttributeValueStructInt32::getSerialId() const {
- return SERIAL_ID;
-}
-
-void AttributeValueStructInt32::createTypeSignature(CommonAPI::TypeOutputStream& typeOutputStream) const {
- AttributeValueStructInt32::writeToTypeOutputStream(typeOutputStream);
-}
-
-bool operator==(const AttributeValueStructInt32& lhs, const AttributeValueStructInt32& rhs) {
- if (&lhs == &rhs)
- return true;
-
- return
- static_cast<AttributeValueStructInt32::AttributeValueStruct>(lhs) == static_cast<AttributeValueStructInt32::AttributeValueStruct>(rhs) &&
- lhs.intValue == rhs.intValue
- ;
-}
-
-void AttributeValueStructInt32::readFromInputStream(CommonAPI::InputStream& inputStream) {
- AttributeValueStruct::readFromInputStream(inputStream);
- inputStream >> intValue;
-}
-
-void AttributeValueStructInt32::writeToOutputStream(CommonAPI::OutputStream& outputStream) const {
- AttributeValueStruct::writeToOutputStream(outputStream);
- outputStream << intValue;
-}
-
-AttributeValueStructString::AttributeValueStructString(const std::string& stringValueValue):
- AttributeValueStruct(),
- stringValue(stringValueValue)
-{
-}
-
-AttributeValueStructString* AttributeValueStructString::createInstance(const uint32_t& serialId) {
- if (serialId == SERIAL_ID)
- return new AttributeValueStructString;
-
- return NULL;
-}
-
-uint32_t AttributeValueStructString::getSerialId() const {
- return SERIAL_ID;
-}
-
-void AttributeValueStructString::createTypeSignature(CommonAPI::TypeOutputStream& typeOutputStream) const {
- AttributeValueStructString::writeToTypeOutputStream(typeOutputStream);
-}
-
-bool operator==(const AttributeValueStructString& lhs, const AttributeValueStructString& rhs) {
- if (&lhs == &rhs)
- return true;
-
- return
- static_cast<AttributeValueStructString::AttributeValueStruct>(lhs) == static_cast<AttributeValueStructString::AttributeValueStruct>(rhs) &&
- lhs.stringValue == rhs.stringValue
- ;
-}
-
-void AttributeValueStructString::readFromInputStream(CommonAPI::InputStream& inputStream) {
- AttributeValueStruct::readFromInputStream(inputStream);
- inputStream >> stringValue;
-}
-
-void AttributeValueStructString::writeToOutputStream(CommonAPI::OutputStream& outputStream) const {
- AttributeValueStruct::writeToOutputStream(outputStream);
- outputStream << stringValue;
-}
-
-AttributeValueStructBoolean::AttributeValueStructBoolean(const bool& boolValueValue):
- AttributeValueStruct(),
- boolValue(boolValueValue)
-{
-}
-
-AttributeValueStructBoolean* AttributeValueStructBoolean::createInstance(const uint32_t& serialId) {
- if (serialId == SERIAL_ID)
- return new AttributeValueStructBoolean;
-
- return NULL;
-}
-
-uint32_t AttributeValueStructBoolean::getSerialId() const {
- return SERIAL_ID;
-}
-
-void AttributeValueStructBoolean::createTypeSignature(CommonAPI::TypeOutputStream& typeOutputStream) const {
- AttributeValueStructBoolean::writeToTypeOutputStream(typeOutputStream);
-}
-
-bool operator==(const AttributeValueStructBoolean& lhs, const AttributeValueStructBoolean& rhs) {
- if (&lhs == &rhs)
- return true;
-
- return
- static_cast<AttributeValueStructBoolean::AttributeValueStruct>(lhs) == static_cast<AttributeValueStructBoolean::AttributeValueStruct>(rhs) &&
- lhs.boolValue == rhs.boolValue
- ;
-}
-
-void AttributeValueStructBoolean::readFromInputStream(CommonAPI::InputStream& inputStream) {
- AttributeValueStruct::readFromInputStream(inputStream);
- inputStream >> boolValue;
-}
-
-void AttributeValueStructBoolean::writeToOutputStream(CommonAPI::OutputStream& outputStream) const {
- AttributeValueStruct::writeToOutputStream(outputStream);
- outputStream << boolValue;
-}
-
Details::Details(const std::vector<CategoryID>& parentsIdValue, const Icon& iconsValue, const std::string& nameValue, const std::string& shortDescValue, const Media& mediaValue):
parentsId(parentsIdValue),
icons(iconsValue),
diff --git a/api/franca/navigation/src-gen/org/genivi/navigation/poiservice/POIServiceTypes.h b/api/franca/navigation/src-gen/org/genivi/navigation/poiservice/POIServiceTypes.h
index 479e6c7..f658ba7 100644
--- a/api/franca/navigation/src-gen/org/genivi/navigation/poiservice/POIServiceTypes.h
+++ b/api/franca/navigation/src-gen/org/genivi/navigation/poiservice/POIServiceTypes.h
@@ -125,86 +125,6 @@ namespace POIServiceTypes {
* values for attribute.
*/
typedef CommonAPI::Variant<int32_t, std::string, bool> AttributeValue;
- struct AttributeValueStruct: CommonAPI::SerializablePolymorphicStruct {
-
- AttributeValueStruct() = default;
-
- enum: uint32_t { SERIAL_ID = 0x1d47fc57 };
-
- static AttributeValueStruct* createInstance(const uint32_t& serialId);
-
- virtual uint32_t getSerialId() const;
- virtual void createTypeSignature(CommonAPI::TypeOutputStream& typeOutputStream) const;
-
- virtual void readFromInputStream(CommonAPI::InputStream& inputStream);
- virtual void writeToOutputStream(CommonAPI::OutputStream& outputStream) const;
-
- static inline void writeToTypeOutputStream(CommonAPI::TypeOutputStream& typeOutputStream) {
- }
- };
- struct AttributeValueStructInt32: AttributeValueStruct {
- int32_t intValue;
-
- AttributeValueStructInt32() = default;
- AttributeValueStructInt32(const int32_t& intValue);
-
- enum: uint32_t { SERIAL_ID = 0xebabbc39 };
-
- static AttributeValueStructInt32* createInstance(const uint32_t& serialId);
-
- virtual uint32_t getSerialId() const;
- virtual void createTypeSignature(CommonAPI::TypeOutputStream& typeOutputStream) const;
-
- virtual void readFromInputStream(CommonAPI::InputStream& inputStream);
- virtual void writeToOutputStream(CommonAPI::OutputStream& outputStream) const;
-
- static inline void writeToTypeOutputStream(CommonAPI::TypeOutputStream& typeOutputStream) {
- AttributeValueStruct::writeToTypeOutputStream(typeOutputStream);
- typeOutputStream.writeInt32Type();
- }
- };
- struct AttributeValueStructString: AttributeValueStruct {
- std::string stringValue;
-
- AttributeValueStructString() = default;
- AttributeValueStructString(const std::string& stringValue);
-
- enum: uint32_t { SERIAL_ID = 0x84441672 };
-
- static AttributeValueStructString* createInstance(const uint32_t& serialId);
-
- virtual uint32_t getSerialId() const;
- virtual void createTypeSignature(CommonAPI::TypeOutputStream& typeOutputStream) const;
-
- virtual void readFromInputStream(CommonAPI::InputStream& inputStream);
- virtual void writeToOutputStream(CommonAPI::OutputStream& outputStream) const;
-
- static inline void writeToTypeOutputStream(CommonAPI::TypeOutputStream& typeOutputStream) {
- AttributeValueStruct::writeToTypeOutputStream(typeOutputStream);
- typeOutputStream.writeStringType();
- }
- };
- struct AttributeValueStructBoolean: AttributeValueStruct {
- bool boolValue;
-
- AttributeValueStructBoolean() = default;
- AttributeValueStructBoolean(const bool& boolValue);
-
- enum: uint32_t { SERIAL_ID = 0xa6ee8ff6 };
-
- static AttributeValueStructBoolean* createInstance(const uint32_t& serialId);
-
- virtual uint32_t getSerialId() const;
- virtual void createTypeSignature(CommonAPI::TypeOutputStream& typeOutputStream) const;
-
- virtual void readFromInputStream(CommonAPI::InputStream& inputStream);
- virtual void writeToOutputStream(CommonAPI::OutputStream& outputStream) const;
-
- static inline void writeToTypeOutputStream(CommonAPI::TypeOutputStream& typeOutputStream) {
- AttributeValueStruct::writeToTypeOutputStream(typeOutputStream);
- typeOutputStream.writeBoolType();
- }
- };
/**
*
*/
@@ -977,7 +897,7 @@ namespace POIServiceTypes {
*/
NavigationTypes::Coordinate3D location;
/**
- * array[struct(name,type,value)].
+ * array[struct(id,type,value)].
*/
std::vector<PoiAttribute> attributes;
@@ -1085,22 +1005,6 @@ struct UpdateReasonComparator {
}
};
-bool operator==(const AttributeValueStruct& lhs, const AttributeValueStruct& rhs);
-inline bool operator!=(const AttributeValueStruct& lhs, const AttributeValueStruct& rhs) {
- return !(lhs == rhs);
-}
-bool operator==(const AttributeValueStructInt32& lhs, const AttributeValueStructInt32& rhs);
-inline bool operator!=(const AttributeValueStructInt32& lhs, const AttributeValueStructInt32& rhs) {
- return !(lhs == rhs);
-}
-bool operator==(const AttributeValueStructString& lhs, const AttributeValueStructString& rhs);
-inline bool operator!=(const AttributeValueStructString& lhs, const AttributeValueStructString& rhs) {
- return !(lhs == rhs);
-}
-bool operator==(const AttributeValueStructBoolean& lhs, const AttributeValueStructBoolean& rhs);
-inline bool operator!=(const AttributeValueStructBoolean& lhs, const AttributeValueStructBoolean& rhs) {
- return !(lhs == rhs);
-}
bool operator==(const Details& lhs, const Details& rhs);
inline bool operator!=(const Details& lhs, const Details& rhs) {
return !(lhs == rhs);
diff --git a/api/poi-service/CMakeLists.txt b/api/poi-service/CMakeLists.txt
index 12c93e8..af9e7f0 100644
--- a/api/poi-service/CMakeLists.txt
+++ b/api/poi-service/CMakeLists.txt
@@ -25,6 +25,7 @@ find_program(DBUSXML2CPP dbusxx-xml2cpp REQUIRED)
file (GLOB XML_TO_DBUS
${CMAKE_CURRENT_SOURCE_DIR}/genivi-poiservice-contentaccessmodule.xml
+ ${CMAKE_CURRENT_SOURCE_DIR}/genivi-poiservice-contentmanager.xml
${CMAKE_CURRENT_SOURCE_DIR}/genivi-poiservice-poicontentaccess.xml
${CMAKE_CURRENT_SOURCE_DIR}/genivi-poiservice-poisearch.xml
${CMAKE_CURRENT_SOURCE_DIR}/genivi-poiservice-configuration.xml
diff --git a/api/poi-service/genivi-poiservice-contentmanager.xml b/api/poi-service/genivi-poiservice-contentmanager.xml
new file mode 100644
index 0000000..1fbda33
--- /dev/null
+++ b/api/poi-service/genivi-poiservice-contentmanager.xml
@@ -0,0 +1,368 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="introspect.xsl"?>
+<node xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="introspect.xsd" name="org.genivi.navigation.poiservice">
+ <interface name="org.genivi.poiservice.POIContentManager">
+ <version>1.0</version>
+ <method name="getVersion">
+ <doc>
+ <line>getVersion = This method returns the API version implemented by the content access module.</line>
+ </doc>
+ <arg direction="out" name="version" type="(qqqs)">
+ <doc>
+ <line>version (of type Version) = .</line>
+ <line>Version struct[versionMajor, versionMinor, versionMicro, date] = version.</line>
+ <line>Version.versionMajor ('q') = when the major changes, then backward compatibility with previous releases is not granted.</line>
+ <line>Version.versionMinor ('q') = when the minor changes, then backward compatibility with previous releases is granted, but something changed in the implementation of the API (e.g. new methods may have been added).</line>
+ <line>Version.versionMicro ('q') = when the micro changes, then backward compatibility with previous releases is granted (bug fixes or documentation modifications).</line>
+ <line>Version.date ('s') = release date (e.g. 21-06-2011).</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="setLocale">
+ <doc>
+ <line>setLocale = Set the current language set for the search by poi provider module.</line>
+ <line>The language defines the poi and categories name and details language. If the language is not supported, the default details will be returned in the native language.</line>
+ </doc>
+ <arg direction="in" name="languageCode" type="s">
+ <doc>
+ <line>languageCode = the language to be used. ISO 639‐3 language code (lower case)</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="countryCode" type="s">
+ <doc>
+ <line>countryCode = the country specific variant for the language to be used. ISO 3166‐1 alpha 3 country code (upper case)</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="scriptCode" type="s">
+ <doc>
+ <line>scriptCode = the script specific variant for the language to be used. ISO 15924 alpha 4 script code (upper case)</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="getLocale">
+ <doc>
+ <line>getLocale = Get the current language set for the search by poi provider module.</line>
+ </doc>
+ <arg direction="out" name="languageCode" type="s">
+ <doc>
+ <line>languageCode = the language used. ISO 639‐3 language code (lower case)</line>
+ </doc>
+ </arg>
+ <arg direction="out" name="countryCode" type="s">
+ <doc>
+ <line>countryCode = the country specific variant for the language used. ISO 3166‐1 alpha 3 country code (upper case)</line>
+ </doc>
+ </arg>
+ <arg direction="out" name="scriptCode" type="s">
+ <doc>
+ <line>scriptCode = the script specific variant for the language used. ISO 15924 alpha 4 script code (upper case)</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="getSupportedLocales">
+ <doc>
+ <line>getSupportedLocales = Get the supported set of locales for the search by poi provider module.</line>
+ </doc>
+ <arg direction="out" name="localeList" type="a(sss)">
+ <doc>
+ <line>localeList = array[struct(languageCode,countryCode,scriptCode)]</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="getAvailableCategories">
+ <doc>
+ <line>getAvailableCategories = This method retrieves the list od POI categories available (pre-defined and custom).</line>
+ </doc>
+ <arg direction="out" name="categories" type="a(usb)">
+ <doc>
+ <line>categories (of type CategoryAndName) = List of categories (id, name and top_level).</line>
+ <line>CategoryAndName struct[uniqueId, name, topLevel] = pair of category and name</line>
+ <line>CategoryAndName.uniqueId ('?') = Category unique id.</line>
+ <line>CategoryAndName.name ('s') = name.</line>
+ <line>CategoryAndName.topLevel ('b') = true if the category is a pre-defined one (top level), false for customized categories created by plug-in.</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="getRootCategory">
+ <doc>
+ <line>getRootCategory = Get the root category id. That would be ALL_CATEGORIES.</line>
+ </doc>
+ <arg direction="out" name="category" type="u">
+ <doc>
+ <line>category (of type CategoryID) = The root category is a top level one by design.</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="getChildrenCategories">
+ <doc>
+ <line>getChildrenCategories = Get the children categories id and type (top level) from the a parent unique id.</line>
+ </doc>
+ <arg direction="in" name="category" type="u">
+ <doc>
+ <line>category (of type CategoryID) = unique category id.</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ <arg direction="out" name="categories" type="a(ub)">
+ <doc>
+ <line>categories (of type CategoryAndLevel) = List of categories (id and top_level).</line>
+ <line>CategoryAndLevel struct[uniqueId, topLevel] = Pair of catgory and description of level</line>
+ <line>CategoryAndLevel.uniqueId ('?') = Category unique id.</line>
+ <line>CategoryAndLevel.topLevel ('b') = true if the category is a pre-defined one (top level), false for customized categories created by plug-in.</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="getParentCategories">
+ <doc>
+ <line>getParentCategories = Get the parent categories id and type (top level) from the a unique id.</line>
+ </doc>
+ <arg direction="in" name="category" type="u">
+ <doc>
+ <line>category (of type CategoryID) = unique category id.</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ <arg direction="out" name="categories" type="a(ub)">
+ <doc>
+ <line>categories (of type CategoryAndLevel) = List of categories (id and top_level).</line>
+ <line>CategoryAndLevel struct[uniqueId, topLevel] = Pair of catgory and description of level</line>
+ <line>CategoryAndLevel.uniqueId ('?') = Category unique id.</line>
+ <line>CategoryAndLevel.topLevel ('b') = true if the category is a pre-defined one (top level), false for customized categories created by plug-in.</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="createCategory">
+ <doc>
+ <line>createCategory = Creates a category by name and return an unique id.</line>
+ </doc>
+ <arg direction="in" name="category" type="((au(yv)ss(yv))a(usia(is(yv)))a(us))">
+ <doc>
+ <line>category (of type CAMCategory) = List of details for the category to create.</line>
+ <line>CAMCategory struct[details, attributes, sortOptions] = </line>
+ <line>CAMCategory.details ('?') = struct(list of parents_id, icons, name, short_desc, media).</line>
+ <line>CAMCategory.attributes ('?') = array[struct(name, type, array[struct(operator_id, operator_name)])].</line>
+ <line>CAMCategory.sortOptions ('?') = array[struct(id, name)].</line>
+ </doc>
+ </arg>
+ <arg direction="out" name="unique_id" type="u">
+ <doc>
+ <line>unique_id (of type CategoryID) = Category unique id.</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="removeCategories">
+ <doc>
+ <line>removeCategories = Removes a list of categories. Because of required time to remove it from the database, a signal is emitted when the deletion is done.</line>
+ </doc>
+ <arg direction="in" name="categories" type="au">
+ <doc>
+ <line>categories (of type CategoryID) = List of categories to be removed.</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="addPOIs">
+ <doc>
+ <line>addPOIs = Adds a list of POIs to a category. Because of required time to add it to the database, a signal is emitted when the update is done, that gives the id of the elements added</line>
+ </doc>
+ <arg direction="in" name="unique_id" type="u">
+ <doc>
+ <line>unique_id (of type CategoryID) = Category unique id.</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="poiList" type="a(s(ddi)a(ui(yv)))">
+ <doc>
+ <line>poiList (of type PoiAddedDetails) = List of POIs and all their content. Note that there's no id sent, because it's up to the component to give it</line>
+ <line>PoiAddedDetails struct[name, location, attributes] = </line>
+ <line>PoiAddedDetails.name ('s') = POI name</line>
+ <line>PoiAddedDetails.location ('?') = POI location.</line>
+ <line>PoiAddedDetails.attributes ('?') = array[struct(id,type,value)].</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="removePOIs">
+ <doc>
+ <line>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.</line>
+ </doc>
+ <arg direction="in" name="ids" type="au">
+ <doc>
+ <line>ids (of type POI_ID) = List of unique ids of POIs to remove.</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="poiSearchStarted">
+ <doc>
+ <line>poiSearchStarted = This method is sent by the POI service component to inform all the CAM that a new POI search was started.</line>
+ <line>It provides all the relevant search parameters. Of course the CAM will only be aware of the search if it registers one of the search categories.</line>
+ </doc>
+ <arg direction="in" name="poiSearchHandle" type="u">
+ <doc>
+ <line>poiSearchHandle = poi search unique handle. It must be used by the CAM to send the list of results to the component.</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="maxSize" type="q">
+ <doc>
+ <line>maxSize = max size of the results list.</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="location" type="(ddi)">
+ <doc>
+ <line>location = struct(lat,lon,alt).</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="poiCategories" type="a(uu)">
+ <doc>
+ <line>poiCategories (of type CategoryAndRadius) = array[struct(id,radius)].</line>
+ <line>CategoryAndRadius struct[id, radius] = </line>
+ <line>CategoryAndRadius.id ('?') = enum(INVALID,ALL_CATEGORIES,AIRPORT,RESTAURANT,HOTEL,GAZ_STATION,CAR_PARK, ...). Note: A POI category is a unique ID. It could be a predefined category or a custom one defined by a POI plug-in</line>
+ <line>CategoryAndRadius.radius ('u') = activation or search radius around the position (in 10 meters) for the category. If value is 0 (zero), the default radius (defined for a category) is applied.</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="poiAttributes" type="a(uui(yv)ib)">
+ <doc>
+ <line>poiAttributes (of type AttributeDetails) = array[struct(name, poiCategory, type, value, operator, mandatory)].</line>
+ <line>AttributeDetails struct[id, categoryId, type, value, oper, mandatory] = used in setAttrbutes and CAM startPOISearch</line>
+ <line>AttributeDetails.id ('?') = id of attribute .</line>
+ <line>AttributeDetails.categoryId ('?') = enum(INVALID,ALL_CATEGORIES,AIRPORT,RESTAURANT,HOTEL,GAZ_STATION,CAR_PARK, ...). Note: A POI category is a unique ID. It could be a predefined category or a custom one defined by a POI plug-in</line>
+ <line>AttributeDetails.type ('?') = enum(INVALID,STRING,INTEGER,COORDINATES ...).</line>
+ <line>AttributeDetails.value ('?') = value or partial value. The value depends on the attribute specifications and type.</line>
+ <line>AttributeDetails.oper ('?') = enum(INVALID,MORE_THAN,LESS_THAN,EQUAL, ....).</line>
+ <line>AttributeDetails.mandatory ('b') = true if the attribute is mandatory for the search and false for optional.</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="inputString" type="s">
+ <doc>
+ <line>inputString = contains the name of the poi that is searched. It could be a partial name or an empty string.</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="sortOption" type="q">
+ <doc>
+ <line>sortOption = enum(SORT_DEFAULT,SORT_BY_DISTANCE,SORT_BY_TIME,ATTRIBUTE_CUSTOM, ... )</line>
+ <line>If more than one category was defined for this search, the sort criteria should be compliant with all categories.</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="poiSearchCanceled">
+ <doc>
+ <line>poiSearchCanceled = This method cancels the search for the current id.</line>
+ </doc>
+ <arg direction="in" name="poiSearchHandle" type="u">
+ <doc>
+ <line>poiSearchHandle = poi search unique handle.</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="resultListRequested">
+ <doc>
+ <line>resultListRequested = This method provides the poi results list found by the CAM.</line>
+ <line>As the POI unique id is managed by the POI component, the CAM only provides the POI name, the category and coordinates as well as all the relevant detailed information.</line>
+ </doc>
+ <arg direction="in" name="camId" type="y">
+ <doc>
+ <line>camId = Content access module unique id as known by the POI service component.</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="poiSearchHandle" type="u">
+ <doc>
+ <line>poiSearchHandle = poi search unique handle.</line>
+ </doc>
+ </arg>
+ <arg direction="in" name="attributes" type="au">
+ <doc>
+ <line>attributes = List of attributes id to retrieve. This is optional and the list could be empty.</line>
+ </doc>
+ </arg>
+ <arg direction="out" name="statusValue" type="i">
+ <doc>
+ <line>statusValue (of type SearchStatusState) = enum(INVALID,NOT_STARTED,SEARCHING,FINISHED, ... ).</line>
+ <line>enum[INVALID (null), NOT_STARTED (null), SEARCHING (null), FINISHED (null)]</line>
+ </doc>
+ </arg>
+ <arg direction="out" name="resultListSize" type="q">
+ <doc>
+ <line>resultListSize = Number of items of the results list.</line>
+ </doc>
+ </arg>
+ <arg direction="out" name="resultList" type="a(usu(ddi)qa(ui(yv)))">
+ <doc>
+ <line>resultList (of type PoiCAMDetails) = array[struct(source_id, name, category, location, distance, attributes)].</line>
+ <line>PoiCAMDetails struct[sourceId, name, category, location, distance, attributes] = </line>
+ <line>PoiCAMDetails.sourceId ('?') = POI unique id as known by the content access module. This id will be used by POI service to request POI details.</line>
+ <line>PoiCAMDetails.name ('s') = POI name.</line>
+ <line>PoiCAMDetails.category ('?') = POI category unique id.</line>
+ <line>PoiCAMDetails.location ('?') = POI location.</line>
+ <line>PoiCAMDetails.distance ('q') = distance in meters to poi from center of the search.</line>
+ <line>PoiCAMDetails.attributes ('?') = List of attributes requested. It could be empty.</line>
+ </doc>
+ </arg>
+ </method>
+ <method name="poiDetailsRequested">
+ <doc>
+ <line>poiDetailsRequested = This method retrieves the details associated to one or more POI.</line>
+ <line>It contains the name, the parent categories, the list of attributes, the icons, ... .</line>
+ </doc>
+ <arg direction="in" name="source_id" type="au">
+ <doc>
+ <line>source_id (of type POI_ID) = array[unique_poi_id].</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ <arg direction="out" name="results" type="a((us(ddi))aua(ui(yv)))">
+ <doc>
+ <line>results (of type SearchResultDetails) = array[(details, categories, attributes)] .</line>
+ <line>SearchResultDetails struct[details, categories, attributes] = </line>
+ <line>SearchResultDetails.details ('?') = struct(id,name,latitude,longitude,altitude).</line>
+ <line>SearchResultDetails.categories ('?') = array[unique_id].</line>
+ <line>SearchResultDetails.attributes ('?') = array[struct(name,type,value)].</line>
+ </doc>
+ </arg>
+ </method>
+ <signal name="ConfigurationChanged">
+ <doc>
+ <line>ConfigurationChanged = guidanceStatusChanged = This signal is sent to the clients when one or more configuration settings changes.</line>
+ </doc>
+ <arg direction="out" name="changedSettings" type="aq">
+ <doc>
+ <line>changedSettings = changedSettings array[setting].</line>
+ </doc>
+ </arg>
+ </signal>
+ <signal name="CategoriesRemoved">
+ <doc>
+ <line>CategoriesRemoved = CategoriesRemoved = This signal is emitted when a list of categories and associated content has been removed from the database.</line>
+ </doc>
+ <arg direction="out" name="categories" type="au">
+ <doc>
+ <line>categories (of type CategoryID) = List of categories removed.</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ </signal>
+ <signal name="POIAdded">
+ <doc>
+ <line>POIAdded = POIAdded = This signal is emitted when a list of POIs and associated content has been added to the database. It returns the ids.</line>
+ </doc>
+ <arg direction="out" name="pois" type="au">
+ <doc>
+ <line>pois (of type POI_ID) = List of unique ids of POIs added. The order is the same as the order in the AddPOIs method.</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ </signal>
+ <signal name="POIRemoved">
+ <doc>
+ <line>POIRemoved = POIRemoved = This signal is emitted when a list of POIs and associated content has been removed from the database.</line>
+ </doc>
+ <arg direction="out" name="pois" type="au">
+ <doc>
+ <line>pois (of type POI_ID) = List of unique ids of POIs removed.</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ </signal>
+ </interface>
+</node>