summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Dickow <jjdickow@gmail.com>2014-07-09 14:05:15 -0400
committerJustin Dickow <jjdickow@gmail.com>2014-07-09 14:05:15 -0400
commit405ee8379b614079cfbfe397a0352facb5a2801b (patch)
tree3159aa26103202df480179dc16539c50fa5a9d2b
parent6f56a209064ba9618066e866adcc21f2486ae277 (diff)
downloadsmartdevicelink-405ee8379b614079cfbfe397a0352facb5a2801b.tar.gz
interfaces
Signed-off-by: Justin Dickow <jjdickow@gmail.com>
-rw-r--r--src/components/interfaces/CMakeLists.txt15
-rw-r--r--src/components/interfaces/HMI_API.xml118
-rw-r--r--src/components/interfaces/QT_HMI_API.xml240
3 files changed, 289 insertions, 84 deletions
diff --git a/src/components/interfaces/CMakeLists.txt b/src/components/interfaces/CMakeLists.txt
index 02d8950e3..214f2b47f 100644
--- a/src/components/interfaces/CMakeLists.txt
+++ b/src/components/interfaces/CMakeLists.txt
@@ -6,11 +6,11 @@ include_directories (
GenerateInterface("v4_protocol_v1_2_no_extra.xml" "NsSmartDeviceLinkRPC::V1" "sdlrpcv1")
GenerateInterface("MOBILE_API.xml" "mobile_apis" "sdlrpcv2")
-IF (${WEB_HMI})
+IF (${HMI_JSON_API})
GenerateInterface("HMI_API.xml" "hmi_apis" "jsonrpc")
-ENDIF (${WEB_HMI})
+ENDIF (${HMI_JSON_API})
-IF (${QT_HMI})
+IF (${HMI_DBUS_API})
set(hpp_file
"${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API.h"
"${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API_schema.h"
@@ -46,12 +46,5 @@ IF (${QT_HMI})
COMMAND sed "-e" "s/QT_HMI_API/HMI_API/g" "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API_schema.cc" > "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.cc"
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/QT_HMI_API_schema.cc" "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.h" "${CMAKE_CURRENT_BINARY_DIR}/HMI_API.h")
add_library(HMI_API "${CMAKE_CURRENT_BINARY_DIR}/HMI_API_schema.cc")
-
-ENDIF (${QT_HMI})
-
-if( BUILD_SHARED_LIBS )
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/libHMI_API.so DESTINATION lib)
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/libMOBILE_API.so DESTINATION lib)
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/libv4_protocol_v1_2_no_extra.so DESTINATION lib)
-endif()
+ENDIF (${HMI_DBUS_API})
diff --git a/src/components/interfaces/HMI_API.xml b/src/components/interfaces/HMI_API.xml
index 8ebea5263..cf049616b 100644
--- a/src/components/interfaces/HMI_API.xml
+++ b/src/components/interfaces/HMI_API.xml
@@ -1060,6 +1060,15 @@
<!-- End of IVI part-->
+<enum name="AppPriority">
+ <element name="EMERGENCY"/>
+ <element name="NAVIGATION"/>
+ <element name="VOICE_COMMUNICATION"/>
+ <element name="COMMUNICATION"/>
+ <element name="NORMAL"/>
+ <element name="NONE"/>
+</enum>
+
<!-- Policies -->
<enum name="UpdateResult">
<element name="UP_TO_DATE"/>
@@ -1872,6 +1881,9 @@
<param name="appID" type="Integer" mandatory="true">
<description>ID of deactivated application.</description>
</param>
+ <param name="priority" type="Common.AppPriority" mandatory="false">
+ <description>Send to HMI so that it can coordinate order of requests/notifications correspondingly.</description>
+ </param>
</function>
<function name="ActivateApp" messagetype="response">
</function>
@@ -1912,6 +1924,9 @@
<param name="resume" type="Boolean" mandatory="false">
<description>The information about resumption application. </description>
</param>
+ <param name="priority" type="Common.AppPriority" mandatory="false">
+ <description>Send to HMI so that it can coordinate order of requests/notifications correspondingly.</description>
+ </param>
</function>
<function name="OnAppUnregistered" messagetype="notification">
<description>Issued by SDL to notify HMI about application unregistered. Application then to be removed from application list; all data connected with application has to be cleared up.</description>
@@ -1945,6 +1960,7 @@
</function>
<!-- Policies -->
+ <!-- SyncP RPC-->
<function name="OnSystemRequest" messagetype="notification" >
<description>
An asynchronous request from the system for specific data from the device or the cloud or response to a request from the device or cloud
@@ -1974,6 +1990,45 @@
<description>ID of application that requested this RPC.</description>
</param>
</function>
+ <function name="SystemRequest" messagetype="request">
+ <description>An asynchronous request from the device; binary data can be included in hybrid part of message for some requests (such as Authentication requests)</description>
+ <param name="requestType" type="Common.RequestType" mandatory="true">
+ <description>The type of system request.</description>
+ </param>
+ <param name="fileName" type="String" maxlength="255" minlength="1" mandatory="true">
+ <description>The path to file.</description>
+ </param>
+ <param name="appID" type="String" maxlength="50" minlength="1" mandatory="false">
+ <description>ID of application that requested this RPC.</description>
+ </param>
+ </function>
+ <function name="SystemRequest" messagetype="response">
+ </function>
+ <function name="PolicyUpdate" messagetype="request">
+ <description>
+ From: SDL
+ To: SYNCP Manager
+ Asks SYNCP Manager to send given Policy Table snapshot to the backend
+ </description>
+ <param name="file" type="String" minlength="1" maxlength="255" mandatory="true">
+ <description>
+ Location of policy table snapshot
+ </description>
+ </param>
+ <param name="timeout" type="Integer" minvalue="0" maxvalue="65535" mandatory="true">
+ <description>
+ Send attempt timeout in seconds
+ </description>
+ </param>
+ <param name="retry" type="Integer" minvalue="0" maxvalue="65535" array="true" minsize="1" maxsize="5" mandatory="true">
+ <description>
+ Array of delays to wait after failed atempts
+ </description>
+ </param>
+ </function>
+ <function name="PolicyUpdate" messagetype="response">
+ </function>
+ <!-- End of SyncP RPC-->
<function name="OnSDLClose" messagetype="notification">
<description>SDL must notify HMI about finish working application</description>
@@ -1991,6 +2046,12 @@
<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="FileName" type="String" maxlength="255" mandatory="true">
<description>File reference name.</description>
</param>
@@ -2014,20 +2075,6 @@
</param>
</function>
- <function name="SystemRequest" messagetype="request">
- <description>An asynchronous request from the device; binary data can be included in hybrid part of message for some requests (such as Authentication requests)</description>
- <param name="requestType" type="Common.RequestType" mandatory="true">
- <description>The type of system request.</description>
- </param>
- <param name="fileName" type="String" maxlength="255" minlength="1" mandatory="true">
- <description>The path to file.</description>
- </param>
- <param name="appID" type="String" maxlength="50" minlength="1" mandatory="false">
- <description>ID of application that requested this RPC.</description>
- </param>
- </function>
- <function name="SystemRequest" messagetype="response">
- </function>
<!-- Policies -->
<function name="GetSystemInfo" messagetype="request">
<description>Request from SDL to HMI to obtain information about head unit system.</description>
@@ -2575,7 +2622,6 @@
</function>
<function name="SetAppIcon" messagetype="response">
</function>
-
<function name="SetDisplayLayout" messagetype="request">
<param name="displayLayout" type="String" maxlength="500" mandatory="true">
<description>
@@ -2587,7 +2633,6 @@
<description>ID of application related to this RPC.</description>
</param>
</function>
-
<function name="SetDisplayLayout" messagetype="response">
<param name="displayCapabilities" type="Common.DisplayCapabilities" mandatory="false">
<description>See DisplayCapabilities</description>
@@ -3527,6 +3572,9 @@
<description>If app permissions were reduced (isAppPermissionsRevoked == true), then this array specifies list of removed permissions. </description>
</param>
<param name="isAppRevoked" type="Boolean" mandatory="true"/>
+ <param name="priority" type="Common.AppPriority" mandatory="false">
+ <description>Send to HMI so that it can coordinate order of requests/notifications correspondingly.</description>
+ </param>
</function>
<function name="GetUserFriendlyMessage" messagetype="request" scope="internal">
@@ -3555,24 +3603,26 @@
<param name="source" type="Common.ConsentSource" mandatory="true"/>
</function>
- <function name="OnReceivedPolicyUpdate" messagetype="notificatoin">
+ <!-- SyncP RPC-->
+ <function name="OnReceivedPolicyUpdate" messagetype="notification">
<description>
From: SYNCP Manager
To: SDL
Notification sent to SDL when SYNCP Manager receives and decrypts updated policy table
- </descrtiption>
+ </description>
<param name="policyfile" type="String" minlength="1" maxlength="255" mandatory="true">
<description>Location of decrypted policy table Json file on target</description>
</param>
</function>
- <function name="OnPolicyUpdate" messagetype="notificatoin">
+ <function name="OnPolicyUpdate" messagetype="notification">
<description>
From: SYNCP Manager
To: SDL
Notifies SDL to supply a new "PolicyUpdate" request with more recent snapshot data
- </descrtiption>
+ </description>
</function>
+ <!-- End of SyncP RPC-->
<function name="GetListOfPermissions" messagetype="request">
<description>Request from HMI to SDL to get list of permissions for app. If no app specified - list of permissions for all apps.</description>
@@ -3610,6 +3660,9 @@
<param name="appUnauthorized" type="Boolean" mandatory="false">
<description>When present and set to true (should be if present) then this means that application was not authorized (nickname check failed.)</description>
</param>
+ <param name="priority" type="Common.AppPriority" mandatory="false">
+ <description>Send to HMI so that it can coordinate order of requests/notifications correspondingly.</description>
+ </param>
</function>
<function name="OnSDLConsentNeeded" messagetype="notification">
@@ -3617,29 +3670,6 @@
<param name="device" type="Common.DeviceInfo" mandatory="true"/>
</function>
- <function name="PolicyUpdate" massagetype="request">
- <description>
- From: SDL
- To: SYNCP Manager
- Asks SYNCP Manager to send given Policy Table snapshot to the backend
- </description>
- <param name="file" type="String" minlength="1" maxlength="255" mandatory="true">
- <description>
- Location of policy table snapshot
- </description>
- </param>
- <param name="timeout" type="Integer" minvalue="0" maxvalue="65535" mandatory="true">
- <description>
- Send attempt timeout in seconds
- </description>
- </param>
- <param name="retry" type="Integer" minvalue="0" maxvalue="65535" array="true" minsize="1" maxsize="5" mandatory="true">
- <description>
- Array of delays to wait after failed atempts
- </description>
- </param>
- </function>
-
<function name="UpdateSDL" messagetype="request">
<description>Request from HMI to SDL to start update of Policy Table.</description>
</function>
@@ -3673,7 +3703,7 @@
<param name="service" type="Integer" minvalue="0" maxvalue="100" mandatory="true"/>
</function>
<function name="GetURLS" messagetype="response" scope="internal">
- <param name="urls" type="Common.ServiceInfo" array="true" mandatory="false" minsize="1" maxsize="100" maxlength="500"/>
+ <param name="urls" type="Common.ServiceInfo" array="true" mandatory="false" minsize="1" maxsize="100"/>
</function>
</interface>
</interfaces>
diff --git a/src/components/interfaces/QT_HMI_API.xml b/src/components/interfaces/QT_HMI_API.xml
index e651b994a..18a471c01 100644
--- a/src/components/interfaces/QT_HMI_API.xml
+++ b/src/components/interfaces/QT_HMI_API.xml
@@ -946,10 +946,10 @@
<enum name="RequestType">
<description>Enumeration listing possible asynchronous requests.</description>
- <element name="HTTP" />
+ <element name="HTTP" />
<element name="FILE_RESUME" />
- <element name="AUTH_REQUEST" />
- <element name="AUTH_CHALLENGE" />
+ <element name="AUTH_REQUEST" />
+ <element name="AUTH_CHALLENGE" />
<element name="AUTH_ACK" />
<element name="PROPRIETARY" />
</enum>
@@ -1060,6 +1060,51 @@
<!-- End of IVI part-->
+<!-- Policies -->
+<enum name="UpdateResult">
+ <element name="UP_TO_DATE"/>
+ <element name="UPDATING" />
+ <element name="UPDATE_NEEDED"/>
+ </enum>
+ <enum name="SystemError">
+ <element name="SYNC_REBOOTED"/>
+ <element name="SYNC_OUT_OF_MEMMORY" />
+ </enum>
+ <enum name="StatisticsType">
+ <element name="iAPP_BUFFER_FULL"/>
+ </enum>
+ <enum name="ConsentSource">
+ <element name="GUI"/>
+ <element name="VUI" />
+ </enum>
+ <struct name="UserFriendlyMessage" scope="internal">
+ <param name="ttsString" type="String" mandatory="false"/>
+ <param name="label" type="String" mandatory="false" />
+ <param name="line1" type="String" mandatory="false"/>
+ <param name="line2" type="String" mandatory="false"/>
+ <param name="textBody" type="String" mandatory="false"/>
+ </struct>
+ <struct name="PermissionItem">
+ <param name="name" type="String" mandatory="true">
+ <description>Code of message of user-friendly text about functional group to be allowed/disallowed</description>
+ </param>
+ <param name="id" type="Integer" mandatory="true">
+ <description>Id of corresponding functional group, needed by SDL.</description>
+ </param>
+ <param name="allowed" type="Boolean" mandatory="false">
+ <description>Specifies whether functionality was allowed/disallowed. If ommited - no information about User Consent is yet found for app.</description>
+ </param>
+ </struct>
+ <struct name="ServiceInfo">
+ <param name="servicyType" type="String" mandatory="true">
+ <description>Get URL based on service type.</description>
+ </param>
+ <param name="policyAppId" type="String" mandatory="false">
+ <description>Used if URL needed are specific for application.</description>
+ </param>
+ </struct>
+<!-- End of Policies -->
+
<struct name="ButtonCapabilities">
<description>Contains the information about capabilities of a button.</description>
<param name="name" type="Common.ButtonName" mandatory="true">
@@ -1382,7 +1427,7 @@
Desired keypress mode.
If omitted, this value will be set to RESEND_CURRENT_ENTRY.
</description>
- </param>
+ </param>
<param name="limitedCharacterList" type="String" maxlength="1" minsize="1" maxsize="100" array="true" mandatory="false">
<description>Array of keyboard characters to enable.</description>
<description>All omitted characters will be greyed out (disabled) on the keyboard.</description>
@@ -1899,28 +1944,6 @@
<description>Sent by SDL to HMI to notify that the tone should be played.</description>
</function>
<!-- Policies -->
- <function name="AllowAllApps" messagetype="request">
- <description>Initiated by SDL. Results by user/HMI allowing SDL functionality or disallowing access to all mobile apps.</description>
- </function>
- <function name="AllowAllApps" messagetype="response">
- <param name="allowed" type="Boolean" mandatory="true">
- <description>Must be true if allowed</description>
- </param>
- </function>
- <function name="AllowApp" messagetype="request">
- <description>Initiated by SDL for requesting the allowance for the application</description>
- <param name="app" type="Common.HMIApplication" mandatory="true">
- <description>Information about the application. See HMIApplication. </description>
- </param>
- <param name="appPermissions" type="String" array="true" minsize="1" maxsize="100" mandatory="false">
- <description>List of permissions required by application.</description>
- </param>
- </function>
- <function name="AllowApp" messagetype="response">
- <param name="allowed" type="Boolean" mandatory="true">
- <description>Must be true if allowed</description>
- </param>
- </function>
<function name="OnSystemRequest" messagetype="notification" >
<description>
@@ -1947,7 +1970,13 @@
<param name="fileName" type="String" maxlength="255" mandatory="true">
<description>File reference name.</description>
</param>
- <param name="appID" type="String" maxlength="50" minsize="1" mandatory="true">
+ <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="appID" type="String" maxlength="50" mandatory="true">
<description>ID of application that requested this RPC.</description>
</param>
</function>
@@ -1968,6 +1997,12 @@
<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="FileName" type="String" maxlength="255" mandatory="true">
<description>File reference name.</description>
</param>
@@ -2001,10 +2036,33 @@
</param>
<param name="appID" type="Integer" mandatory="false">
<description>ID of application that requested this RPC.</description>
- </param>
+ </param>
+ </function>
+ <function name="SystemRequest" messagetype="response">
+ </function>
+<!-- Policies -->
+ <function name="GetSystemInfo" messagetype="request">
+ <description>Request from SDL to HMI to obtain information about head unit system.</description>
</function>
- <function name="SystemRequest" messagetype="response">
+ <function name="GetSystemInfo" messagetype="response">
+ <param name="ccpu_version" type="String" maxlength="500" mandatory="true">
+ <description>Software version of the module</description>
+ </param>
+ <param name="language" type="Common.Language" mandatory="true">
+ <description>ISO 639-1 combined with ISO 3166 alpha-2 country code (i.e. en-us)</description>
+ </param>
+ <param name="wersCountryCode" type="String" maxlength="500" mandatory="true">
+ <description>Country code from the Ford system WERS (i.e.WAEGB).</description>
+ </param>
+ </function>
+ <function name="OnSystemInfoChanged" messagetype="notification">
+ <description>Issued by system to SDL to notify that some system param has changed. Currently applied for Sync Language.</description>
+ <param name="language" type="Common.Language" mandatory="true"/>
+ </function>
+ <function name="OnIgnitionCycleOver" messagetype="notification">
+ <description>Notification from system to SDL to let it know that ignition cycle is over.</description>
</function>
+ <!-- End of Policies -->
</interface>
<interface name="VR" version="1.0" date="2013-04-17">
@@ -3861,6 +3919,130 @@
</param>
</function>
<!--end Qt HMI version of SubscribeVehicleData/UnsubscribeVehicleData-->
+</interface>
+ <!-- Policies -->
+<interface name="SDL" version="1.0" date="2014-03-12">
+<function name="ActivateApp" messagetype="request">
+ <param name="appID" type="Integer" mandatory="true">
+ </param>
+ </function>
+ <function name="ActivateApp" messagetype="response">
+ <param name="isSDLAllowed" type="Boolean" mandatory="true" scope="internal"/>
+ <param name="device" type="Common.DeviceInfo" mandatory="false" scope="internal">
+ <description>If isSDLAllowed is false, consent for sending PT through specified device is required.</description>
+ </param>
+ <param name="isPermissionsConsentNeeded" type="Boolean" mandatory="true"/>
+ <param name="isAppPermissionsRevoked" type="Boolean" mandatory="true"/>
+ <param name="appRevokedPermissions" type="Common.PermissionItem" array="true" minsize="1" maxsize="100" mandatory="false">
+ <description>If app permissions were reduced (isAppPermissionsRevoked == true), then this array specifies list of removed permissions. </description>
+ </param>
+ <param name="isAppRevoked" type="Boolean" mandatory="true"/>
+ </function>
+
+ <function name="GetUserFriendlyMessage" messagetype="request" scope="internal">
+ <description>Request from HMI to SDL to get user friendly messages for UI/TTS info boxes/texts (i.e. for help/dialogs etc) from Policy Table.</description>
+ <param name="messageCodes" type="String" array="true" minsize="1" maxsize="100" maxlength="500" mandatory="true">
+ <description>Id of message to be received according to Policy Table i.e. StatusNeeded, Notifications, DrivingCharacteristics etc.</description>
+ </param>
+ <param name="language" type="Common.Language" mandatory="false">
+ <description>Optional parameter if HMI wants message in some other language then its current one already known to SDL.</description>
+ </param>
+ </function>
+ <function name="GetUserFriendlyMessage" messagetype="response">
+ <param name="messages" type="Common.UserFriendlyMessage" array="true" minsize="1" maxsize="100" mandatory="false">
+ <description>If no message was found in PT for specified message code and for HMI current or specified language, this parameter will be omitted.</description>
+ </param>
+ </function>
+
+ <function name="OnAllowSDLFunctionality" messagetype="notification">
+ <description>Initiated by HMI. Notifies about user/HMI allowing SDL functionality or disallowing access to all mobile apps. Needed if HMI has additional ways of asking user about this (i.e. Settings etc)</description>
+ <param name="device" type="Common.DeviceInfo" mandatory="false">
+ <description>If no device is specified permission counts for SDL functionality in general.</description>
+ </param>
+ <param name="allowed" type="Boolean" mandatory="true">
+ <description>Must be true if allowed</description>
+ </param>
+ <param name="source" type="Common.ConsentSource" mandatory="true"/>
+ </function>
+
+ <function name="GetListOfPermissions" messagetype="request">
+ <description>Request from HMI to SDL to get list of permissions for app. If no app specified - list of permissions for all apps.</description>
+ <param name="appID" type="Integer" mandatory="false"/>
+ </function>
+ <function name="GetListOfPermissions" messagetype="response">
+ <param name="allowedFunctions" type="Common.PermissionItem" mandatory="true" array="true" minsize="0" maxsize="100">
+ <description>If no permissions were specified for application the array will come empty.</description>
+ </param>
+ </function>
+
+ <function name="OnAppPermissionConsent" messagetype="notification">
+ <description>Initiated by HMI for specifying the allowance for the application to perform some functionality. Duplicates functionality of the request, needed if HMI has specific ways to allow/disallow functionality (i.e.Setting Menu)</description>
+ <param name="appID" type="Integer" mandatory="false">
+ <description>Information about the application. See HMIApplication. If omitted - allow/disallow all applications </description>
+ </param>
+ <param name="consentedFunctions" type="Common.PermissionItem" mandatory="true" array="true" minsize="1" maxsize="100">
+ </param>
+ <param name="source" type="Common.ConsentSource" mandatory="true"/>
+ </function>
+
+ <function name="OnAppPermissionChanged" messagetype="notification">
+ <description>Notification from SDL to HMI. Occurs when app permissions were reduced. If no permission specified means that app was dissallowed and has to be unregitstered.</description>
+ <param name="appID" type="Integer" mandatory="true"/>
+ <param name="isAppPermissionsRevoked" type="Boolean" mandatory="false"/>
+ <param name="appRevokedPermissions" type="Common.PermissionItem" array="true" minsize="1" maxsize="100" mandatory="false">
+ <description>If app permissions were reduced (isAppPermissionsRevoked == true), then this array specifies list of removed permissions. </description>
+ </param>
+ <param name="appRevoked" type="Boolean" mandatory="false">
+ <description>If present then specified application was prohibited to used with Sync.</description>
+ </param>
+ <param name="appPermissionsConsentNeeded" type="Boolean" mandatory="false">
+ <description>If present specifies that permissions were added to application that require User Consent, then HMI can send GetListOfPermissions request to obtain list of permissions.</description>
+ </param>
+ <param name="appUnauthorized" type="Boolean" mandatory="false">
+ <description>When present and set to true (should be if present) then this means that application was not authorized (nickname check failed.)</description>
+ </param>
+ </function>
+
+ <function name="OnSDLConsentNeeded" messagetype="notification">
+ <description>Send from SDL to HMI to notify that data consent is needed for device either because PT update or Retry strategy.</description>
+ <param name="device" type="Common.DeviceInfo" mandatory="true"/>
+ </function>
+
+ <function name="UpdateSDL" messagetype="request">
+ <description>Request from HMI to SDL to start update of Policy Table.</description>
+ </function>
+ <function name="UpdateSDL" messagetype="response">
+ <description>Specify result: no update needed, update was successful/unsuccessful etc</description>
+ <param name="result" type="Common.UpdateResult" mandatory="true"/>
+ </function>
+
+ <function name="GetStatusUpdate" messagetype="request">
+ <description>Request from HMI to SDL to find out current status of PT exchange process.</description>
+ </function>
+ <function name="GetStatusUpdate" messagetype="response">
+ <param name="status" type="Common.UpdateResult" mandatory="true"/>
+ </function>
+ <function name="OnStatusUpdate" messagetype="notification">
+ <description>Notification from SDL to HMI when current status of PT exchange changed (i.e. it Succeded or Failed etc)</description>
+ <param name="status" type="Common.UpdateResult" mandatory="true" />
+ </function>
+
+ <function name="OnSystemError" messagetype="notification">
+ <param name="error" type="Common.SystemError" mandatory="true"/>
+ </function>
+
+ <function name="AddStatisticsInfo" messagetype="notification">
+ <description>Sent by system to record statiscs and error counts. Increases statistics specified by statisticType by one.</description>
+ <param name="statisticType" type="Common.StatisticsType" mandatory="true"/>
+ </function>
+
+ <function name="GetURLS" messagetype="request" scope="internal">
+ <description>Sent by system to SDL to get list of URL for specified service type and optionally policy's application id.</description>
+ <param name="service" type="Common.ServiceInfo" mandatory="true"/>
+ </function>
+ <function name="GetURLS" messagetype="response" scope="internal">
+ <param name="urls" type="String" array="true" mandatory="false" minsize="1" maxsize="100" maxlength="500"/>
+ </function>
</interface>
</interfaces>