1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
// SPDX-License-Identifier: MPL-2.0
// Copyright (C) 2014, PCA Peugeot Citro�n, XS Embedded GmbH, TomTom International B.V., Continental Automotive GmbH, BMW Car IT GmbH, Alpine Electronics R&D Europe GmbH, AISIN AW CO., LTD., Neusoft Technology Solutions GmbH, Jaguar Land Rover Limited, Visteon Corporation, Elektrobit Automotive GmbH
// This Source Code Form is subject to the terms of the
// Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
// this file, you can obtain one at http://mozilla.org/MPL/2.0/.
package org.genivi.navigation.mapviewer
import org.genivi.CommonTypes.* from "../../CommonTypes.fidl"
import org.genivi.navigation.NavigationTypes.* from "../NavigationTypes.fidl"
<** @description : This interface offers methods that implement the navigation core session functionality of a navigation system.**>
interface MapViewerSession {
version {
major 0
minor 1
}
<** @description : This method returns the API version .**>
method getVersion {
out {
<** @description: .**>
Version ^version
}
}
<** @description : createSession = This method creates a new session and retrieves a handle .**>
method createSession {
in {
<**
@description : client = name or identifier of the client application that requests a new session
The navigation core must internally associate this name to the returned session handle
This parameter can be used to identify the client application and determine if a given feature is enabled for it
NB: clientApp is used in place of client, due to a conflicting issue when build with CommonAPI
**>
String clientApp
}
out {
<** @description : sessionHandle **>
Handle sessionHandle
}
error {
<** @description: This error is generated if no more session handles are available **>
NoMoreSessionHandles
}
}
<** @description : deleteSession = This method deletes a session and its associated resources .**>
method deleteSession {
in {
<** @description : sessionHandle **>
Handle sessionHandle
}
error {
<** @description: This error is generated if an application tries to delete a session handle that is not available **>
SessionNotAvailable
}
}
<** @description : This method returns whether a given session handle is available or not (for example because it was deleted) .**>
method getSessionStatus {
in {
<** @description : sessionHandle **>
Handle sessionHandle
}
out {
<** @description : sessionStatus = enum(INVALID,AVAILABLE,NOT_AVAILABLE)**>
SessionStatus sessionStatus
}
}
<** @description : This method returns a list of all available sessions .**>
method getAllSessions {
out {
<** @description : sessionsList = array[struct(sessionHandle,clientApp)]
clientApp = name or identifier of the client application that requested the sessionHandle .**>
Session[] sessionsList
}
}
<** @description : sessionDeleted = This signal is emitted when a session is deleted **>
broadcast sessionDeleted {
out {
<** @description : sessionHandle **>
Handle sessionHandle
}
}
}
|