In case SDL is built with "-DEXTENDED_POLICY=HTTP" flag, SDL supports PolicyTableUpdate flow without HMI-related logic.
BC.PolicyUpdate
represents SDL-generated request to start the PTU sequence.
In case SDL is built with "-DEXTENDED_POLICY=PROPRIETARY" or "-DEXTENDED_POLICY=EXTERNAL_PROPRIETARY" flag and PolicyTableUpdate is required, SDL internally creates PT snapshot and sends BC.PolicyUpdate(path_to_PTS) to HMI to start PTU sequence.
Proprietary Policies:
file
parameter) in case and by the scheme required by Policies ServerSDL.GetPolicyConfigurationData
from SDLurl
received from json based on serviceID
file
parameter in the next BC.OnSystemRequest
that SDL will forward to mobile applicationSDL.OnStatusUpdate
from SDL and display them in the appropriate UI menuBC.PolicyUpdate
dependencies:BC.PolicyUpdate
or responds with error, PTU sequence will not be continued.BC.PolicyUpdate (SUCCESS)
response from HMI, SDL PoliciesManager must change the status to "UPDATING" and notify HMI with OnStatusUpdate("UPDATING").BC.PolicyUpdate
(whichever comes first):"exchange_after_x_days"
value in local PolicyTable (PT)"exchange_after_x_kilometers"
value in local PT)"exchange_after_x_ignition_cycles"
value in local PT)file
- is the path to the Snapshot of local PolicyTable (Snapshot PT final destination is Policies Server)timeout
- value taken from "timeout_after_x_seconds"
field of local PTretry
- array of values from "seconds_between_retries"
field of local PT. SDL handles the PTU retry sequence (re-requesting update if fails to receive during timeout) by itself.Name | Type | Mandatory | Additional | Description |
---|---|---|---|---|
file | String | true | minlength: 1 maxlength: 255 |
Location of policy table snapshot. It’s defined in smartDeviceLink.ini as “PathToSnapshot” parameter |
timeout | Integer | true | minvalue: 0 maxvalue: 65535 |
Send attempt timeout in seconds, it’s a value from the Policy Table. |
retry | Integer | true | array: true minsize: 1 maxsize: 5 minvalue: 0 maxvalue: 65535 |
Array of delays to wait after failed attempts, it’s a value from the Policy Table |
Respond with SUCCESS
resultCode to continue the PTU flow.
This RPC has no additional parameter requirements
{ "id": 103, "jsonrpc": "2.0", "method": "BasicCommunication.PolicyUpdate", "params": { "file": " / tmp / fs / mp / SnapshotPT.json ", "timeout": 60, "retry": [1, 5, 25, 125, 625] } }
{ "id": 103, "jsonrpc": "2.0", "result": { "code": 0, "method": "BasicCommunication.PolicyUpdate" } }
{ "id": 103, "jsonrpc": "2.0", "error": { "code": 11, "message": "Snapshot PT file not found", "data": { "method": "BasicCommunication.PolicyUpdate" } } }