<h1 class="title">The afm-system-daemon</h1>
<h2 class="author">José Bollo</h2>
<h2 class="author">Fulup Ar Foll</h2>
-<h3 class="date">30 mai 2016</h3>
+<h3 class="date">24 juin 2016</h3>
</header>
<nav id="TOC">
<ul>
</ul>
</nav>
<h1 id="the-afm-system-daemon">The afm-system-daemon</h1>
-<pre><code>version: 1
-Date: 30 mai 2016
-Author: José Bollo</code></pre>
-<p>TABLE-OF-CONTENT-HERE</p>
<h2 id="foreword">Foreword</h2>
<p>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.</p>
<h2 id="introduction">Introduction</h2>
The afm-system-daemon
=====================
- version: 1
- Date: 30 mai 2016
- Author: José Bollo
-
-TABLE-OF-CONTENT-HERE
-
-
Foreword
--------
<h1 class="title">The afm-user-daemon</h1>
<h2 class="author">José Bollo</h2>
<h2 class="author">Fulup Ar Foll</h2>
-<h3 class="date">30 mai 2016</h3>
+<h3 class="date">24 juin 2016</h3>
</header>
<nav id="TOC">
<ul>
</ul>
</nav>
<h1 id="the-afm-user-daemon">The afm-user-daemon</h1>
-<pre><code>version: 1
-Date: 30 mai 2016
-Author: José Bollo</code></pre>
-<p>TABLE-OF-CONTENT-HERE</p>
<h2 id="foreword">Foreword</h2>
<p>This document describes application framework user daemon fundamentals. FCF (Fully Conform to Specification) implementation is still under development. It may happen that current implementation somehow diverges with specifications.</p>
<h2 id="introduction">Introduction</h2>
<p>Holds application Id of launched application.</p>
<p>Defined by the attribute <strong>id</strong> of the element <strong><widget></strong> of <strong>config.xml</strong>.</p>
<ul>
+<li><strong><em>%b</em></strong>: bindings</li>
+</ul>
+<p>In the future should represent the list of bindings and bindings directory separated by ','. Warning: not supported in current version.</p>
+<ul>
<li><strong><em>%c</em></strong>: content</li>
</ul>
<p>The file within the widget directory that is the entry point.</p>
</ul>
<p>Name of the application as defined by the content of the element <strong><name></strong> of <strong>config.xml</strong>.</p>
<ul>
-<li><strong><em>%p</em></strong>: plugins</li>
-</ul>
-<p>In the future should represent the list of plugins and plugins directory separated by ','. Warning: not supported in current version.</p>
-<ul>
<li><strong><em>%P</em></strong>: port</li>
</ul>
<p>A port to use. It is currently a kind of random port. The precise model is to be defined later.</p>
The afm-user-daemon
===================
- version: 1
- Date: 30 mai 2016
- Author: José Bollo
-
-TABLE-OF-CONTENT-HERE
-
Foreword
--------
Defined by the attribute **id** of the element **<widget>**
of **config.xml**.
+ - ***%b***: bindings
+
+ In the future should represent the list of bindings and bindings directory separated by ','.
+ Warning: not supported in current version.
+
- ***%c***: content
The file within the widget directory that is the entry point.
Name of the application as defined by the content of the
element **<name>** of **config.xml**.
- - ***%p***: plugins
-
- In the future should represent the list of plugins and plugins directory separated by ','.
- Warning: not supported in current version.
-
- ***%P***: port
A port to use. It is currently a kind of random port. The precise
<h1 class="title">Application framework</h1>
<h2 class="author">José Bollo</h2>
<h2 class="author">Fulup Ar Foll</h2>
-<h3 class="date">30 mai 2016</h3>
+<h3 class="date">24 juin 2016</h3>
</header>
<nav id="TOC">
<ul>
</ul>
</nav>
<h1 id="application-framework">Application framework</h1>
-<pre><code>version: 1
-Date: 30 mai 2016
-Author: José Bollo</code></pre>
-<p>TABLE-OF-CONTENT-HERE</p>
<h2 id="foreword">Foreword</h2>
<p>This document describes application framework fundamentals. FCF (Fully Conform to Specification) implementation is still under development. It may happen that current implementation somehow diverges with specifications.</p>
<h2 id="overview">Overview</h2>
Application framework
=====================
- version: 1
- Date: 30 mai 2016
- Author: José Bollo
-
-TABLE-OF-CONTENT-HERE
-
Foreword
--------
outline: #555;
}
-pre:first-of-type { width: 20em; }
-
blockquote {
border-left: solid thick black;
background-color: #ff8;
<header>
<h1 class="title">AGL framework, overview of the proposal of IoT.bzh</h1>
<h2 class="author">José Bollo</h2>
-<h3 class="date">29 mai 2016</h3>
+<h3 class="date">24 juin 2016</h3>
</header>
<nav id="TOC">
<ul>
</ul>
</nav>
<h1 id="agl-framework-overview-of-the-proposal-of-iot.bzh">AGL framework, overview of the proposal of IoT.bzh</h1>
-<pre><code>version: 1
-Date: 29 mai 2016
-Author: José Bollo</code></pre>
-<p>TABLE-OF-CONTENT-HERE</p>
<h2 id="foreword">Foreword</h2>
<p>This document describes what we intend to do. It may happen that our current implementation and the content of this document differ.</p>
<p>In case of differences, it is assumed that this document is right and the implementation is wrong.</p>
| : +-----------v-----------+ : +---------+---------------+ |
| : | binder afb-daemon | : | | |
| : +-----------------------+ : | afm-user-daemon | |
-| : | afm-main-plugin | : | | |
+| : | afm-main-binding | : | | |
| : +-----+--------------+--+ : +------^-------+------+---+ |
| :........|..............|......: | | : |
| |(2) |(8) |(10) | : |
<p>Let follow the sequence of calls:</p>
<ol type="1">
<li><p>APPLICATION calls its <strong>binder</strong> to install the OTHER application.</p></li>
-<li><p>The plugin <strong>afm-main-plugin</strong> of the <strong>binder</strong> calls, through <strong>D-Bus</strong> system, the system daemon to install the OTHER application.</p></li>
+<li><p>The binding <strong>afm-main-binding</strong> of the <strong>binder</strong> calls, through <strong>D-Bus</strong> system, the system daemon to install the OTHER application.</p></li>
<li><p>The system <strong>D-Bus</strong> checks wether APPLICATION has the permission or not to install applications by calling <strong>CYNARA</strong>.</p></li>
<li><p>The system <strong>D-Bus</strong> transmits the request to <strong>afm-system-daemon</strong>.</p></li>
</ol>
<li><p><strong>afm-system-daemon</strong> calls <strong>SECURITY-MANAGER</strong> for fullfilling security context of the installed application.</p></li>
<li><p><strong>SECURITY-MANAGER</strong> calls <strong>CYNARA</strong> to install initial permissions for the application.</p></li>
<li><p>APPLICATION call its binder to start the nearly installed OTHER application.</p></li>
-<li><p>The plugin <strong>afm-main-plugin</strong> of the <strong>binder</strong> calls, through <strong>D-Bus</strong> session, the user daemon to launch the OTHER application.</p></li>
+<li><p>The binding <strong>afm-main-binding</strong> of the <strong>binder</strong> calls, through <strong>D-Bus</strong> session, the user daemon to launch the OTHER application.</p></li>
<li><p>The session <strong>D-Bus</strong> checks wether APPLICATION has the permission or not to start an application by calling <strong>CYNARA</strong>.</p></li>
<li><p>The session <strong>D-Bus</strong> transmits the request to <strong>afm-user-daemon</strong>.</p></li>
<li><p><strong>afm-user-daemon</strong> checks wether APPLICATION has the permission or not to start the OTHER application <strong>CYNARA</strong>.</p></li>
<li><p><strong><em>afm-system-daemon</em></strong>: in charge of installing and uninstalling applications.</p></li>
<li><p><strong><em>afm-user-daemon</em></strong>: in charge of listing applications, querying application details, starting, terminating, stopping, resuming applications and their instances for a given user context.</p></li>
<li><p><strong><em>afb-binder</em></strong>: in charge of serving resources and features through an HTTP interface.</p></li>
-<li><p><strong><em>afm-main-plugin</em></strong>: This plugin allows applications to use the API of the AGL framework.</p></li>
+<li><p><strong><em>afm-main-binding</em></strong>: This binding allows applications to use the API of the AGL framework.</p></li>
</ul>
<h2 id="links-between-the-security-framework-and-the-application-framework">Links between the "Security framework" and the "Application framework"</h2>
<p>The security framework refers to the security model used to ensure security and to the tools that are provided for implementing that model.</p>
AGL framework, overview of the proposal of IoT.bzh
==================================================
- version: 1
- Date: 29 mai 2016
- Author: José Bollo
-
-TABLE-OF-CONTENT-HERE
-
Foreword
--------
| : +-----------v-----------+ : +---------+---------------+ |
| : | binder afb-daemon | : | | |
| : +-----------------------+ : | afm-user-daemon | |
- | : | afm-main-plugin | : | | |
+ | : | afm-main-binding | : | | |
| : +-----+--------------+--+ : +------^-------+------+---+ |
| :........|..............|......: | | : |
| |(2) |(8) |(10) | : |
1. APPLICATION calls its **binder** to install the OTHER application.
-2. The plugin **afm-main-plugin** of the **binder** calls, through
+2. The binding **afm-main-binding** of the **binder** calls, through
**D-Bus** system, the system daemon to install the OTHER application.
3. The system **D-Bus** checks wether APPLICATION has the permission
7. APPLICATION call its binder to start the nearly installed OTHER application.
-8. The plugin **afm-main-plugin** of the **binder** calls, through
+8. The binding **afm-main-binding** of the **binder** calls, through
**D-Bus** session, the user daemon to launch the OTHER application.
9. The session **D-Bus** checks wether APPLICATION has the permission
* ***afb-binder***: in charge of serving resources and features through an
HTTP interface.
-* ***afm-main-plugin***: This plugin allows applications to use the API
+* ***afm-main-binding***: This binding allows applications to use the API
of the AGL framework.
<meta name="generator" content="pandoc">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<meta name="author" content="Stephane Desneux">
+ <meta name="author" content="José Bollo">
<title>AGL Application Framework: A Quick Tutorial</title>
<style type="text/css">code{white-space: pre;}</style>
<!--[if lt IE 9]>
<header>
<h1 class="title">AGL Application Framework: A Quick Tutorial</h1>
<h2 class="author">Stephane Desneux</h2>
-<h3 class="date">09 juin 2016</h3>
+<h2 class="author">José Bollo</h2>
+<h3 class="date">24 juin 2016</h3>
</header>
<nav id="TOC">
<ul>
</ul>
</nav>
<h1 id="agl-application-framework-a-quick-tutorial">AGL Application Framework: A Quick Tutorial</h1>
-<p>[TOC]</p>
<h2 id="introduction">Introduction</h2>
<p>This document proposes a quick tutorial to demonstrate the major functionnalities of the AGL Application Framework. For more complete information, please refer to the inline documentation available in the main git repository: https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/app-framework-main https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/app-framework-binder</p>
<p>For more information on AGL, please visit: https://www.automotivelinux.org/</p>
+
AGL Application Framework: A Quick Tutorial
===========================================
-[TOC]
Introduction
------------
<header>
<h1 class="title">The security framework</h1>
<h2 class="author">José Bollo</h2>
-<h3 class="date">29 mai 2016</h3>
+<h3 class="date">24 juin 2016</h3>
</header>
<nav id="TOC">
<ul>
-<li><a href="#the-security-framework">The security framework</a></li>
+<li><a href="#the-security-framework">The security framework</a><ul>
<li><a href="#setting-smack-rules-for-the-application">Setting Smack rules for the application</a></li>
<li><a href="#what-user-can-run-an-application">What user can run an application?</a></li>
+</ul></li>
</ul>
</nav>
<h1 id="the-security-framework">The security framework</h1>
-<pre><code>version: 1
-Date: 29 mai 2016
-Author: José Bollo</code></pre>
-<p>TABLE-OF-CONTENT-HERE</p>
-<h1 id="setting-smack-rules-for-the-application">Setting Smack rules for the application</h1>
+<p>NOT STARTED !!!!!!</p>
+<h2 id="setting-smack-rules-for-the-application">Setting Smack rules for the application</h2>
<p>For Tizen, the following rules are set by the security manager for each application.</p>
<pre><code>System ~APP~ rwx
System ~PKG~ rwxat
~APP~ ~PKG~ rwxat
~APP~ ~PKG~::RO rxl</code></pre>
<p>Here, <sub>PKG</sub> is the identifier of the package and <sub>APP</sub> is the identifier of the application.</p>
-<h1 id="what-user-can-run-an-application">What user can run an application?</h1>
+<h2 id="what-user-can-run-an-application">What user can run an application?</h2>
<p>Not all user are able to run all applications. How to manage that?</p>
</body>
</html>
The security framework
======================
- version: 1
- Date: 29 mai 2016
- Author: José Bollo
-
-
-TABLE-OF-CONTENT-HERE
+NOT STARTED !!!!!!
Setting Smack rules for the application
-=======================================
+---------------------------------------
For Tizen, the following rules are set by the security manager for each application.
Here, ~PKG~ is the identifier of the package and ~APP~ is the identifier of the application.
What user can run an application?
-=================================
+---------------------------------------
Not all user are able to run all applications.
How to manage that?
</ul>
</nav>
<h1 id="the-widgets">The widgets</h1>
-<pre><code>version: 1
-Date: 30 mai 2016
-Author: José Bollo</code></pre>
<h2 id="the-widgets-1">The widgets</h2>
<p>The widgets are described by the technical recommendations <a href="http://www.w3.org/TR/widgets" title="Packaged Web Apps">widgets</a> and <a href="http://www.w3.org/TR/widgets-digsig" title="XML Digital Signatures for Widgets">widgets-digsig</a>.</p>
<p>In summary, <strong>widgets are ZIP files that can be signed and whose content is described by the file <config.xml></strong>.</p>
The widgets
===========
- version: 1
- Date: 30 mai 2016
- Author: José Bollo
-
-
The widgets
-----------