Controller

  • Object: Generic Controller to handle Policy,Small Business Logic, Glue in between components, …
  • Status: Release Candidate
  • Author: Fulup Ar Foll fulup@iot.bzh
  • Date : May-2018

Features

  • Create a controller application from a JSON config file
  • Each control (eg: navigation, multimedia, …) is a suite of actions. When all actions succeed control is granted, if one fails control access is denied.
  • Actions can either be:
    • Invocation of an other binding API, either internal or external (eg: a policy service, Alsa UCM, …)
    • C routines from a user provided plugin (eg: policy routine, proprietary code, …)
    • Lua script function. Lua provides access to every AGL appfw functionality and can be extended by plugins written in C.

Installation

  • Controller can easily be included as a git submodule in any AGL service or application binder.
  • Dependencies: the only dependencies are AGL application framework (https://gerrit.automotivelinux.org/gerrit/p/src/app-framework-binder.git) and app-afb-helpers-submodule (https://gerrit.automotivelinux.org/gerrit/p/apps/app-afb-helpers-submodule.git).
  • Controller relies on Lua-5.3, when not needed Lua might be removed at compilation time.

Monitoring

  • The default test HTML page expect the monitoring HTML page to be accessible under /monitoring with the –monitoring option.
  • The monitoring HTML pages are installed with the app framework binder in a subdirectory called monitoring.
  • You can add other HTML pages with the alias options e.g. afb-daemon –port=1234 –monitoring –alias=/path1/to/htmlpages:/path2/to/htmlpages –ldpaths=. –workdir=. –roothttp=../htdocs
  • The monitoring is accessible at http://localhost:1234/monitoring.