RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
LISA API should be extended with three additional methods: lock, unlock, getLockInfo. Those methods are used by entity which manages application state (AWC) to block any operations (uninstall) on application during it's active state (started, suspended). Lock is performed with id, version of the application, lock owner and lock reason, we are only blocking specific version of application.
...
When LISA's client (DAC Manager, UI) will request to uninstall application which is currently used (locked) by AWC following error will be returned:
Code Block | ||
---|---|---|
| ||
{ "code": 1009, "message": "ERROR_APP_ACTIVE" } |
...
If AWC will try to activate (lock) application during ongoing uninstallation procedure, following error will be returned
Code Block | ||
---|---|---|
| ||
{ "code": 1010, "message": "ERROR_APP_UNINSTALLING" } |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "$schema": "interface.schema.json", "jsonrpc": "2.0", "info": { "title": "Lisa API", "class": "Lisa", "description": "Lisa JSON-RPC interface", "version": "0.0.2" }, "common": { "$ref": "common.json" }, "methods": { "lock": { "summary": "Lock application", "description": "Lock and take control over application state until unlock is called", "params": { "type": "object", "properties": { "type": { "description": "Application type (mime-type)", "type": "string", "example": "application/vnd.rdk-app.dac.native" }, "id": { "description": "id of the application, assumed reverse domain name notation, the id should match the [ASMS application id](https://wikiprojects.upc.biz/display/SPARK/ASMS+API+specification)", "type": "string", "example": "com.libertyglobal.app.awesome" }, "version": { "description": "version of the application", "type": "string", "example": "1.0.0" }, "owner": { "description": "Owner of the lock", "type": "string", "example": "awc" }, "reason": { "description": "Reason for the lock", "type": "string", "example": "active" } }, "required": [ "type", "id", "version" ] }, "result": { "type": "object", "properties": { "handle": { "type": "string", "example": "a76a9ad56769634dbbc9c54bac15ddb9" } }, "required": [ "handle" ] }, "errors": [ { "description": "WrongParams", "code": 1001, "message": "Request not accepted because of wrong parameters" }, { "description": "Initializing", "code": 1004, "message": " LISA is performing initialization, wait for operationStatus event" }, { "code": 1009, "message": "ERROR_APP_ACTIVE" }, { "code": 1010, "message": "ERROR_APP_UNINSTALLING" } ] }, "unlock": { "summary": "Unlock application", "description": "Unlock application and make it available to be used by other components", "params": { "type": "object", "properties": { "handle": { "type": "string", "example": "a76a9ad56769634dbbc9c54bac15ddb9" } }, "required": [ "handle" ] }, "result": { "type": "object", "properties": {} }, "errors": [ { "description": "WrongParams", "code": 1001, "message": "Request not accepted because of wrong parameters" }, { "description": "Initializing", "code": 1004, "message": " LISA is performing initialization, wait for operationStatus event" }, { "description": "WrongHandle", "code": 1007, "message": "The handle is not correct, e.g. the operation has finished." } ] }, "getLockInfo": { "summary": "Get lock details", "description": "Returns info about lock owner and lock reason", "params": { "type": "object", "properties": { "type": { "description": "Application type (mime-type)", "type": "string", "example": "application/vnd.rdk-app.dac.native" }, "id": { "description": "id of the application, assumed reverse domain name notation, the id should match the [ASMS application id](https://wikiprojects.upc.biz/display/SPARK/ASMS+API+specification)", "type": "string", "example": "com.libertyglobal.app.awesome" }, "version": { "description": "version of the application", "type": "string", "example": "1.0.0" } }, "required": [ "type", "id", "version" ] }, "result": { "type": "object", "properties": { "owner": { "description": "Owner of the lock", "type": "string", "example": "awc" }, "reason": { "description": "Reason for the lock", "type": "string", "example": "active" } } }, "errors": [ { "description": "WrongParams", "code": 1001, "message": "Request not accepted because of wrong parameters" }, { "description": "Initializing", "code": 1004, "message": " LISA is performing initialization, wait for operationStatus event" }, { "description": "WrongHandle", "code": 1007, "message": "The handle is not correct, e.g. the operation has finished." } ] } }, "events": { "operationStatus": { "summary": "Completion of asynchronous operation.", "description": "Notification sent on the completion of asynchronous operation.", "params": { "type": "object", "properties": { "handle": { "type": "string", "example": "4c4712a4141d261ec0ca8f9037950685" }, "operation": { "description": "Operation producing the event (Installing, Uninstalling)", "type": "string", "example": "Installing" }, "type": { "description": "Application type (mime-type)", "type": "string", "example": "application/vnd.rdk-app.dac.native" }, "id": { "description": "id of the application, assumed reverse domain name notation, the id should match the [ASMS application id](https://wikiprojects.upc.biz/display/SPARK/ASMS+API+specification)", "type": "string", "example": "com.libertyglobal.app.awesome" }, "version": { "description": "version of the application", "type": "string", "example": "1.0.0" }, "status": { "description": "Status of the operation (Success, Failed, Progress, Cancelled)", "type": "string", "example": "Success" }, "details": { "type": "string", "example": "Downloaded 2342 KB, unpacked 3233 KB" } }, "required": [ "handle", "operation", "type", "id", "version", "status" ] } } } } |
...