summaryrefslogtreecommitdiff
path: root/api/poi-service
diff options
context:
space:
mode:
author <philippe colliot>2016-01-31 15:07:47 +0100
committer <philippe colliot>2016-01-31 15:07:47 +0100
commit61fd86539acf19d009a0fc472b203387fd6cd817 (patch)
treebe9fd17964ae41062cc75e137ae71965c9a7c574 /api/poi-service
parent0970cb1d7f4e8eabc205434de070b704c632094d (diff)
downloadpoi-service-61fd86539acf19d009a0fc472b203387fd6cd817.tar.gz
Alignment of Franca and DBus files, test done for POI APIs
Diffstat (limited to 'api/poi-service')
-rw-r--r--api/poi-service/genivi-poiservice-configuration.xml20
-rw-r--r--api/poi-service/genivi-poiservice-contentaccessmodule.xml219
-rw-r--r--api/poi-service/genivi-poiservice-contentmanager.xml368
-rw-r--r--api/poi-service/genivi-poiservice-poicontentaccess.xml4
-rw-r--r--api/poi-service/genivi-poiservice-poisearch.xml30
5 files changed, 230 insertions, 411 deletions
diff --git a/api/poi-service/genivi-poiservice-configuration.xml b/api/poi-service/genivi-poiservice-configuration.xml
index 705a396..5b018fb 100644
--- a/api/poi-service/genivi-poiservice-configuration.xml
+++ b/api/poi-service/genivi-poiservice-configuration.xml
@@ -30,7 +30,7 @@
<doc>
<line>SetUnitsOfMeasurement = This method sets the units of measurement</line>
</doc>
- <arg name="unitsOfMeasurementList" type="a{qv}" direction="in">
+ <arg name="unitsOfMeasurementList" type="a{i(yv)}" direction="in">
<doc>
<line>unitsOfMeasurementList = array[unitsOfMeasurement]</line>
<line>unitsOfMeasurement = tuple (key,value)</line>
@@ -43,7 +43,7 @@
<doc>
<line>GetUnitsOfMeasurement = This method retrieves the units of measurement</line>
</doc>
- <arg name="unitsOfMeasurementList" type="a{qv}" direction="out">
+ <arg name="unitsOfMeasurementList" type="a{i(yv)}" direction="out">
<doc>
<line>unitsOfMeasurementList = array[unitsOfMeasurement]</line>
<line>unitsOfMeasurement = tuple (key,value)</line>
@@ -56,7 +56,7 @@
<doc>
<line>GetSupportedUnitsOfMeasurement = This method retrieves the supported units of measurement</line>
</doc>
- <arg name="unitsOfMeasurementList" type="a{qv}" direction="out">
+ <arg name="unitsOfMeasurementList" type="a{i(yv)}" direction="out">
<doc>
<line>unitsOfMeasurementList = array[unitsOfMeasurement]</line>
<line>unitsOfMeasurement = dictionary[key,value]</line>
@@ -70,7 +70,7 @@
<doc>
<line>SetTimeFormat = This method sets the time format</line>
</doc>
- <arg name="timeFormat" type="q" direction="in">
+ <arg name="timeFormat" type="i" direction="in">
<doc>
<line>timeFormat = enum(INVALID,12H,24H, ... )</line>
</doc>
@@ -80,7 +80,7 @@
<doc>
<line>GetTimeFormat = This method retrieves the time format</line>
</doc>
- <arg name="timeFormat" type="q" direction="out">
+ <arg name="timeFormat" type="i" direction="out">
<doc>
<line>timeFormat = enum(INVALID,12H,24H, ... )</line>
</doc>
@@ -90,7 +90,7 @@
<doc>
<line>GetSupportedTimeFormats = This method retrieves the supported time formats</line>
</doc>
- <arg name="timeFormatList" type="aq" direction="out">
+ <arg name="timeFormatList" type="ai" direction="out">
<doc>
<line>timeFormatList = array[timeFormat]</line>
<line>timeFormat = enum(INVALID,12H,24H, ... )</line>
@@ -101,7 +101,7 @@
<doc>
<line>SetCoordinatesFormat = This method sets the coordinates format</line>
</doc>
- <arg name="coordinatesFormat" type="q" direction="in">
+ <arg name="coordinatesFormat" type="i" direction="in">
<doc>
<line>coordinatesFormat = enum(INVALID,DEGREES,MINUTES,SECONDS, ... )</line>
<line>DEGREES format = d.dº</line>
@@ -114,7 +114,7 @@
<doc>
<line>GetCoordinatesFormat = This method retrieves the coordinates format</line>
</doc>
- <arg name="coordinatesFormat" type="q" direction="out">
+ <arg name="coordinatesFormat" type="i" direction="out">
<doc>
<line>coordinatesFormat = enum(INVALID,DEGREES,MINUTES,SECONDS, ... )</line>
<line>DEGREES format = d.dº</line>
@@ -127,7 +127,7 @@
<doc>
<line>GetSupportedCoordinatesFormats = This method retrieves the supported coordinates formats</line>
</doc>
- <arg name="coordinatesFormatList" type="aq" direction="out">
+ <arg name="coordinatesFormatList" type="ai" direction="out">
<doc>
<line>coordinatesFormatList = array[coordinatesFormat]</line>
<line>coordinatesFormat = enum(INVALID,DEGREES,MINUTES,SECONDS, ... )</line>
@@ -194,7 +194,7 @@
<doc>
<line>ConfigurationChanged = This signal is sent to the clients when one or more configuration settings changes</line>
</doc>
- <arg name="changedSettings" type="aq">
+ <arg name="changedSettings" type="ai">
<doc>
<line>changedSettings = array[setting]</line>
<line>setting = enum(INVALID,UNITS_OF_MEASUREMENT,LOCALE,TIME_FORMAT,COORDINATES_FORMAT, ... )</line>
diff --git a/api/poi-service/genivi-poiservice-contentaccessmodule.xml b/api/poi-service/genivi-poiservice-contentaccessmodule.xml
index d372dbe..16eac50 100644
--- a/api/poi-service/genivi-poiservice-contentaccessmodule.xml
+++ b/api/poi-service/genivi-poiservice-contentaccessmodule.xml
@@ -79,17 +79,137 @@
</doc>
</arg>
</method>
- <signal name="ConfigurationChanged">
+ <method name="GetAvailableCategories">
<doc>
- <line>ConfigurationChanged = This signal is sent to the clients when one or more configuration settings changes</line>
+ <line>GetAvailableCategories = This method retrieves the list of POI categories available (pre-defined and custom).</line>
</doc>
- <arg name="changedSettings" type="aq">
+ <arg name="categories" type="a(usb)" direction="out">
<doc>
- <line>changedSettings = array[setting]</line>
- <line>setting = enum(INVALID,UNITS_OF_MEASUREMENT,LOCALE,TIME_FORMAT,COORDINATES_FORMAT, ... )</line>
+ <line>categories = array[struct(id, name, top_level)]</line>
+ <line>id = enum(INVALID,ALL_CATEGORIES,AIRPORT,RESTAURANT,HOTEL,GAZ_STATION,CAR_PARK, ...)</line>
+ <line>name = name to be displayed by application</line>
+ <line>top_level = true if the category is a pre-defined one (top level with only ALL_CATEGORIES as parent), false for customized categories created by plug-in.</line>
+ <line>Note: A POI category is a unique ID.</line>
</doc>
</arg>
- </signal>
+ </method>
+ <method name="GetRootCategory">
+ <doc>
+ <line>GetRootCategory = Get the root category id. That would be ALL_CATEGORIES.</line>
+ </doc>
+ <arg name="category" type="u" direction="out">
+ <doc>
+ <line>id = ALL_CATEGORIES</line>
+ <line>The root category is a top level one by design.</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 name="category" type="u" direction="in">
+ <doc>
+ <line>unique category id</line>
+ </doc>
+ </arg>
+ <arg name="categories" type="a(ub)" direction="out">
+ <doc>
+ <line>categories = array[struct(id, top_level)]</line>
+ <line>id = enum(INVALID,ALL_CATEGORIES,AIRPORT,RESTAURANT,HOTEL,GAZ_STATION,CAR_PARK, ...)</line>
+ <line>top_level = true if the category is a pre-defined one (top level with only ALL_CATEGORIES as parent), false for customized categories created by plug-in.</line>
+ </doc>
+ </arg>
+ <error name="org.genivi.poiservice.poiSearch.Error.InvalidCategory">
+ <doc>
+ <line>The category is not available.</line>
+ </doc>
+ </error>
+ </method>
+ <method name="GetParentCategories">
+ <doc>
+ <line>GetParentCategories = Get the parent categories id and type (top level) from the a unique id.</line>
+ </doc>
+ <arg name="category" type="u" direction="in">
+ <doc>
+ <line>unique category id</line>
+ </doc>
+ </arg>
+ <arg name="categories" type="a(ub)" direction="out">
+ <doc>
+ <line>categories = array[struct(id, top_level)]</line>
+ <line>id = enum(INVALID,ALL_CATEGORIES,AIRPORT,RESTAURANT,HOTEL,GAZ_STATION,CAR_PARK, ...)</line>
+ <line>top_level = true if the category is a pre-defined one (top level with only ALL_CATEGORIES as parent), false for customized categories created by plug-in.</line>
+ </doc>
+ </arg>
+ <error name="org.genivi.poiservice.poiSearch.Error.InvalidCategory">
+ <doc>
+ <line>The category is not available.</line>
+ </doc>
+ </error>
+ </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, attributeList, sortOptions] = </line>
+ <line>0: CAMCategory.details ('?') = struct(list of parents_id, icons, name, short_desc, media).</line>
+ <line>1: CAMCategory.attributeList ('?') = array[struct(name, type, array[struct(operator_id, operator_name)])].</line>
+ <line>2: 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(ddd)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, attributeList] = </line>
+ <line>0: PoiAddedDetails.name ('s') = POI name</line>
+ <line>1: PoiAddedDetails.location ('?') = POI location.</line>
+ <line>2: PoiAddedDetails.attributeList ('?') = 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>
@@ -105,7 +225,7 @@
<line>maxSize = max size of the results list</line>
</doc>
</arg>
- <arg name="location" type="(ddi)" direction="in">
+ <arg name="location" type="(ddd)" direction="in">
<doc>
<line>location = struct(lat,lon,alt)</line>
<line>lat = latitude of a vertex of the polygon in format %3.6f. Range [-90:+90]. Example: 48.053250</line>
@@ -121,7 +241,7 @@
<line>Note: A POI category is a unique ID. It could be a predifined category or a custom one defined by a POI plug-in.</line>
</doc>
</arg>
- <arg name="poiAttributes" type="a(uuivib)" direction="in">
+ <arg name="poiAttributes" type="a(uui(yv)ib)" direction="in">
<doc>
<line>poiAtttributes = array[struct(id, categoryId, type, value, oper, mandatory)]</line>
<line>id = attribute unique id (see data model)</line>
@@ -169,9 +289,9 @@
<line>poiSearchHandle = poi search unique handle</line>
</doc>
</arg>
- <arg name="attributes" type="au" direction="in">
+ <arg name="attributeList" type="au" direction="in">
<doc>
- <line>attributes = List of attributes id to retrieve. This is optional and the list could be empty.</line>
+ <line>attributeList = List of attributes id to retrieve. This is optional and the list could be empty.</line>
</doc>
</arg>
<arg name="statusValue" type="q" direction="out">
@@ -184,9 +304,9 @@
<line>resultListSize = Number of items of the results list</line>
</doc>
</arg>
- <arg name="resultList" type="a(usu(ddi)qa(uiv))" direction="out">
+ <arg name="resultList" type="a(usu(ddd)qa(ui(yv)))" direction="out">
<doc>
- <line>resultList = array[source_id,name, category, location, distance, attributes]</line>
+ <line>resultList = array[source_id,name, category, location, distance, attributeList]</line>
<line>source_id = POI unique id as known by the content access module. This id will be used by POI service to request POI details.</line>
<line>name = POI name</line>
<line>category = POI category unique id</line>
@@ -196,7 +316,7 @@
<line>lon = longitude of a vertex of the polygon in format %3.6f. Range [-180:+180]. Example: 48.053250</line>
<line>alt = altitude above the sea level of the current position in meters</line>
<line>distance = distance in meters to poi from center of the search</line>
- <line>attributes = array[struct(name, type, value)]</line>
+ <line>attributeList = array[struct(name, type, value)]</line>
<line>List of attributes requested. It could be empty.</line>
<line>id = attribute unique id (see data model)</line>
<line>type = enum(INVALID,STRING,INTEGER,COORDINATES ...)</line>
@@ -229,9 +349,9 @@
<line>list of poi = Unique source poi id</line>
</doc>
</arg>
- <arg name="results" type="a((us(ddi))aua(uiv))" direction="out">
+ <arg name="results" type="a((us(ddd))aua(ui(yv)))" direction="out">
<doc>
- <line>results = array[details, categories, attributes]</line>
+ <line>results = array[details, categories, attributeList]</line>
<line>results = List of details for all the POI.</line>
<line>details = struct(unique id, name, location)</line>
<line>source id = POI id</line>
@@ -242,7 +362,7 @@
<line>alt = altitude above the sea level of the current position in meters</line>
<line>categories = array[id]</line>
<line>id = enum(INVALID,ALL_CATEGORIES,AIRPORT,RESTAURANT,HOTEL,GAZ_STATION,CAR_PARK, ...)</line>
- <line>attributes = array[struct(id, type, value)]</line>
+ <line>attributeList = array[struct(id, type, value)]</line>
<line>id = attribute unique name (see data model)</line>
<line>type = enum(INVALID,STRING,INTEGER,COORDINATES ...)</line>
<line>value = value. The value depends on the attribute specifications and type.</line>
@@ -260,5 +380,72 @@
</doc>
</error>
</method>
+ <signal name="ConfigurationChanged">
+ <doc>
+ <line>ConfigurationChanged = This signal is sent to the clients when one or more configuration settings changes</line>
+ </doc>
+ <arg name="changedSettings" type="aq">
+ <doc>
+ <line>changedSettings = array[setting]</line>
+ <line>setting = enum(INVALID,UNITS_OF_MEASUREMENT,LOCALE,TIME_FORMAT,COORDINATES_FORMAT, ... )</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>
+ <signal name="SearchStatusChanged">
+ <doc>
+ <line>SearchStatusChanged = SearchStatusChanged = This signal updates the search or proximity alert status of the specified handle.</line>
+ </doc>
+ <arg direction="out" name="poiSearchHandle" type="u">
+ <doc>
+ <line>poiSearchHandle (of type Handle) = poi search unique handle.</line>
+ <line>lineComment to be defined</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 (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))]</line>
+ </doc>
+ </arg>
+ <arg direction="out" name="pois" type="au">
+ <doc>
+ <line>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).</line>
+ <line>lineComment to be defined</line>
+ </doc>
+ </arg>
+ </signal>
</interface>
</node>
diff --git a/api/poi-service/genivi-poiservice-contentmanager.xml b/api/poi-service/genivi-poiservice-contentmanager.xml
deleted file mode 100644
index 1fbda33..0000000
--- a/api/poi-service/genivi-poiservice-contentmanager.xml
+++ /dev/null
@@ -1,368 +0,0 @@
-<?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>
diff --git a/api/poi-service/genivi-poiservice-poicontentaccess.xml b/api/poi-service/genivi-poiservice-poicontentaccess.xml
index d0d31c1..f8d3abb 100644
--- a/api/poi-service/genivi-poiservice-poicontentaccess.xml
+++ b/api/poi-service/genivi-poiservice-poicontentaccess.xml
@@ -87,7 +87,7 @@
<line>camId = Content access module unique id as known by the POI service component.</line>
</doc>
</arg>
- <arg name="poiCategories" type="a((auvssv)a(usia(isv))a(us))" direction="in">
+ <arg name="poiCategories" type="a((au(yv)ss(yv))a(usia(is(yv)))a(us))" direction="in">
<doc>
<line>poiCategories = array[details, attributes, sortOptions]</line>
<line>List of details for all the POI categories.</line>
@@ -138,7 +138,7 @@
<line>camId = Content access module unique id as known by the POI service component.</line>
</doc>
</arg>
- <arg name="poiCategories" type="a(ua(usia(isv))a(us))" direction="in">
+ <arg name="poiCategories" type="a(ua(usia(is(yv)))a(us))" direction="in">
<doc>
<line>poiCategories = array[unique_id, attributes, sortOptions]</line>
<line>List of attributes to update.</line>
diff --git a/api/poi-service/genivi-poiservice-poisearch.xml b/api/poi-service/genivi-poiservice-poisearch.xml
index 40a5e91..7cb0985 100644
--- a/api/poi-service/genivi-poiservice-poisearch.xml
+++ b/api/poi-service/genivi-poiservice-poisearch.xml
@@ -126,9 +126,9 @@
<line>Note: A POI category is a unique ID. It could be a predifined category or a custom one defined by a POI plug-in.</line>
</doc>
</arg>
- <arg name="results" type="a((uauvsbsv)a(usia(isv))a(us))" direction="out">
+ <arg name="results" type="a((uau(yv)sbs(yv))a(usia(is(yv)))a(us))" direction="out">
<doc>
- <line>results = array[details, attributes, sortOptions]</line>
+ <line>results = array[details, attributeList, sortOptions]</line>
<line>results = List of details for all the POI categories.</line>
<line>details = struct(unique_id, list of parents_id, icons, name, top_level, short_desc, media)]</line>
<line>unique_id = Category unique id</line>
@@ -138,7 +138,7 @@
<line>top_level = true if the category is a predefined one (top level), false for customized categories created by plug-in.</line>
<line>short_desc = short category description (optional)</line>
<line>media = media associated (html web site, audio, video, ...) (optional)</line>
- <line>attributes = array[struct(id, name, type, array[struct(operator_type, operator_name, operator_value)])</line>
+ <line>attributeList = array[struct(id, name, type, array[struct(operator_type, operator_name, operator_value)])</line>
<line>id = attribute unique id</line>
<line>name = attribute unique name</line>
<line>type = enum(INVALID,STRING,INTEGER,COORDINATES ...)</line>
@@ -210,7 +210,7 @@
<line>poiSearchHandle = poi search unique handle</line>
</doc>
</arg>
- <arg name="location" type="(ddi)" direction="in">
+ <arg name="location" type="(ddd)" direction="in">
<doc>
<line>location = struct(lat,lon,alt)</line>
<line>lat = latitude of a vertex of the polygon in format %3.6f. Range [-90:+90]. Example: 48.053250</line>
@@ -245,12 +245,12 @@
<line>poiSearchHandle = poi search unique handle</line>
</doc>
</arg>
- <arg name="sessionHandle" type="y" direction="in">
+ <arg name="sessionHandle" type="u" direction="in">
<doc>
<line>sessionHandle = session handle</line>
</doc>
</arg>
- <arg name="routeHandle" type="y" direction="in">
+ <arg name="routeHandle" type="u" direction="in">
<doc>
<line>routeHandle = route handle.</line>
</doc>
@@ -324,7 +324,7 @@
<line>poiSearchHandle = poi search unique handle</line>
</doc>
</arg>
- <arg name="poiAttributes" type="a(uuivib)" direction="in">
+ <arg name="poiAttributes" type="a(uui(yv)ib)" direction="in">
<doc>
<line>poiAtttributes = array[struct(id, categoryId, type, value, oper, mandatory)]</line>
<line>id = attribute unique id (see data model)</line>
@@ -501,9 +501,9 @@
<line>maxWindowSize = maximum number of elements that should be returned as result</line>
</doc>
</arg>
- <arg name="attributes" type="au" direction="in">
+ <arg name="attributeList" type="au" direction="in">
<doc>
- <line>attributes = List of attributes id to retrieve. This is optional and the list could be empty.</line>
+ <line>attributeList = List of attributes id to retrieve. This is optional and the list could be empty.</line>
</doc>
</arg>
<arg name="statusValue" type="q" direction="out">
@@ -516,13 +516,13 @@
<line>resultListSize = Number of items of the results list</line>
</doc>
</arg>
- <arg name="resultListWindow" type="a(uuqa(uiv))" direction="out">
+ <arg name="resultListWindow" type="a(uuqa(ui(yv)))" direction="out">
<doc>
- <line>resultListWindow = array[unique_id, distance, route_status, attributes]</line>
+ <line>resultListWindow = array[unique_id, distance, route_status, attributeList]</line>
<line>unique_id = POI unique id</line>
<line>distance = distance in meters to poi from center of the search or from vehicle if search along</line>
<line>route_status = enum(OFF_ROUTE,ON_ROUTE,INSIDE_CORRIDOR, ... )</line>
- <line>attributes = array[struct(id, type, value)]</line>
+ <line>attributeList = array[struct(id, type, value)]</line>
<line>List of attributes requested. It could be empty.</line>
<line>id = attribute unique id (see data model)</line>
<line>type = enum(INVALID,STRING,INTEGER,COORDINATES ...)</line>
@@ -550,9 +550,9 @@
<line>list of poi = Unique poi id</line>
</doc>
</arg>
- <arg name="results" type="a((us(ddi))aua(uiv))" direction="out">
+ <arg name="results" type="a((us(ddd))aua(ui(yv)))" direction="out">
<doc>
- <line>results = array[details, categories, attributes]</line>
+ <line>results = array[details, categories, attributeList]</line>
<line>results = List of details for all the POI.</line>
<line>details = struct(unique id, name, location)</line>
<line>unique id = POI id</line>
@@ -563,7 +563,7 @@
<line>alt = altitude above the sea level of the current position in meters</line>
<line>categories = array[id]</line>
<line>id = enum(INVALID,ALL_CATEGORIES,AIRPORT,RESTAURANT,HOTEL,GAZ_STATION,CAR_PARK, ...)</line>
- <line>attributes = array[struct(id, type, value)]</line>
+ <line>attributeList = array[struct(id, type, value)]</line>
<line>List of attributes requested. It could be empty.</line>
<line>id = attribute unique id (see data model)</line>
<line>type = enum(INVALID,STRING,INTEGER,COORDINATES ...)</line>