summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Residori <marco.residori@xse.de>2014-05-20 17:11:45 +0200
committerMarco Residori <marco.residori@xse.de>2014-05-20 17:11:45 +0200
commit063d25dbf44e6ae56d780736705b4f7df5da439c (patch)
tree283ad936dd7835ca4b8daf80cbd951d18a066a1b
parentdf4540e98048ca80962098c7ceb44c152eabdac6 (diff)
downloadpoi-service-063d25dbf44e6ae56d780736705b4f7df5da439c.tar.gz
Rename directory
-rw-r--r--api/franca/poi-service/POIServiceContentAccess.fidl87
-rw-r--r--api/franca/poi-service/POIServiceContentAccessModule.fidl95
-rw-r--r--api/franca/poi-service/POIServiceSearch.fidl283
-rw-r--r--api/franca/poi-service/POIServiceTypes.fidl259
4 files changed, 724 insertions, 0 deletions
diff --git a/api/franca/poi-service/POIServiceContentAccess.fidl b/api/franca/poi-service/POIServiceContentAccess.fidl
new file mode 100644
index 0000000..6e5275f
--- /dev/null
+++ b/api/franca/poi-service/POIServiceContentAccess.fidl
@@ -0,0 +1,87 @@
+package org.genivi.lbs.POIService
+
+import org.genivi.lbs.LBScommonTypes.* from "../CommonTypes.fidl"
+import org.genivi.lbs.POIServiceTypes.* from "POIServiceTypes.fidl"
+
+
+<** @description : This interface offers a set of common methods for Content Access Modules (CAM). The CAM provide and update POI and categories information from remote sources to the POIService modules.**>
+interface POIContentAccess {
+ version {
+ major 1
+ minor 0
+ }
+ <** @description : Register to the POI provider module
+ When the CAM registers, it provides a name and then get a unique id. This id must be used everytime the CAM communicates with the POI service component.
+ After the registration is done, the CAM can start to update POI categories and POI attributes as well as registers POI categories to search for.**>
+ method RegisterContentAccessModule {
+ in {
+ <** @description : The name of the CAM.**>
+ String moduleName
+ }
+
+ out {
+ <** @description : Content access module unique id as known by the POI service component.**>
+ UInt8 camId
+ }
+
+ }
+ <** @description : Remove CAM from POI provider module.**>
+ method UnRegisterContentAccessModule {
+ in {
+ <** @description : Content access module unique id as known by the POI service component.**>
+ UInt8 camId
+ }
+ }
+ <** @description : Register to the POI provider module the categories you can search for POI.
+ The categories could be predifined one or customized ones. In order to register a customized category, you might need to create it before and add it to the POI service component.**>
+ method RegisterPoiCategories {
+ in {
+ <** @description : Content access module unique id as known by the POI service component.**>
+ UInt8 camId
+ <** @description : array[unique_id].
+ List of POI categories to register.
+ unique_id = Unique category id.
+ **>
+ UInt16[] poiCategories
+ }
+ }
+ <** @description : Update categories in the POI service component. It could be a predifined or a customed one.
+ The CAM provides for each categories the list of attributes (mandatories like name or optional) it wants to update.
+ Depending on the local database write policy, the CAM might only be able to update customized attributes for a category and not the predefined ones so some update could be rejected.**>
+ method UpdateCategories {
+ in {
+ <** @description : Content access module unique id as known by the POI service component.**>
+ UInt8 camId
+ <** @description : array[unique_id, attributes, sortOptions].**>
+ POIServiceTypes.CAMCategoryUpdate_t[] poiCategories
+ }
+ }
+ <** @description : Add new categories to the POI service component.
+ The CAM provides for each categories the name, the parent categories, the top level attribute, the list of attributes, the icons, ... .**>
+ method AddCategories {
+ in {
+ <** @description : Content access module unique id as known by the POI service component.**>
+ UInt8 camId
+ <** @description : List of details for all the POI categories.**>
+ POIServiceTypes.CAMCategory_t[] poiCategories
+ }
+ out {
+ <**
+ @description : array of unique POI categories as registered by the POI service component.
+ Note: A POI category is a unique ID
+ **>
+ UInt16[] poiCategoriesId
+ }
+ }
+ <** @description : Remove categories from the POI service component. It could be a predifined or a customed one.
+ Depending on the local database write policy, the CAM might only not be able to remove some categories.**>
+ method RemoveCategories {
+ in {
+ <** @description : Content access module unique id as known by the POI service component.**>
+ UInt8 camId
+ <** @description : array[unique_id].
+ List of POI categories to remove.**>
+ UInt16[] poiCategories
+ }
+ }
+} \ No newline at end of file
diff --git a/api/franca/poi-service/POIServiceContentAccessModule.fidl b/api/franca/poi-service/POIServiceContentAccessModule.fidl
new file mode 100644
index 0000000..dd6da9d
--- /dev/null
+++ b/api/franca/poi-service/POIServiceContentAccessModule.fidl
@@ -0,0 +1,95 @@
+package org.genivi.lbs.POIService
+
+import org.genivi.lbs.CommonTypes.* from "../CommonTypes.fidl"
+import org.genivi.lbs.POIServiceTypes.* from "POIServiceTypes.fidl"
+
+
+<** @description : This interface offers methods that implement the POI search functionality of a navigation system.**>
+interface POIContentAccessModule {
+ version {
+ major 1
+ minor 0
+ }
+ <** @description : This method returns the API version implemented by the content access module.**>
+ method GetVersion {
+ out {
+ <** @description: .**>
+ CommonTypes.version_t ^version
+ }
+ }
+ <** @description : Set the current language set for the search by poi provider module.
+ 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.**>
+ method SetLanguage {
+ in {
+ <** @description : The language to be used.**>
+ String languageCode
+ <** @description : The country specific variant for the language to be used.**>
+ String countryCode
+ }
+ }
+
+ <** @description : This method is sent by the POI service component to inform all the CAM that a new POI search was started.
+ 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.**>
+ method PoiSearchStarted {
+ in {
+ <** @description : poi search unique handle. It must be used by the CAM to send the list of results to the component.**>
+ UInt8 poiSearchHandle
+ <** @description : max size of the results list.**>
+ UInt16 maxSize
+ <** @description: struct(lat,lon,alt).**>
+ CommonTypes.geoCoordinate3D_t location
+ <** @description: array[struct(id,radius)].**>
+ POIServiceTypes.categoryRadius_t[] poiCategories
+ <** @description : array[struct(name, poiCategory, type, value, operator, mandatory)].**>
+ POIServiceTypes.attributeDetails_t[] poiAttributes
+ <** @description : contains the name of the poi that is searched. It could be a partial name or an empty string.**>
+ String inputString
+ <** @description : enum(SORT_DEFAULT,SORT_BY_DISTANCE,SORT_BY_TIME,ATTRIBUTE_CUSTOM, ... )
+ If more than one category was defined for this search, the sort criteria should be compliant with all categories.**>
+ UInt16 sortOption
+ }
+ }
+
+ <** @description : This method cancels the search for the current id.**>
+ method PoiSearchCanceled {
+ in {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ }
+ }
+
+ <** @description : This method provides the poi results list found by the CAM.
+ 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.**>
+ method ResultListRequested {
+ in {
+ <** @description : Content access module unique id as known by the POI service component.**>
+ UInt8 camId
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ <** @description : List of attributes name to retrieve. This is optional and the list could be empty.**>
+ String[] attributes
+ }
+ out {
+ <** @description : enum(INVALID,NOT_STARTED,SEARCHING,FINISHED, ... ).**>
+ UInt16 statusValue
+ <** @description : Number of items of the results list.**>
+ UInt16 resultListSize
+ <** @description : array[struct(source_id, name, category, location, distance, attributes)].**>
+ POIServiceTypes.poiCAMDetails_t[] resultList
+ }
+ }
+
+ <** @description : This method retrieves the details associated to one or more POI.
+ It contains the name, the parent categories, the list of attributes, the icons, ... .**>
+ method PoiDetailsRequested {
+ in {
+ <** @description : array[unique_poi_id].**>
+ UInt32[] source_id
+ }
+ out {
+ <** @description : array[(details, categories, attributes)] .**>
+ POIServiceTypes.searchResultDetails_t[] results
+ }
+ }
+
+ } \ No newline at end of file
diff --git a/api/franca/poi-service/POIServiceSearch.fidl b/api/franca/poi-service/POIServiceSearch.fidl
new file mode 100644
index 0000000..cad3e75
--- /dev/null
+++ b/api/franca/poi-service/POIServiceSearch.fidl
@@ -0,0 +1,283 @@
+package org.genivi.lbs.POIService
+
+import org.genivi.lbs.CommonTypes.* from "../CommonTypes.fidl"
+import org.genivi.lbs.POIServiceTypes.* from "POIServiceTypes.fidl"
+
+
+<** @description : This interface offers methods that implement the POI search functionality of a navigation system.**>
+interface POISearch {
+ version {
+ major 1
+ minor 0
+ }
+ <** @description : This method returns the API version implemented by the content access module.**>
+ method GetVersion {
+ out {
+ <** @description: .**>
+ CommonTypes.version_t ^version
+ }
+ }
+
+ <** @description : Get the current language set for the search.
+ 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. **>
+ method GetLanguage {
+ out {
+ <** @description : The language.**>
+ String languageCode
+ <** @description : The country specific variant for the language.**>
+ String countryCode
+ }
+ }
+
+ <** @description : Set the language.
+ 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.**>
+ method SetLanguage {
+ in {
+ <** @description : The language to be used.**>
+ String languageCode
+ <** @description : The country specific variant for the language to be used.**>
+ String countryCode
+ }
+ }
+
+ <** @description : This method allows the application to validate that POI categories are supported by the POI component and the Content access modules.**>
+ method ValidateCategories {
+ in {
+ <** @description : list of categories enum(INVALID,ALL_CATEGORIES,AIRPORT,RESTAURANT,HOTEL,GAZ_STATION,CAR_PARK, ...)
+ Note: A POI category is a unique ID. It could be a predifined category or a custom one defined by a POI plug-in.**>
+ UInt16[] categories
+ }
+ out {
+ <** @description : List of status for all the POI categories.**>
+ POIServiceTypes.poiCategoryAndStatus_t[] results
+ }
+ }
+
+ <** @description : This method retrieves the list od POI categories available (pre-defined and custom).**>
+ method GetAvailableCategories {
+ out {
+ <** @description : List of categories (id, name and top_level).**>
+ POIServiceTypes.poiCategoryAndName_t[] categories
+ }
+ }
+
+ <** @description : Get the root category id. That would be ALL_CATEGORIES.**>
+ method GetRootCategory {
+ out {
+ <** @description : The root category is a top level one by design.**>
+ UInt16 category
+ }
+ }
+
+ <** @description : Get the children categories id and type (top level) from the a parent unique id.**>
+ method GetChildrenCategories {
+ in {
+ <** @description : unique category id.**>
+ UInt16 category
+ }
+ out {
+ <** @description : List of categories (id and top_level).**>
+ POIServiceTypes.poiCategoryAndLevel_t[] categories
+ }
+ }
+
+ <** @description : Get the parent categories id and type (top level) from the a unique id.**>
+ method GetParentCategories {
+ in {
+ <** @description : unique category id.**>
+ UInt16 category
+ }
+ out {
+ <** @description : List of categories (id and top_level).**>
+ POIServiceTypes.poiCategoryAndLevel_t[] categories
+ }
+ }
+
+ <** @description : GetCategoriesDetails = 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, ... .**>
+ method GetCategoriesDetails {
+ in {
+ <** @description : list of categories 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. **>
+ UInt16[] categories
+ }
+ out {
+ <** @description : List of details for all the POI categories.**>
+ POIServiceTypes.category_t[] results
+ }
+ }
+
+ <** @description : This method creates a new search input and retrieves a handle .**>
+ method CreatePoiSearchHandle {
+ out {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ }
+ }
+
+ <** @description : This method deletes a search input and its associated resources.**>
+ method DeletePoiSearchHandle {
+ in {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ }
+ }
+
+ <** @description : This method sets the location to start the search around.
+ If a route handle was defined before, it will be replaced by this location.**>
+ method SetCenter {
+ in {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ <** @description : location of the center.**>
+ CommonTypes.geoCoordinate3D_t location
+ }
+ }
+
+ <** @description : This method allows to start a POI search along a guided route.
+ The route handle must be valid or the POI search will failed.
+ If a search location was defined before, it will be replaced by the route.**>
+ method SetRouteHandle {
+ in {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ <** @description : session handle.**>
+ UInt8 sessionHandle
+ <** @description : route handle.**>
+ UInt8 routeHandle
+ <** @description : (optional) Distance from vehicle (in meters) from where to start the search along. 0 or invalid distance means start from vehicle.**>
+ UInt16 startSearchOffset
+ <** @description : (optional) Length of the route (in meters) from where to start the search along. 0 or invalid lenght means end is the destination.**>
+ UInt16 endSearchOffset
+ }
+ }
+
+ <** @description : This method sets the POI categories for the current search input and the corresponding result-lists for the current session .**>
+ method SetCategories {
+ in {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ <** @description: array[struct(id,radius)].**>
+ POIServiceTypes.categoryRadius_t[] poiCategories
+ }
+ }
+ <** @description : This method set POI attributes (optional) for the current search input and the corresponding result-lists for the current session
+ An attribute is attached to a category.**>
+ method SetAttributes {
+ in {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ <** @description : array[struct(name, poiCategory, type, value, operator, mandatory)].**>
+ POIServiceTypes.attributeDetails_t[] poiAttributes
+ }
+ }
+
+ <** @description : This method sends the search input for the search handle.
+ The search will start with the either the location or the route handle.
+ If no positon or route handle were configured, the search will use the vehicle position are center location.**>
+ method StartPoiSearch {
+ in {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ <** @description : contains the name of the poi that is searched. It could be a partial name or an empty string.**>
+ String inputString
+ <** @description : enum(SORT_DEFAULT,SORT_BY_DISTANCE,SORT_BY_TIME,ATTRIBUTE_CUSTOM, ... )
+ If more than one category was defined for this search, the sort criteria should be compliant with all categories.**>
+ UInt16 sortOption
+ }
+ }
+
+ <** @description : This method cancels the search for the current session.**>
+ method CancelPoiSearch {
+ in {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ }
+ }
+
+ <** @description : This method starts to check for POI aound vehicle according to the criteria defined with the unique handle.
+ By default, it will search for POI around vehicle position with default radius defined for each categories.
+ If a route handle was defined, it will search along the route with default categorie's radius.**>
+ method StartPoiProximityAlert {
+ in {
+ <** @description : poi alert unique handle.**>
+ UInt8 poiSearchHandle
+ <** @description : contains the name of the poi that is searched. It could be a partial name or an empty string.**>
+ String inputString
+ <** @description : enum(SORT_DEFAULT,SORT_BY_DISTANCE,SORT_BY_TIME,ATTRIBUTE_CUSTOM, ... )
+ If more than one category was defined for this search, the sort criteria should be compliant with all categories.**>
+ UInt16 sortOption
+ }
+ }
+
+ <** @description : This method cancels the search for the current session.**>
+ method CancelPoiProximityAlert {
+ in {
+ <** @description : poi alert unique handle.**>
+ UInt8 poiSearchHandle
+ }
+ }
+
+ <** @description : This method gets the poi result list (e.g. after a Search/Scroll call) .**>
+ method RequestResultList {
+ in {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ <** @description : starting offset of the newly requested list elements. If invalid (more that total list for instance) it starts from the begining.**>
+ UInt16 offset
+ <** @description : maximum number of elements that should be returned as result.**>
+ UInt16 maxWindowSize
+ <** @description : List of attributes name to retrieve. This is optional and the list could be empty.**>
+ String[] attributes
+ }
+ out {
+ <** @description : enum(INVALID,NOT_STARTED,SEARCHING,FINISHED, ... ).**>
+ UInt16 statusValue
+ <** @description : Number of items of the results list.**>
+ UInt16 resultListSize
+ <** @description : array[unique_id, distance, route_status, attributes].**>
+ POIServiceTypes.searchResult_t[] resultListWindow
+ }
+ }
+
+ <** @description : This method retrieves the details associated to one or more POI.
+ It contains the name, the parent categories, the list of attributes, the icons, ... ..**>
+ method GetPoiDetails {
+ in {
+ <** @description : list of poi.**>
+ UInt32[] id
+ }
+ out {
+ <** @description : array[details, categories, attributes].**>
+ POIServiceTypes.searchResultDetails_t[] results
+ }
+ }
+
+ <** @description : This signal indicates that one or more POI categories were added, updated or removed.**>
+ broadcast CategoriesUpdated {
+ out {
+ <** @description : List of POI categories modified or added.**>
+ POIServiceTypes.poiCategoryAndReason_t[] poiCategories
+ }
+ }
+
+ <** @description : This signal updates the search or proximity alert status of the specified handle.**>
+ broadcast PoiStatus {
+ out {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ <** @description : enum(INVALID,NOT_STARTED,SEARCHING,FINISHED, ... ).**>
+ UInt16 statusValue
+ }
+ }
+
+ <** @description : This signal updates in the poi results list.**>
+ broadcast ResultListChanged {
+ out {
+ <** @description : poi search unique handle.**>
+ UInt8 poiSearchHandle
+ <** @description : Number of items of the results list.**>
+ UInt16 resultListSize
+ }
+ }
+} \ No newline at end of file
diff --git a/api/franca/poi-service/POIServiceTypes.fidl b/api/franca/poi-service/POIServiceTypes.fidl
new file mode 100644
index 0000000..28d1f97
--- /dev/null
+++ b/api/franca/poi-service/POIServiceTypes.fidl
@@ -0,0 +1,259 @@
+package org.genivi.lbs.POIServiceTypes
+
+import org.genivi.lbs.CommonTypes.* from "../CommonTypes.fidl"
+
+typeCollection POIServiceTypes {
+ version {
+ major 0
+ minor 1
+ }
+
+
+ <** @description:**>
+ struct details_t {
+ <** @description : list of parent categories unique id.**>
+ UInt16[] parents_id
+ <** @description : visual icons set.**>
+ CommonTypes.variant_t icons
+ <** @description : name.**>
+ String name
+ <** @description : short category description (optional).**>
+ String short_desc
+ <** @description : media associated (html web site, audio, video, ...) (optional).**>
+ CommonTypes.variant_t media
+ }
+
+ <** @description:**>
+ struct operator_t {
+ <** @description : enum(INVALID,MORE_THAN,LESS_THAN,EQUAL, ....).**>
+ UInt16 operator_id
+ <** @description : attribute operator name.**>
+ String operator_name
+ }
+
+
+ <** @description:**>
+ struct categoryAttribute_t {
+ <** @description : attribute unique name.**>
+ String name
+ <** @description : enum(INVALID,STRING,INTEGER,COORDINATES ...).**>
+ UInt16 type
+ <** @description:**>
+ operator_t[] operators
+ }
+
+
+ <** @description:**>
+ struct categorySortOption_t {
+ <** @description : enum(SORT_DEFAULT,SORT_BY_DISTANCE,SORT_BY_TIME,ATTRIBUTE_CUSTOM, ... ).**>
+ UInt16 id
+ <** @description : name to be displayed by application.**>
+ String name
+ }
+
+
+ <** @description:**>
+ struct CAMCategory_t {
+ <** @description : struct(list of parents_id, icons, name, short_desc, media).**>
+ details_t details
+ <** @description : array[struct(name, type, array[struct(operator_id, operator_name)])].**>
+ categoryAttribute_t[] attributes
+ <** @description : array[struct(id, name)].**>
+ categorySortOption_t[] sortOptions
+ }
+
+
+ <** @description:**>
+ struct CAMCategoryUpdate_t {
+ <** @description : 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 **>
+ UInt16 id
+ <** @description : array[struct(name, type, array[struct(operator_id, operator_name)])].**>
+ categoryAttribute_t[] attributes
+ <** @description : array[struct(id, name)].**>
+ categorySortOption_t[] sortOptions
+ }
+
+
+
+ <** @description:**>
+ struct poiAttribute_t
+ {
+ <** @description:attribute unique name (see data model)**>
+ String name
+ <** @description:enum(INVALID,STRING,INTEGER,COORDINATES ...)**>
+ UInt16 type
+ <** @description:The value depends on the attribute specifications and type**>
+ CommonTypes.variant_t value
+ }
+
+
+
+ <** @description:**>
+ struct categoryRadius_t
+ {
+ <** @description : 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 **>
+ UInt16 id
+ <** @description : 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.**>
+ UInt32 radius
+ }
+
+
+ <** @description:**>
+ struct poiDetails_t
+ {
+ <** @description:POI id**>
+ UInt32 id
+ <** @description:POI name**>
+ String name
+ <** @description:latitude of a vertex of the polygon in format %3.6f. Range [-90:+90]. Example: 48.053250**>
+ Double latitude
+ <** @description:longitude of a vertex of the polygon in format %3.6f. Range [-180:+180]. Example: 48.053250**>
+ Double longitude
+ <** @description:altitude above the sea level of the current position in meters**>
+ Int32 altitude
+ }
+
+
+ <** @description:**>
+ struct searchResultDetails_t
+ {
+ <** @description: struct(id,name,latitude,longitude,altitude).**>
+ poiDetails_t details
+ <** @description: array[unique_id].**>
+ UInt16[] categories
+ <** @description: array[struct(name,type,value)].**>
+ poiAttribute_t[] attributes
+ }
+
+ <** @description:**>
+ struct searchResult_t
+ {
+ <** @description:POI id**>
+ UInt32 id
+ <** @description:distance in meters to poi from center of the search or from vehicle if search along**>
+ UInt32 distance
+ <** @description:enum(OFF_ROUTE,ON_ROUTE,INSIDE_CORRIDOR, ... )**>
+ UInt16 route_status
+ <** @description:List of attributes requested. It could be empty**>
+ poiAttribute_t[] attributes
+ }
+
+
+ <** @description:**>
+ struct poiCAMDetails_t
+ {
+ <** @description:POI unique id as known by the content access module. This id will be used by POI service to request POI details.**>
+ UInt32 source_id
+ <** @description:POI name.**>
+ String name
+ <** @description:POI category unique id.**>
+ UInt16 category
+ <** @description:POI location.**>
+ CommonTypes.geoCoordinate3D_t location
+ <** @description:distance in meters to poi from center of the search.**>
+ UInt16 distance
+ <** @description:List of attributes requested. It could be empty.**>
+ poiAttribute_t[] attributes
+ }
+
+
+ <** @description:**>
+ struct attributeDetails_t
+ {
+ <** @description : attribute unique name (see data model).**>
+ String name
+ <** @description : 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 **>
+ UInt16 poiCategory
+ <** @description : enum(INVALID,STRING,INTEGER,COORDINATES ...).**>
+ UInt16 type
+ <** @description : value or partial value. The value depends on the attribute specifications and type.**>
+ CommonTypes.variant_t value
+ <** @description : enum(INVALID,MORE_THAN,LESS_THAN,EQUAL, ....).**>
+ UInt16 oper
+ <** @description : true if the attribute is mandatory for the search and false for optional.**>
+ Boolean mandatory
+ }
+
+ <** @description:**>
+ struct categoryDetails_t
+ {
+ <** @description : Category unique id.**>
+ UInt16 unique_id
+ <** @description : list of parent categories unique id.**>
+ UInt16[] parents_id
+ <** @description : visual icons set.**>
+ CommonTypes.variant_t icons
+ <** @description : name.**>
+ String name
+ <** @description : true if the category is a pre-defined one (top level), false for customized categories created by plug-in.**>
+ Boolean top_level
+ <** @description : short category description (optional).**>
+ String description
+ <** @description : media associated (html web site, audio, video, ...) (optional).**>
+ CommonTypes.variant_t media
+ }
+
+ <** @description:**>
+ struct category_t
+ {
+ <** @description : struct(unique_id, list of parents_id, icons, name, top_level, short_desc, media).**>
+ categoryDetails_t details
+ <** @description : array[struct(name, type, array[struct(operator_id, operator_name)].**>
+ categoryAttribute_t[] attributes
+ <** @description : array[struct(id, name)].**>
+ categorySortOption_t[] sortOptions
+ }
+
+ <** @description:**>
+ struct poiCategoryAndLevel_t
+ {
+ <** @description : Category unique id.**>
+ UInt16 unique_id
+ <** @description : true if the category is a pre-defined one (top level), false for customized categories created by plug-in.**>
+ Boolean top_level
+ }
+
+ <** @description:**>
+ struct poiCategoryAndName_t
+ {
+ <** @description : Category unique id.**>
+ UInt16 unique_id
+ <** @description : name.**>
+ String name
+ <** @description : true if the category is a pre-defined one (top level), false for customized categories created by plug-in.**>
+ Boolean top_level
+ }
+
+ <** @description:**>
+ struct poiCategoryAndReason_t
+ {
+ <** @description : Category unique id.**>
+ UInt16 unique_id
+ <** @description : enum(ADDED,REMOVED,ATTR_ADDED,ATTR_MODIFIED,ATTR_REMOVED, ... ) .**>
+ UInt16 reason
+ }
+ <** @description:**>
+ struct poiCategoryAndStatus_t
+ {
+ <** @description : Category unique id.**>
+ UInt16 unique_id
+ <** @description : true if the category is available .**>
+ UInt16 status
+ }
+
+ <** @description:**>
+ struct poiAddedDetails_t
+ {
+ <** @description:POI name**>
+ String name
+ <** @description:latitude of a vertex of the polygon in format %3.6f. Range [-90:+90]. Example: 48.053250**>
+ Double latitude
+ <** @description:longitude of a vertex of the polygon in format %3.6f. Range [-180:+180]. Example: 48.053250**>
+ Double longitude
+ <** @description:altitude above the sea level of the current position in meters**>
+ Int32 altitude
+ <** @description: array[struct(name,type,value)].**>
+ poiAttribute_t[] attributes
+ }
+
+}