X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=doc%2Fwriting-config.xml.html;fp=doc%2Fwriting-config.xml.html;h=35c7372e5794c19ea11ed611dea797b9ccb931c2;hb=5b74cd6f2b5cdd82273759aa7d72150dfff58a2c;hp=0000000000000000000000000000000000000000;hpb=628dc10767d95436538391534dc3c95f45fe9a3a;p=src%2Fapp-framework-main.git diff --git a/doc/writing-config.xml.html b/doc/writing-config.xml.html new file mode 100644 index 0000000..35c7372 --- /dev/null +++ b/doc/writing-config.xml.html @@ -0,0 +1,168 @@ + + + + + + + Writing the configuration file "config.xml" + + + + + + +
+

Writing the configuration file "config.xml"

+

02 septembre 2016

+
+ +

Writing the configuration file "config.xml"

+

About "config.xml"

+

The file config.xml describes important data of the application to the framework:

+ +

The file MUST be at the root of the widget and MUST be case sensitively name config.xml.

+

The file config.xml is a XML file described by the document widgets.

+

Example of "config.xml"

+

Here is the example of the config file for the QML application SmartHome.

+
<?xml version="1.0" encoding="UTF-8"?>
+<widget xmlns="http://www.w3.org/ns/widgets" id="smarthome" version="0.1">
+  <name>SmartHome</name>
+  <icon src="smarthome.png"/>
+  <content src="qml/smarthome/smarthome.qml" type="text/vnd.qt.qml"/>
+  <description>
+    This is the Smarthome QML demo application.
+    It shows some user interfaces for controlling an automated house.
+    The user interface is completely done with QML.
+  </description>
+  <author>Qt team</author>
+  <license>GPL</license>
+</widget>
+

Standard elements of "config.xml"

+

The element widget

+

the attribute id of widget

+

The attribute id is mandatory (for version 2.x, blowfish) and must be unique.

+

Values for id are any non empty string containing only latin letters, arabic digits, and the three characters '.' (dot), '-' (dash) and '_' (underscore).

+

Authors can use a mnemonic id or can pick a unique id using command uuid or uuidgen.

+

the attribute version of widget

+

The attribute version is mandatory (for version 2.x, blowfish).

+

Values for id are any non empty string containing only latin letters, arabic digits, and the three characters '.' (dot), '-' (dash) and '_' (underscore).

+

Version values are dot separated fields MAJOR.MINOR.REVISION.

+

The element content

+

The element content is mandatory (for version 2.x, blowfish) and must designate a file (subject to localisation) with its attribute src.

+

The content designed depends on its type. See below for the known types.

+

The element icon

+

The element icon is mandatory (for version 2.x, blowfish) and must be unique. It must designate an image file with its attribute src.

+

Known widget types and content

+

The configuration file /etc/afm/afm-launch.conf defines the types of widget known and how to launch it.

+

Known types for the type of content are (for version 2.x, blowfish):

+ +

AGL features

+

The AGL framework uses the feature tag for specifying security and binding requirement of the widget.

+

The current version of AGL (up to 2.0.1, blowfish) has no fully implemented features.

+

The features planned to be implemented are described below.

+

feature name="urn:AGL:provides-binding"

+

Use this feature for each provided binding of the widget. The parameters are:

+
param name="name"
+

REQUIRED

+

The value is the string that must match the binding prefix. It must be unique.

+
param name="src"
+

REQUIRED

+

The value is the path of the shared library for the binding.

+
param name="type"
+

REQUIRED

+

Currently it must be application/vnd.agl.binding.v1.

+
param name="scope"
+

REQUIRED

+

The value indicate the availability of the binidng:

+ +
param name="needed-binding"
+

OPTIONAL

+

The value is a space separated list of binding's names that the binding needs.

+

feature name="urn:AGL:required-permission"

+

Several permission can be listed or none whether no permission is requested for the widget.

+

Each required permission must be explicited using a entry.

+
param name=[required permission name]
+

The value is either:

+ +

feature name="urn:AGL:-permission"

+ +