X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=doc%2Fafm-system-daemon.html;h=199bf3802eab782f4364ae8199fd82dd33816234;hb=refs%2Fheads%2Fblowfish;hp=00cf81ab9130fb792e28cf6a44bdd2b3fdf8e71b;hpb=f45bd5fbf8d1fe440b1855d93b387755d63ac8f0;p=src%2Fapp-framework-main.git diff --git a/doc/afm-system-daemon.html b/doc/afm-system-daemon.html index 00cf81a..199bf38 100644 --- a/doc/afm-system-daemon.html +++ b/doc/afm-system-daemon.html @@ -1,66 +1,49 @@ +
- - + + + + + +version: 1
-Date: 29 mai 2016
-Author: José Bollo
-
-
-This document describes what we intend to do. It may happen that our -current implementation and the content of this document differ.
- -In case of differences, it is assumed that this document is right -and the implementation is wrong.
- - -The daemon afm-system-daemon is in charge of installing -applications on the system. Its main tasks are:
- +This document describes application framework system daemon fundamentals. FCF (Fully Conform to Specification) implementation is still under development. It may happen that current implementation somehow diverges with specifications.
+The daemon afm-system-daemon is in charge of installing applications on AGL system. Its main tasks are:
+installs applications and setup security framework for newly installed application.
uninstall applications
The afm-system-daemon takes its orders from system instance of D-Bus.
+The figure below summarizes the situation of afm-system-daemon in the system.
+------------------------------------------------------------+
| User |
| |
@@ -82,171 +65,89 @@ instance of D-Bus.
| +--------------------+ +-----------------------+ |
| |
| System |
-+------------------------------------------------------------+
-
-
-
-afm-system-daemon is launched as a systemd service -attached to system. Normally, the service file is -located at /lib/systemd/system/afm-system-daemon.service.
- ++------------------------------------------------------------+ +afm-system-daemon is launched as a systemd service attached to system. Normally, the service file is located at /lib/systemd/system/afm-system-daemon.service.
The options for launching afm-system-daemon are:
--r
--root directory
- Set the root application directory.
+ Set the root application directory.
- Note that the default root directory is defined
- to be /usr/share/afm/applications (may change).
+ Note that the default root directory is defined
+ to be /usr/share/afm/applications (may change).
-d
--daemon
- Daemonizes the process. It is not needed by sytemd.
+ Daemonizes the process. It is not needed by sytemd.
-q
--quiet
- Reduces the verbosity (can be repeated).
+ Reduces the verbosity (can be repeated).
-v
--verbose
- Increases the verbosity (can be repeated).
+ Increases the verbosity (can be repeated).
-h
--help
- Prints a short help.
-
-
-
-afm-system-daemon takes its orders from the session instance -of D-Bus. The use of D-Bus is great because it allows to implement -discovery and signaling.
- -The afm-system-daemon is listening with the destination name -org.AGL.afm.system at the object of path /org/AGL/afm/system -on the interface org.AGL.afm.system for the below detailed -members install and uninstall.
- -D-Bus is mainly used for signaling and discovery. Its optimized -typed protocol is not used except for transmitting only one string -in both directions.
- -The client and the service are using JSON serialisation to -exchange data.
- + Prints a short help. +afm-system-daemon takes its orders from the session instance of D-Bus. The use of D-Bus is great because it allows to implement discovery and signaling.
+The afm-system-daemon is listening with the destination name org.AGL.afm.system at the object of path /org/AGL/afm/system on the interface org.AGL.afm.system for the below detailed members install and uninstall.
+D-Bus is mainly used for signaling and discovery. Its optimized typed protocol is not used except for transmitting only one string in both directions.
+The client and the service are using JSON serialization to exchange data.
The D-Bus interface is defined by:
-DESTINATION: org.AGL.afm.system
PATH: /org/AGL/afm/system
INTERFACE: org.AGL.afm.system
The signature of any member of the interface is string -> string -for JSON -> JSON.
- -This is the normal case. In case of error, the current implmentation -returns a dbus error that is a string.
- -Here is an example that use dbus-send to query data on -installed applications.
- +The signature of any member of the interface is string -> string for JSON -> JSON.
+This is the normal case. In case of error, the current implementation returns a dbus error that is a string.
+Here is an example using dbus-send to query data on installed applications.
dbus-send --session --print-reply \
---dest=org.AGL.afm.system \
-/org/AGL/afm/system \
-org.AGL.afm.system.install 'string:"/tmp/appli.wgt"'
-
-
-
-Description: Install an application from its widget file.
- -If an application of the same id and version exists, it is not -reinstalled except if force=true.
- -Applications are installed in the subdirectories of the common directory -of applications. -If root is specified, the application is installed under the -sub-directories of the root defined.
- -Note that this methods is a simple accessor to the method -org.AGL.afm.system.install of afm-system-daemon.
- -After the installation and before returning to the sender, -afm-system-daemon sends the signal org.AGL.afm.system.changed.
- -Input: The path of the widget file to install and, optionaly, -a flag to force reinstallation, and, optionaly, a root directory.
- +Description: Install an application from a widget file.
+When an application with the same id and version already exists. Outside of using force=true the application is not reinstalled.
+Applications are installed the subdirectories of applications common directory. If root is specified, the application is installed under the sub-directories of the root defined.
+Note that this methods is a simple accessor method of org.AGL.afm.system.install from afm-system-daemon.
+After the installation and before returning to the sender, afm-system-daemon sends a signal org.AGL.afm.system.changed.
+Input: The path of the widget file to install and, optionally, a flag to force reinstallation, and, optionally, a root directory.
Either just a string being the absolute path of the widget file:
- -"/a/path/driving/to/the/widget"
-
-
+"/a/path/driving/to/the/widget"
Or an object:
-{
- "wgt": "/a/path/to/the/widget",
- "force": false,
- "root": "/a/path/to/the/root"
-}
-
-
-“wgt” and “root” must be absolute paths.
- -output: An object with the field “added” being the string for -the id of the added application.
- -{"added":"appli@x.y"}
-
-
+ "wgt": "/a/path/to/the/widget",
+ "force": false,
+ "root": "/a/path/to/the/root"
+}
+"wgt" and "root" must be absolute paths.
+output: An object with the field "added" being the string for the id of the added application.
+{"added":"appli@x.y"}
Description: Uninstall an application from its id.
- -Note that this methods is a simple accessor to the method -org.AGL.afm.system.uninstall of afm-system-daemon.
- -After the uninstallation and before returning to the sender, -afm-system-daemon sends the signal org.AGL.afm.system.changed.
- -Input: the id of the application and, otpionaly, the path to -root of the application.
- +Note that this methods is a simple method accessor of org.AGL.afm.system.uninstall from afm-system-daemon.
+After the uninstallation and before returning to the sender, afm-system-daemon sends a signal org.AGL.afm.system.changed.
+Input: the id of the application and optionally the application root path.
Either a string:
- -"appli@x.y"
-
-
+"appli@x.y"
Or an object:
-{
- "id": "appli@x.y",
- "root": "/a/path/to/the/root"
-}
-
-
-output: the value ‘true’.
+ "id": "appli@x.y", + "root": "/a/path/to/the/root" +} +output: the value 'true'.