summaryrefslogtreecommitdiff
path: root/src/components/interfaces/HMI_API.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/interfaces/HMI_API.xml')
-rw-r--r--src/components/interfaces/HMI_API.xml584
1 files changed, 501 insertions, 83 deletions
diff --git a/src/components/interfaces/HMI_API.xml b/src/components/interfaces/HMI_API.xml
index a69d2f05c8..df7fbbfbad 100644
--- a/src/components/interfaces/HMI_API.xml
+++ b/src/components/interfaces/HMI_API.xml
@@ -66,6 +66,28 @@
<element name="READ_ONLY" value="26"/>
</enum>
+<enum name="WindowType">
+ <element name="MAIN">
+ <description>
+ This window type describes the main screen on a display.
+ </description>
+ </element>
+ <element name="WIDGET">
+ <description>
+ A widget is a small window that the app can create to provide information and softbuttons for a quick app control.
+ </description>
+ </element>
+</enum>
+
+<enum name="PredefinedWindows">
+ <element name="DEFAULT_WINDOW" value="0">
+ <description>The default window is a main window pre-created on behalf of the app.</description>
+ </element>
+ <element name="PRIMARY_WIDGET" value="1">
+ <description>The primary widget of the app.</description>
+ </element>
+</enum>
+
<enum name="TransportType">
<description>Lists of the transport types used for device connection to HU.</description>
<element name="BLUETOOTH"/>
@@ -116,6 +138,27 @@
<element name="SOURCE" />
<element name="SHUFFLE" />
<element name="REPEAT" />
+
+ <!-- Navigation Subscription Buttons -->
+ <element name="NAV_CENTER_LOCATION" />
+ <element name="NAV_ZOOM_IN" />
+ <element name="NAV_ZOOM_OUT" />
+ <element name="NAV_PAN_UP" />
+ <element name="NAV_PAN_UP_RIGHT" />
+ <element name="NAV_PAN_RIGHT" />
+ <element name="NAV_PAN_DOWN_RIGHT" />
+ <element name="NAV_PAN_DOWN" />
+ <element name="NAV_PAN_DOWN_LEFT" />
+ <element name="NAV_PAN_LEFT" />
+ <element name="NAV_PAN_UP_LEFT" />
+ <element name="NAV_TILT_TOGGLE">
+ <description>If supported, this toggles between a top-down view and an angled/3D view. If your app supports different, but substantially similar options, then you may implement those. If you don't implement these or similar options, do not subscribe to this button.</description>
+ </element>
+ <element name="NAV_ROTATE_CLOCKWISE" />
+ <element name="NAV_ROTATE_COUNTERCLOCKWISE" />
+ <element name="NAV_HEADING_TOGGLE">
+ <description>If supported, this toggles between locking the orientation to north or to the vehicle's heading. If your app supports different, but substantially similar options, then you may implement those. If you don't implement these or similar options, do not subscribe to this button.</description>
+ </element>
</enum>
<enum name="ButtonEventMode">
@@ -514,6 +557,9 @@
<element name="mediaTrack">
<description>The track field of NGN and GEN1.1 MFD displays. This field is only available for media applications; applies to "Show"</description>
</element>
+ <element name="templateTitle">
+ <description>The title of the new template that will be displayed; applies to "Show"</description>
+ </element>
<element name="alertText1">
<description>The first line of the alert text field; applies to "Alert"</description>
</element>
@@ -585,7 +631,7 @@
</element>
<element name="timeToDestination"/>
<!-- TO DO to be removed -->
- <element name="turnText"/>
+ <element name="turnText"/>
</enum>
<enum name="MetadataType">
@@ -667,6 +713,9 @@
<element name="locationImage">
<description>The optional image of a destination / location</description>
</element>
+ <element name="alertIcon">
+ <description>The image field for Alert</description>
+ </element>
</enum>
<enum name="TextAlignment">
@@ -1845,6 +1894,13 @@
<param name="speed" type="Float" minvalue="0" maxvalue="500" mandatory="false">
<description>The speed in KPH</description>
</param>
+ <param name="shifted" type="Boolean" mandatory="false">
+ <description>
+ True, if GPS lat/long, time, and altitude have been purposefully shifted (requires a proprietary algorithm to unshift).
+ False, if the GPS data is raw and un-shifted.
+ If not provided, then value is assumed False.
+ </description>
+ </param>
</struct>
<struct name="SisData">
@@ -1880,9 +1936,15 @@
<description> True if the hd radio is on, false is the radio is off</description>
</param>
<param name="availableHDs" type="Integer" minvalue="1" maxvalue="7" mandatory="false">
- <description>number of HD sub-channels if available</description>
+ <description>
+ Number of HD sub-channels if available.
+ Note that this parameter is deprecated in MOBILE API.
+ </description>
</param>
- <param name="hdChannel" type="Integer" minvalue="1" maxvalue="7" mandatory="false">
+ <param name="availableHdChannels" type="Integer" minvalue="0" maxvalue="7" array="true" minsize="0" maxsize="8" mandatory="false">
+ <description>The list of available hd sub-channel indexes. Empty list means no Hd channel is available. Read-only.</description>
+ </param>
+ <param name="hdChannel" type="Integer" minvalue="0" maxvalue="7" mandatory="false">
<description>Current HD sub-channel if available</description>
</param>
<param name="signalStrength" type="Integer" minvalue="0" maxvalue="100" mandatory="false">
@@ -1936,9 +1998,17 @@
</description>
</param>
<param name="availableHDsAvailable" type="Boolean" mandatory="false" >
- <description>
+ <description>
Availability of the getting the number of available HD channels.
True: Available, False: Not Available, Not present: Not Available.
+ Note that this parameter is deprecated in MOBILE API
+ </description>
+ </param>
+
+ <param name="availableHdChannelsAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the list of available HD sub-channel indexes.
+ True: Available, False: Not Available, Not present: Not Available.
</description>
</param>
<param name="stateAvailable" type="Boolean" mandatory="false" >
@@ -2040,6 +2110,8 @@
<param name="heatedMirrorsEnable" type="Boolean" mandatory="false">
<description>value false means disabled, value true means enabled.</description>
</param>
+ <param name="climateEnable" type="Boolean" mandatory="false">
+ </param>
</struct>
<struct name="ClimateControlCapabilities">
@@ -2141,6 +2213,12 @@
True: Available, False: Not Available, Not present: Not Available.
</description>
</param>
+ <param name="climateEnableAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of enable/disable climate control.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
</struct>
<struct name="EqualizerSettings">
@@ -2576,6 +2654,17 @@
</param>
</struct>
+<struct name="TemplateConfiguration">
+ <param name="template" type="String" maxlength="500" mandatory="true">
+ <description>
+ Predefined or dynamically created window template.
+ Currently only predefined window template layouts are defined.
+ </description>
+ </param>
+ <param name="dayColorScheme" type="TemplateColorScheme" mandatory="false" />
+ <param name="nightColorScheme" type="TemplateColorScheme" mandatory="false" />
+</struct>
+
<struct name="HMIApplication">
<description>Data type containing information about application needed by HMI.</description>
<param name="appName" type="String" maxlength="100" mandatory="true">
@@ -2609,7 +2698,7 @@
<param name="vrSynonyms" type="String" maxlength="40" minsize="1" maxsize="100" array="true" mandatory="false">
<description>
Defines an additional voice recognition command.
- Must not interfere with any name of previously registered applications(SDL makes check).
+ Must not interfere with any name of previously registered applications from the same device.
</description>
</param>
<param name="appID" type="Integer" mandatory="true">
@@ -2667,6 +2756,12 @@
</param>
</struct>
+<enum name="MenuLayout">
+ <description>How the main menu or submenu is laid out on screen</description>
+ <element name="LIST" />
+ <element name="TILES" />
+</enum>
+
<struct name="Choice">
<description>A choice is an option given to the user which can be selected either by menu, or through voice recognition system.</description>
<param name="choiceID" type="Integer" minvalue="0" maxvalue="65535" mandatory="true">
@@ -2807,6 +2902,9 @@
<param name="numCustomPresetsAvailable" type="Integer" minvalue="1" maxvalue="100" mandatory="false">
<description>The number of on-screen custom presets available (if any); otherwise omitted.</description>
</param>
+ <param name="menuLayoutsAvailable" type="Common.MenuLayout" array="true" minsize="1" maxsize="1000" mandatory="false">
+ <description>An array of available menu layouts. If this parameter is not provided, only the `LIST` layout is assumed to be available</description>
+ </param>
</struct>
<struct name="SoftButtonCapabilities">
@@ -2827,6 +2925,12 @@
<param name="imageSupported" type="Boolean" mandatory="true">
<description>Must be true if the button supports referencing a static or dynamic image.</description>
</param>
+ <param name="textSupported" type="Boolean" mandatory="false" >
+ <description>
+ The button supports the use of text.
+ If not included, the default value should be considered true that the button will support text.
+ </description>
+ </param>
</struct>
<struct name="HMICapabilities">
@@ -2883,8 +2987,11 @@
<description>All omitted characters will be greyed out (disabled) on the keyboard.</description>
<description>If omitted, the entire keyboard will be enabled.</description>
</param>
- <param name="autoCompleteText" type="String" maxlength="1000" mandatory="false">
- <description>Allows an app to prepopulate the text field with a suggested or completed entry as the user types</description>
+ <param name="autoCompleteList" type="String" maxlength="1000" minsize="0" maxsize="100" array="true" mandatory="false">
+ <description>
+ Allows an app to prepopulate the text field with a list of suggested or completed entries as the user types.
+ If empty, the auto-complete list will be removed from the screen.
+ </description>
</param>
</struct>
@@ -3300,6 +3407,74 @@
<param name="hapticSpatialDataSupported" type="Boolean" mandatory="false">
<description>True if the system can utilize the haptic spatial data from the source being streamed. </description>
</param>
+ <param name="diagonalScreenSize" type="Float" minvalue="0" mandatory="false">
+ <description>The diagonal screen size in inches.</description>
+ </param>
+ <param name="pixelPerInch" type="Float" minvalue="0" mandatory="false">
+ <description>PPI is the diagonal resolution in pixels divided by the diagonal screen size in inches.</description>
+ </param>
+ <param name="scale" type="Float" minvalue="1" maxvalue="10" mandatory="false">
+ <description>The scaling factor the app should use to change the size of the projecting view.</description>
+ </param>
+ </struct>
+
+
+ <struct name="WindowTypeCapabilities">
+ <param name="type" type="Common.WindowType" mandatory="true" />
+ <param name="maximumNumberOfWindows" type="Integer" mandatory="true" />
+ </struct>
+
+ <struct name="WindowCapability">
+ <param name="windowID" type="Integer" mandatory="false">
+ <description>
+ The specified ID of the window. Can be set to a predefined window,
+ or omitted for the main window on the main display.
+ </description>
+ </param>
+ <param name="textFields" type="TextField" minsize="1" maxsize="100" array="true" mandatory="false">
+ <description>A set of all fields that support text data. See TextField</description>
+ </param>
+ <param name="imageFields" type="ImageField" minsize="1" maxsize="100" array="true" mandatory="false">
+ <description>A set of all fields that support images. See ImageField</description>
+ </param>
+ <param name="imageTypeSupported" type="ImageType" array="true" minsize="0" maxsize="1000" mandatory="false">
+ <description>Provides information about image types supported by the system.</description>
+ </param>
+ <param name="templatesAvailable" type="String" minsize="0" maxsize="100" maxlength="100" array="true" mandatory="false">
+ <description>A set of all window templates available on the head unit.</description>
+ </param>
+ <param name="numCustomPresetsAvailable" type="Integer" minvalue="1" maxvalue="100" mandatory="false">
+ <description>The number of on-window custom presets available (if any); otherwise omitted.</description>
+ </param>
+ <param name="buttonCapabilities" type="ButtonCapabilities" minsize="1" maxsize="100" array="true" mandatory="false">
+ <description>The number of buttons and the capabilities of each on-window button.</description>
+ </param>
+ <param name="softButtonCapabilities" type="SoftButtonCapabilities" minsize="1" maxsize="100" array="true" mandatory="false">
+ <description>The number of soft buttons available on-window and the capabilities for each button.</description>
+ </param>
+ </struct>
+
+ <struct name="DisplayCapability">
+ <description>Contains information about the display capabilities.</description>
+ <param name="displayName" type="String" mandatory="false" />
+ <param name="windowTypeSupported" type="WindowTypeCapabilities" array="true" minsize="1" mandatory="false">
+ <description>
+ Informs the application how many windows the app is allowed to create per type.
+ </description>
+ </param>
+ <param name="windowCapabilities" type="WindowCapability" array="true" minsize="1" maxsize="1000" mandatory="false">
+ <description>
+ Contains a list of capabilities of all windows related to the app.
+ Once the app has registered the capabilities of all windows are provided.
+ GetSystemCapability still allows requesting window capabilities of all windows.
+ After registration, only windows with capabilities changed will be included.
+ Following cases will cause only affected windows to be included:
+ 1. App creates a new window. After the window is created, a system capability notification will be sent
+ related only to the created window.
+ 2. App sets a new layout to the window. The new layout changes window capabilties.
+ The notification will reflect those changes to the single window.
+ </description>
+ </param>
</struct>
<struct name="SystemCapabilities">
@@ -3311,6 +3486,7 @@
</param>
</struct>
+
<struct name="RemoteControlCapabilities">
<param name="climateControlCapabilities" type="ClimateControlCapabilities" mandatory="false" minsize="1" maxsize="100" array="true">
<description>If included, the platform supports RC climate controls. For this baseline version, maxsize=1. i.e. only one climate control module is supported.</description >
@@ -3790,10 +3966,14 @@
<element name="VIDEO_STREAMING"/>
<element name="REMOTE_CONTROL"/>
<element name="APP_SERVICES" />
+ <element name="DISPLAYS"/>
</enum>
<struct name="SystemCapability">
- <description>The systemCapabilityType identifies which data object exists in this struct. For example, if the SystemCapability Type is NAVIGATION then a "navigationCapability" should exist</description>
+ <description>
+ The systemCapabilityType identifies which data object exists in this struct. For example,
+ if the SystemCapability Type is NAVIGATION then a "navigationCapability" should exist
+ </description>
<param name="systemCapabilityType" type="Common.SystemCapabilityType" mandatory="true">
<description>Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other param included.</description>
</param>
@@ -3810,8 +3990,13 @@
<description>Describes extended capabilities of the module's phone feature</description>
</param>
<param name="appServicesCapabilities" type="Common.AppServicesCapabilities" mandatory="false">
- <description>An array of currently available services. If this is an update to the capability the affected services will include an update reason in that item</description>
- </param>
+ <description>
+ An array of currently available services.
+ If this is an update to the capability the affected services will include
+ an update reason in that item
+ </description>
+ </param>
+ <param name="displayCapabilities" type="Common.DisplayCapability" array="true" minsize="1" maxsize="1000" mandatory="false"/>
</struct>
</interface>
@@ -3981,17 +4166,35 @@
</function>
<function name="ActivateApp" messagetype="response">
</function>
+ <function name="CloseApplication" messagetype="request">
+ <description>Request from the application to exit the foreground.</description>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of selected application.</description>
+ </param>
+ </function>
+ <function name="CloseApplication" messagetype="response">
+ </function>
<function name="OnAppActivated" messagetype="notification">
<description>Must be sent by HU system when the user clicks on app in the list of registered apps or on soft button with 'STEAL_FOCUS' action.</description>
<param name="appID" type="Integer" mandatory="true">
<description>ID of selected application.</description>
</param>
+ <param name="windowID" type="Integer" mandatory="false">
+ <description>
+ This is the unique ID assigned to the window that this RPC is intended. If this param is not included, it will be assumed that this request is specifically for the main window on the main display. See PredefinedWindows enum.
+ </description>
+ </param>
</function>
<function name="OnAppDeactivated" messagetype="notification">
<description>Must be sent by HU system when the user switches to any functionality which is not other mobile application.</description>
<param name="appID" type="Integer" mandatory="true">
<description>ID of deactivated application.</description>
</param>
+ <param name="windowID" type="Integer" mandatory="false">
+ <description>
+ This is the unique ID assigned to the window that this RPC is intended. If this param is not included, it will be assumed that this request is specifically for the main window on the main display. See PredefinedWindows enum.
+ </description>
+ </param>
</function>
<function name="OnAppRegistered" messagetype="notification">
<description>Issued by SDL to notify HMI about new application registered.</description>
@@ -4010,7 +4213,7 @@
<param name="vrSynonyms" type="String" maxlength="40" minsize="1" maxsize="100" array="true" mandatory="false">
<description>
Defines an additional voice recognition command.
- Must not interfere with any name of previously registered applications(SDL makes check).
+ Must not interfere with any name of previously registered applications from the same device.
</description>
</param>
<param name="resumeVrGrammars" type="Boolean" mandatory="false">
@@ -4162,45 +4365,54 @@
</function>
<function name="OnPutFile" messagetype="notification" >
- <description>
- Notification, that comes to HMI when mobile sents file with systemFile flag
- </description>
+ <description>
+ Notification that is sent to HMI when a mobile application uploads a file
+ </description>
- <param name="offset" type="Integer" minvalue="0" maxvalue="100000000000" mandatory="false">
- <description>Optional offset in bytes for resuming partial data chunks</description>
- </param>
- <param name="length" type="Integer" minvalue="0" maxvalue="100000000000" mandatory="false">
- <description>Optional length in bytes for resuming partial data chunks</description>
- </param>
+ <param name="offset" type="Integer" minvalue="0" maxvalue="100000000000" mandatory="false">
+ <description>Optional offset in bytes for resuming partial data chunks</description>
+ </param>
+ <param name="length" type="Integer" minvalue="0" maxvalue="100000000000" mandatory="false">
+ <description>Optional length in bytes for resuming partial data chunks</description>
+ </param>
- <param name="fileSize" type="Integer" minvalue="0" maxvalue="100000000000" mandatory="false">
- <description>Full Size of file. sends in first OnPutFile notification if file is splited
- into many PutFiles
- </description>
- </param>
+ <param name="fileSize" type="Integer" minvalue="0" maxvalue="100000000000" mandatory="false">
+ <description>Full Size of file. sends in first OnPutFile notification if file is splited
+ into many PutFiles
+ </description>
+ </param>
- <param name="FileName" type="String" maxlength="255" mandatory="true">
- <description>File reference name.</description>
- </param>
+ <param name="FileName" type="String" maxlength="255" mandatory="true">
+ <description>File reference name.</description>
+ </param>
- <param name="syncFileName" type="String" maxlength="255" mandatory="true">
- <description>File reference name.</description>
- </param>
+ <param name="syncFileName" type="String" maxlength="255" mandatory="true">
+ <description>File reference name.</description>
+ </param>
- <param name="fileType" type="Common.FileType" mandatory="true">
- <description>Selected file type.</description>
- </param>
+ <param name="fileType" type="Common.FileType" mandatory="true">
+ <description>Selected file type.</description>
+ </param>
- <param name="persistentFile" type="Boolean" defvalue="false" mandatory="false">
- <description>
- Indicates if the file is meant to persist between sessions / ignition cycles.
- If set to TRUE, then the system will aim to persist this file through session / cycles.
- While files with this designation will have priority over others, they are subject to deletion by the system at any time.
- In the event of automatic deletion by the system, the app will receive a rejection and have to resend the file.
- If omitted, the value will be set to false.
- </description>
- </param>
- </function>
+ <param name="persistentFile" type="Boolean" defvalue="false" mandatory="false">
+ <description>
+ Indicates if the file is meant to persist between sessions / ignition cycles.
+ If set to TRUE, then the system will aim to persist this file through session / cycles.
+ While files with this designation will have priority over others, they are subject to deletion by the system at any time.
+ In the event of automatic deletion by the system, the app will receive a rejection and have to resend the file.
+ If omitted, the value will be set to false.
+ </description>
+ </param>
+ <param name="isSystemFile" type="Boolean" defvalue="false" mandatory="false">
+ <description>
+ Indicates if the file is meant to be passed thru core to elsewhere on the system.
+ If true the system will pass the data thru as it arrives to a predetermined area outside of core.
+ </description>
+ </param>
+ <param name="appID" type="Integer" mandatory="false">
+ <description> ID of application that uploaded this file. </description>
+ </param>
+ </function>
<function name="GetFilePath" messagetype="request">
<description>This request is sent to retrieve a file path from the HMI.</description>
@@ -4267,10 +4479,17 @@
</param>
</function>
<function name="OnSystemCapabilityUpdated" messagetype="notification">
- <description>A notification to inform the HMI that a specific system capability has changed.</description>
+ <description>
+ A notification between HMI and SDL that a specific system capability has been changed.
+ It can be sent in both directions SDL to HMI and HMI to SDL. Direction is dependent on
+ the point where capabilities have been changed
+ </description>
<param name="systemCapability" type="Common.SystemCapability" mandatory="true">
<description>The system capability that has been updated</description>
</param>
+ <param name="appID" type="Integer" mandatory="false">
+ <description>ID of application that is related to this RPC.</description>
+ </param>
</function>
</interface>
@@ -4358,6 +4577,11 @@
<param name="appID" type="Integer" mandatory="true">
<description>ID of application related to this RPC.</description>
</param>
+ <param name="cancelID" type="Integer" mandatory="false">
+ <description>
+ An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC.
+ </description>
+ </param>
</function>
<function name="PerformInteraction" messagetype="response">
<param name="choiceID" type="Integer" minvalue="0" maxvalue="2000000000" mandatory="false">
@@ -4381,7 +4605,7 @@
<description>
Request new VR synonyms registration
Defines an additional voice recognition command.
- Must not interfere with any name of previously registered applications(SDL makes check).
+ Must not interfere with any name of previously registered applications from the same device.
</description>
</param>
<param name="language" type="Common.Language" mandatory="true">
@@ -4549,7 +4773,7 @@
</function>
</interface>
-<interface name="UI" version="1.3.0" date="2018-09-05">
+<interface name="UI" version="1.4.0" date="2019-07-24">
<function name="Alert" messagetype="request">
<description>Request from SDL to show an alert message on the display.</description>
<param name="alertStrings" type="Common.TextFieldStruct" mandatory="true" array="true" minsize="0" maxsize="3">
@@ -4570,19 +4794,64 @@
<param name="appID" type="Integer" mandatory="true">
<description>ID of application requested this RPC.</description>
</param>
+ <param name="cancelID" type="Integer" mandatory="false">
+ <description>
+ An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC.
+ </description>
+ </param>
+ <param name="alertIcon" type="Common.Image" mandatory="false" >
+ <description>
+ Image to be displayed for the corresponding alert. See Image.
+ If omitted, no (or the default if applicable) icon should be displayed.
+ </description>
+ </param>
</function>
+
<function name="Alert" messagetype="response">
<param name="tryAgainTime" type="Integer" mandatory="false" minvalue="0" maxvalue="2000000000">
<description>Amount of time (in milliseconds) that SDL must wait before resending an alert. Must be provided if another system event or overlay currently has a higher priority than this alert.</description>
</param>
</function>
+
+ <function name="SetDisplayLayout" messagetype="request">
+ <description>This RPC is deprecated. Use Show RPC to change layout.</description>
+ <param name="displayLayout" type="String" maxlength="500" mandatory="true">
+ <description>
+ Predefined or dynamically created screen layout.
+ Currently only predefined screen layouts are defined.
+ </description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of application related to this RPC.</description>
+ </param>
+ <param name="dayColorScheme" type="Common.TemplateColorScheme" mandatory="false"></param>
+ <param name="nightColorScheme" type="Common.TemplateColorScheme" mandatory="false"></param>
+ </function>
+
+ <function name="SetDisplayLayout" messagetype="response">
+ <description>This RPC is deprecated. Use Show RPC to change layout.</description>
+ <param name="displayCapabilities" type="Common.DisplayCapabilities" mandatory="false">
+ <description>See DisplayCapabilities</description>
+ </param>
+ <param name="buttonCapabilities" type="Common.ButtonCapabilities" minsize="1" maxsize="100" array="true" mandatory="false">
+ <description>See ButtonCapabilities</description >
+ </param>
+ <param name="softButtonCapabilities" type="Common.SoftButtonCapabilities" minsize="1" maxsize="100" array="true" mandatory="false">
+ <description>If returned, the platform supports on-screen SoftButtons; see SoftButtonCapabilities.</description >
+ </param>
+ <param name="presetBankCapabilities" type="Common.PresetBankCapabilities" mandatory="false">
+ <description>If returned, the platform supports custom on-screen Presets; see PresetBankCapabilities.</description >
+ </param>
+ </function>
+
<function name="Show" messagetype="request">
- <param name="showStrings" type="Common.TextFieldStruct" mandatory="true" array="true" minsize="0" maxsize="7">
- <description>Array of lines of show text fields. See TextFieldStruct. Uses mainField1, mainField2, mainField3, mainField4. If some field is not set, the corresponding text should stay unchanged. If field's text is empty "", the field must be cleared.
+ <param name="showStrings" type="Common.TextFieldStruct" mandatory="true" array="true" minsize="0" maxsize="8">
+ <description>Array of lines of show text fields. See TextFieldStruct. If some field is not set, the corresponding text should stay unchanged. If field's text is empty "", the field must be cleared.
mainField1: The text that should be displayed in a single or upper display line.
mainField2: The text that should be displayed on the second display line.
mainField3: The text that should be displayed on the second "page" first display line.
mainField4: The text that should be displayed on the second "page" second display line.
+ templateTitle: The title of the new template that will be displayed.
statusBar: statusBar.
mediaClock: Text value for MediaClock field.
mediaTrack: The text that should be displayed in the track field. This field is only valid for media applications on NGN type ACMs.
@@ -4612,16 +4881,105 @@
<param name="appID" type="Integer" mandatory="true">
<description>Id of application related to this RPC.</description>
</param>
+ <param name="windowID" type="Integer" mandatory="false" >
+ <description>
+ This is the unique ID assigned to the window that this RPC is intended.
+ If this param is not included,
+ it will be assumed that this request is specifically for the main window
+ on the main display.
+ See PredefinedWindows enum.
+ </description>
+ </param>
+
+ <param name="templateConfiguration" type="Common.TemplateConfiguration" mandatory="false">
+ <description>
+ Used to set an alternate template layout to a window.
+ </description>
+ </param>
</function>
+
<function name="Show" messagetype="response">
</function>
+
+ <function name="CreateWindow" messagetype="request">
+ <description>
+ Create a new window on the display with the specified window type.
+ </description>
+ <param name="windowID" type="Integer" mandatory="true">
+ <description>
+ A unique ID to identify the window. The value of '0' will always be the default main window on the main display and should not be used in this context as it will already be created for the app. See PredefinedWindows enum. Creating a window with an ID that is already in use will be rejected with `INVALID_ID`.
+ </description>
+ </param>
+
+ <param name="windowName" type="String" maxlength="100" mandatory="true">
+ <description>
+ The window name to be used by the HMI. The name of the pre-created default window will match the app name.
+ Multiple apps can share the same window name except for the default main window.
+ Creating a window with a name which is already in use by the app will result in `DUPLICATE_NAME`.
+ </description>
+ </param>
+
+ <param name="type" type="Common.WindowType" mandatory="true">
+ <description>The type of the window to be created. Main window or widget.</description>
+ </param>
+
+ <param name="associatedServiceType" type="String" mandatory="false">
+ <description>
+ Allows an app to create a widget related to a specific service type.
+ As an example if a `MEDIA` app becomes active, this app becomes audible and is allowed to play audio.
+ Actions such as skip or play/pause will be directed to this active media app.
+ In case of widgets, the system can provide a single "media" widget which will act as a placeholder for the active media app.
+ It is only allowed to have one window per service type. This means that a media app can only have a single MEDIA widget.
+ Still the app can create widgets omitting this parameter.
+ Those widgets would be available as app specific widgets that are permanently included in the HMI.
+ This parameter is related to widgets only. The default main window, which is pre-created during app registration,
+ will be created based on the HMI types specified in the app registration request.
+ </description>
+ </param>
+
+ <param name="duplicateUpdatesFromWindowID" type="Integer" mandatory="false">
+ <description>
+ Optional parameter. Specify whether the content sent to an existing window
+ should be duplicated to the created window.
+ If there isn't a window with the ID, the request will be rejected with `INVALID_DATA`.
+ </description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of application that concerns this RPC.</description>
+ </param>
+ </function>
+
+ <function name="CreateWindow" messagetype="response">
+ </function>
+
+ <function name="DeleteWindow" messagetype="request">
+ <description>
+ Deletes previously created window of the SDL application.
+ </description>
+ <param name="windowID" type="Integer" mandatory="true">
+ <description>
+ A unique ID to identify the window. The value of '0' will always be the default main window
+ on the main display and cannot be deleted.
+ See PredefinedWindows enum.
+ </description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of application that concerns this RPC.</description>
+ </param>
+ </function>
+
+ <function name="DeleteWindow" messagetype="response">
+ </function>
+
<function name="AddCommand" messagetype="request">
<description>Request from SDL to add a command to the application menu.</description>
<param name="cmdID" type="Integer" minvalue="0" maxvalue="2000000000" mandatory="true">
<description>ID of the command to be added.</description>
</param>
<param name="menuParams" type="Common.MenuParams" mandatory="false">
- <description>Optional sub value containing parameters of the command (position, name, etc.). See MenuParams. If omitted the command should be added to the end of the list of commands.</description>
+ <description>
+ Optional sub value containing parameters of the command (position, name, etc.). See MenuParams.
+ If omitted the command should be added to the end of the list of commands.</description>
</param>
<param name="cmdIcon" type="Common.Image" mandatory="false">
<description>Image to be displayed for representing the command. See Image.</description>
@@ -4631,8 +4989,10 @@
<description>ID of application that concerns this RPC.</description>
</param>
</function>
+
<function name="AddCommand" messagetype="response">
- </function>
+ </function>
+
<function name="DeleteCommand" messagetype="request">
<description>Request from SDL to delete a command from the in-application menu with the specified command id.</description>
<param name="cmdID" type="Integer" mandatory="true" minvalue="0" maxvalue="2000000000">
@@ -4642,8 +5002,10 @@
<description>ID of application that concerns this RPC.</description>
</param>
</function>
+
<function name="DeleteCommand" messagetype="response">
</function>
+
<function name="AddSubMenu" messagetype="request">
<description>Request from SDL to add a sub menu to the in-application menu.</description>
<param name="menuID" type="Integer" minvalue="1" maxvalue="2000000000" mandatory="true">
@@ -4658,6 +5020,9 @@
<param name="appID" type="Integer" mandatory="true">
<description>ID of application that requested this RPC.</description>
</param>
+ <param name="menuLayout" type="Common.MenuLayout" mandatory="false">
+ <description>Sets the layout of the submenu screen.</description>
+ </param>
</function>
<function name="AddSubMenu" messagetype="response">
</function>
@@ -4672,6 +5037,20 @@
</function>
<function name="DeleteSubMenu" messagetype="response">
</function>
+ <function name="ShowAppMenu" messagetype="request">
+ <description>Request from SDL to show an app's menu or a corresponding sub-menu.</description>
+ <param name="menuID" type="Integer" minvalue="1" maxvalue="2000000000" mandatory="false">
+ <description>
+ If ommited the HMI opens the app's menu.
+ If set to a sub-menu ID the HMI opens the corresponding sub-menu previously added using `AddSubMenu`.
+ </description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of application that concerns this RPC.</description>
+ </param>
+ </function>
+ <function name="ShowAppMenu" messagetype="response">
+ </function>
<function name="PerformInteraction" messagetype="request">
<description>Request from SDL for triggering an interaction (e.g. "Permit GPS?" - Yes, no, Always Allow).</description>
<param name="initialText" type="Common.TextFieldStruct" mandatory="false">
@@ -4696,6 +5075,11 @@
<param name="appID" type="Integer" mandatory="true">
<description>ID of application that concerns this RPC.</description>
</param>
+ <param name="cancelID" type="Integer" mandatory="false">
+ <description>
+ An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC.
+ </description>
+ </param>
</function>
<function name="PerformInteraction" messagetype="response">
<param name="choiceID" type="Integer" minvalue="0" maxvalue="2000000000" mandatory="false">
@@ -4708,6 +5092,23 @@
</description>
</param>
</function>
+ <function name="CancelInteraction" messagetype="request">
+ <param name="cancelID" type="Integer" mandatory="false">
+ <description>
+ The ID of the specific interaction you want to dismiss. If not set, the most recent of the RPC type set in functionID will be dismissed.
+ </description>
+ </param>
+ <param name="functionID" type="Integer" mandatory="true">
+ <description>
+ The ID of the type of interaction the developer wants to dismiss. Only values 10, (PerformInteractionID), 12 (AlertID), 25 (ScrollableMessageID), and 26 (SliderID) are permitted.
+ </description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of application requested this RPC.</description>
+ </param>
+ </function>
+ <function name="CancelInteraction" messagetype="response">
+ </function>
<function name="SetMediaClockTimer" messagetype="request">
<description>Sets the initial media clock value and automatic update method.</description>
<param name="startTime" type="Common.TimeFormat" mandatory="false">
@@ -4755,6 +5156,9 @@
<param name="appID" type="Integer" mandatory="true">
<description>ID of application that concerns this RPC.</description>
</param>
+ <param name="menuLayout" type="Common.MenuLayout" mandatory="false">
+ <description>Sets the layout of the main menu screen. If this is sent while a menu is already on-screen, the head unit will change the display to the new layout type.</description>
+ </param>
</function>
<function name="SetGlobalProperties" messagetype="response">
</function>
@@ -4778,6 +5182,11 @@
<param name="appID" type="Integer" mandatory="false">
<description>ID of application that is related to this RPC.</description>
</param>
+ <param name="windowID" type="Integer" mandatory="false">
+ <description>
+ This is the unique ID assigned to the window that this RPC is intended. If this param is not included, it will be assumed that this request is specifically for the main window on the main display. See PredefinedWindows enum.
+ </description>
+ </param>
</function>
<function name="GetCapabilities" messagetype="request">
<description>Method is invoked at system startup by SDL to request information about UI capabilities of HMI.</description>
@@ -4786,7 +5195,17 @@
<param name="displayCapabilities" type="Common.DisplayCapabilities" mandatory="true">
<description>Information about the capabilities of the display: its type, text field supported, etc. See DisplayCapabilities. </description>
</param>
- <param name="audioPassThruCapabilities" type="Common.AudioPassThruCapabilities" mandatory="true"/>
+ <param name="audioPassThruCapabilities" type="Common.AudioPassThruCapabilities" mandatory="true">
+ <description>
+ Describes an audio configuration that the system supports for PerformAudioPassThru.
+ Note: please fill out both audioPassThruCapabilities and audioPassThruCapabilitiesList parameters, as:
+ - Newer SDL Core uses audioPassThruCapabilitiesList instead of audioPassThruCapabilities, and
+ - audioPassThruCapabilities is a mandatory field and cannot be omitted.
+ </description>
+ </param>
+ <param name="audioPassThruCapabilitiesList" type="Common.AudioPassThruCapabilities" minsize="1" maxsize="100" array="true" mandatory="false">
+ <description>Describes the audio configurations that the system supports for PerformAudioPassThru.</description>
+ </param>
<param name="hmiZoneCapabilities" type="Common.HmiZoneCapabilities" mandatory="true"/>
<param name="softButtonCapabilities" type="Common.SoftButtonCapabilities" minsize="1" maxsize="100" array="true" mandatory="false">
<description>Must be returned if the platform supports on-screen SoftButtons.</description>
@@ -4803,10 +5222,10 @@
<param name="appName" type="String" maxlength="100" mandatory="false">
<description>
Request new app name registration
- Needs to be unique over all applications.
+ Needs to be unique over all applications from the same device.
May not be empty. May not start with a new line character.
- May not interfere with any name or synonym of any registered applications.
- Applications with the same name will be rejected. (SDL makes all the checks)
+ May not interfere with any name or synonym of any registered applications from the same device.
+ Additional applications with the same name from the same device will be rejected.
</description>
</param>
<param name="ngnMediaScreenAppName" type="String" maxlength="100" mandatory="false">
@@ -4863,33 +5282,7 @@
</function>
<function name="SetAppIcon" messagetype="response">
</function>
- <function name="SetDisplayLayout" messagetype="request">
- <param name="displayLayout" type="String" maxlength="500" mandatory="true">
- <description>
- Predefined or dynamically created screen layout.
- Currently only predefined screen layouts are defined.
- </description>
- </param>
- <param name="appID" type="Integer" mandatory="true">
- <description>ID of application related to this RPC.</description>
- </param>
- <param name="dayColorScheme" type="Common.TemplateColorScheme" mandatory="false"></param>
- <param name="nightColorScheme" type="Common.TemplateColorScheme" mandatory="false"></param>
- </function>
- <function name="SetDisplayLayout" messagetype="response">
- <param name="displayCapabilities" type="Common.DisplayCapabilities" mandatory="false">
- <description>See DisplayCapabilities</description>
- </param>
- <param name="buttonCapabilities" type="Common.ButtonCapabilities" minsize="1" maxsize="100" array="true" mandatory="false">
- <description>See ButtonCapabilities</description >
- </param>
- <param name="softButtonCapabilities" type="Common.SoftButtonCapabilities" minsize="1" maxsize="100" array="true" mandatory="false">
- <description>If returned, the platform supports on-screen SoftButtons; see SoftButtonCapabilities.</description >
- </param>
- <param name="presetBankCapabilities" type="Common.PresetBankCapabilities" mandatory="false">
- <description>If returned, the platform supports custom on-screen Presets; see PresetBankCapabilities.</description >
- </param>
- </function>
+
<function name="ShowCustomForm" messagetype="request">
<description>Used to show a custom form; it can be a parent or child screen. If no parent screen is designated, it is set as a parent screen.</description>
<param name="customFormID" type="String" maxlength="500" mandatory="true">
@@ -4969,6 +5362,11 @@
<param name="appID" type="Integer" mandatory="true">
<description>ID of application that concerns this RPC.</description>
</param>
+ <param name="cancelID" type="Integer" mandatory="false">
+ <description>
+ An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC.
+ </description>
+ </param>
</function>
<function name="Slider" messagetype="response">
<param name="sliderPosition" type="Integer" minvalue="1" maxvalue="26" mandatory="false">
@@ -4990,6 +5388,11 @@
<param name="appID" type="Integer" mandatory="true">
<description>ID of application related to this RPC.</description>
</param>
+ <param name="cancelID" type="Integer" mandatory="false">
+ <description>
+ An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC.
+ </description>
+ </param>
</function>
<function name="ScrollableMessage" messagetype="response">
</function>
@@ -6326,7 +6729,10 @@
<interface name="AppService" version="1.0.0" date="2019-03-18">
<description>Interface used for interacting with app services as a producer or consumer</description>
<function name="PublishAppService" messagetype="request">
- <description>Registers a service offered by this app on the module</description>
+ <description>
+ Registers a service offered by this app on the module.
+ Subsequent calls with the same service type will update the manifest for that service.
+ </description>
<param name="appServiceManifest" type="Common.AppServiceManifest" mandatory="true">
<description> The manifest of the service that wishes to be published.</description>
@@ -6341,6 +6747,18 @@
</param>
</function>
+ <function name="UnpublishAppService" messagetype="request">
+ <description>Unpublish an existing service published by the HMI.</description>
+
+ <param name="serviceID" type="String" mandatory="true">
+ <description> The ID of the service to be unpublished. </description>
+ </param>
+ </function>
+
+ <function name="UnpublishAppService" messagetype="response">
+ <description>The response to UnpublishAppService</description>
+ </function>
+
<function name="OnAppServiceData" messagetype="notification">
<description>This notification includes the data that is updated from the specific service. HMI->SDL if the HMI is a producer, SDL->HMI if the HMI is a consumer</description>