summaryrefslogtreecommitdiff
path: root/api/franca/POIService/POIServiceSearch.fidl
diff options
context:
space:
mode:
Diffstat (limited to 'api/franca/POIService/POIServiceSearch.fidl')
-rw-r--r--api/franca/POIService/POIServiceSearch.fidl283
1 files changed, 283 insertions, 0 deletions
diff --git a/api/franca/POIService/POIServiceSearch.fidl b/api/franca/POIService/POIServiceSearch.fidl
new file mode 100644
index 0000000..cad3e75
--- /dev/null
+++ b/api/franca/POIService/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