This guide will explain how the BasicCommunication.OnServiceUpdate
RPC is used within SDL Core. At a high level, this RPC is used by SDL Core to inform the HMI of the status of the system or what steps to take in case of an error. For example, when a mobile navigation application is activated and sends a request to start a Video Service, a series of steps are taken: getting the system time, performing a policy table update, and finally decrypting and validating certificates. SDL Core sends BC.OnServiceUpdate
notifications to the HMI throughout each of these steps to provide information on the status of the system. These notifications may cause the HMI to display a popup providing this status information in a readable format to the user, or inform the user of what steps to take in case of an error.
The OnServiceUpdate
notification has three parameters:
This parameter is mandatory and will contain a value from the ServiceType
enum, indicating the type of service that this update is for:
This parameter is not mandatory and will be a value from the ServiceEvent
enum, indicating the status of the StartService request:
This parameter is not mandatory and will be a member of the ServiceStatusUpdateReason
enum, indicating the type of error that occurred while attempting to start the service:
SystemTime
from the HMIThis parameter is not mandatory but will be included with each request after the RegisterAppInterface
message for this application has been received.
More documentation on the message flow for BC.OnServiceUpdate
and its parameters can be found in the HMI Integration Guidelines.
To better understand how the OnServiceUpdate
notification is propagated within SDL Core, please take a look at the following Sequence Diagrams: