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.
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 HMI
This 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: