aboutsummaryrefslogtreecommitdiffstats
path: root/low-can-binding
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2018-11-20 17:57:54 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2018-11-20 19:33:55 +0100
commit5773aa807454aef8203f277733ff68de705f0198 (patch)
treefc9c59ef113376c830684e91d7672945b0f18d74 /low-can-binding
parent515e55e811ea64adc6d01443ffb9377e3f2e3320 (diff)
Added afb-helpers submodule
Use the afb helpers lib to be able to use wrap_json functions. Change-Id: I3a66ac4eb7d80ff921de13a7e749311d33f0572e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'low-can-binding')
-rw-r--r--low-can-binding/CMakeLists.txt5
1 files changed, 3 insertions, 2 deletions
diff --git a/low-can-binding/CMakeLists.txt b/low-can-binding/CMakeLists.txt
index acbf4f18..c8bac4f6 100644
--- a/low-can-binding/CMakeLists.txt
+++ b/low-can-binding/CMakeLists.txt
@@ -27,7 +27,6 @@ PROJECT_TARGET_ADD(low-can)
binding/${TARGET_NAME}-socket.cpp
binding/${TARGET_NAME}-subscription.cpp
binding/application.cpp
- binding/application-generated.cpp
can/can-bus.cpp
can/can-message-set.cpp
can/can-message-definition.cpp
@@ -44,7 +43,8 @@ PROJECT_TARGET_ADD(low-can)
utils/socketcan.cpp
#utils/socketcan-raw.cpp
utils/socketcan-bcm.cpp
- utils/config-parser.cpp)
+ utils/config-parser.cpp
+ binding/application-generated.cpp)
set(OPENAPI_DEF "binding/low-can-apidef" CACHE STRING "name and path to the JSON API definition without extension")
# Binder exposes a unique public entry point
@@ -62,5 +62,6 @@ PROJECT_TARGET_ADD(low-can)
uds-c
isotp-c
bitfield-c
+ afb-helpers
${link_libraries})
ext.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" id="@PROJECT_NAME@" version="@PROJECT_VERSION@">
	<name>@PROJECT_NAME@</name>
	<icon src="@PROJECT_ICON@"/>
	<content src="@WIDGET_ENTRY_POINT@" type="@WIDGET_TYPE@"/>
	<description>@PROJECT_DESCRIPTION@</description>
	<author>@PROJECT_AUTHOR@ &lt;@PROJECT_AUTHOR_MAIL@&gt;</author>
	<license>@PROJECT_LICENSE@</license>

<!-- Feature : required-api ------------------------------------------------------
#### param name="#target" OPTIONAL

Declares the name of the unit requiring the listed apis.
Only one instance of the param "#target" is allowed.
When there is not instance of this param, it behave as if
the target main was specified.

#### param name=[required api name]

The name is the name of the required API.
The value describes how to connect to the required api.
It is either:

 - local: The binding is a local shared object.
	In that case, the name is the relative path of the
	shared object to be loaded.
 - auto: The framework set automatically the kind of
	the connection to the API
 - ws: The framework connect using internal websockets
 - dbus: The framework connect using internal dbus
 - link: The framework connect in memory by dinamically linking

Example:
	<feature name="urn:AGL:widget:required-api">
		<param name="#target" value="low-can" />
		<param name="<a-required-api>" value="auto" />
		<param name="<another-required-api>" value="auto" />
	</feature>
--------------------------------------------------------------------------------->

<!-- Feature : required-permission ------------------------------------------

List of the permissions required by the unit.
Each required permission must be explicited using a <param> entry.

#### param name="#target" OPTIONAL

Declares the name of the unit requiring the listed permissions.
Only one instance of the param "#target" is allowed.
When there is not instance of this param, it behave as if
the target main was specified.

#### param name=[required permission name]

The value is either:
- required: the permission is mandatorily needed except if the feature
isn't required (required="false") and in that case it is optional.
- optional: the permission is optional

Example:
<feature name="urn:AGL:widget:required-permission">
	<param name="#target" value="geoloc" />
	<param name="urn:AGL:permission:real-time" value="required" />
	<param name="urn:AGL:permission:syscall:*" value="required" />
</feature>
--------------------------------------------------------------------------------->

<!-- Feature : provided-unit -------------------------------------------------
This feature is made for declaring new units
for the widget. Using this feature, a software publisher
can provide more than one application in the same widget.

#### param name="#target" REQUIRED

Declares the name of the unit. The default unit, the unit
of the main of the widget, has the name "main". The value
given here must be unique within the widget file. It will
be used in other places of the widget config.xml file to
designate the unit.

Only one instance of the param "#target" is allowed.
The value can't be "main".

#### param name="content.type" REQUIRED

The mimetype of the provided unit.

#### param name="content.src"

A path to the file (subject to localisation), this is the entry point
to that unit.

#### other parameters

The items that can be set for the main unit
can also be set using the params if needed.

 - description
 - name.content
 - name.short
 - ...

Example:
<feature name="urn:AGL:widget:provided-unit">
	<param name="#target" value="geoloc" />
	<param name="description" value="binding of name geoloc" />
	<param name="content.src" value="index.html" />
	<param name="content.type" value="application/vnd.agl.service" />
</feature>
--------------------------------------------------------------------------------->

<!-- Feature: provided-api ---------------------------------------------------
Use this feature for exporting one or more API of a unit
to other widgets of the platform.

This feature is an important feature of the framework.

#### param name="#target" OPTIONAL

Declares the name of the unit exporting the listed apis.
Only one instance of the param "#target" is allowed.
When there is not instance of this param, it behave as if
the target main was specified.

#### param name=[name of exported api]

The name give the name of the api that is exported.

The value is one of the following values:

- ws: export the api using UNIX websocket
- dbus: export the API using dbus
- auto: export the api using the default method(s).

Example:
<feature name="urn:AGL:widget:provided-api">
	<param name="#target" value="geoloc" />
	<param name="geoloc" value="auto" />
	<param name="moonloc" value="auto" />
</feature>
--------------------------------------------------------------------------------->
</widget>