Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Existing Packager API (RDK services github)Proposed Packager API (DAC RDK wiki)LISA API
install (package, version, architecture)install (id, type, URL, token, listener) → (id, task, success)install (type, id, version, URL, appName, category), → (status, handle)

remove (id, listener) → (id, task, success)uninstall (type, id, version, uninstallType), → (status, handle)


operationStatus→ (handle, status, details)

cancel (task, listener) → (success)cancel (handle) → (status)

isInstalled (id) → (success)-

getInstallProgress (task) → ( percent)getProgress (handle) → (status, percent)

getInstalled() → (applications)getList (filter) → (array of {type, id, version, metadata})

getPackageInfo(id) → (metadata)getMetadata(type, id, version) → (metadata)

-setMetadata(type, id, version, tag, metadata)

getAvaialbleSpace() → (space)getStorageDetails() → (path, quota, size, persistentStoragePath, persistentStorageQuota, persistentStorageSize)
synchronize()
-

Demo video

DEMO video of e2e DAC flow. You can see actions from LISA in log screen most below.

https://drive.google.com/file/d/11QXXM9WBg8Sw76Eikg5FyodrpIfoBnkL/view

Data Types

LISA is able to handle the following data:

  1. Application-specific:
    • Mandatory application metadata (type, id, version, source URL, name, category)
      • setting on installation request
      • getting
    • DAC bundles
      • downloading
      • deleting
    • Generic resources (files, e.g. icons)
      • downloading,
      • deleting
    • Auxiliary application metadata, dedicated API for:
      • setting
      • updating
      • getting
    • Persistent storage for application
      • creating
      • resetting
      • deleting
    • Storage/persistent storage usage checking
      • getting
  2. Global
    • Storage usage checking
      • getting

API

Formal definition

Sources

current git repo location : Actual Thunder interface definition/api in defined in dual COM RPC / JSON- RPC interface in https://github.com/stagingrdkm/LISA

TO DO : intention is to move over to github/rdkcentral/LISA in near future

Yocto recipe location : https://code.rdkcentral.com/r/plugins/gitiles/components/generic/rdk-oe/meta-cmf-video/+/refs/heads/rdk-next/recipes-extended/rdkservices/rdkservice-lisa.bb

License : Apachev2


API

Formal definition

Actual Thunder interface definition/api in defined in dual COM RPC / JSON- RPC interface in https://github.com/rdkcentral/ThunderInterfaces/blob/rdkcentral/ThunderInterfaces/blob/R2/interfaces/ILISA.h with annotations to automatically autogenerate the JSON RPC api at build time

Before implementation, at the design stage, the following API in json schema has been defined LISA API .

In later design phase additional lock/unlock api allowing external application manager to signal LISA that a specific app from LISA database is in active use by End user and hence should not be deleted/upgraded at this moment, see description in  LISA API Extension (Locking mechanism)#APISchema

Below is api overview with a description and expected behaviour in expected use cases.

...