Age | Commit message (Collapse) | Author | Files | Lines |
|
Address sanitizers is expecting shared objects loaded
without the flag RTLD_DEEPBIND. This can be achieved
by setting the environment variable AFB_NO_RTLD_DEEPBIND
to the value 1 (exactly).
This implies that the binder takes care of not clashing
the namespaces by defining the symbol afbBindingV3root
in both environment: the binder and the bindings.
Bug-AGL: SPEC-3040
Bug-AGL: SPEC-3162
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Change-Id: Ic064590178d4cf8b34b939e4c9ecd587668f71b8
|
|
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Change-Id: I01a566a693b8ec6239209c9323ae4ff15a07f737
|
|
This is needed if we want to replace json-c with jsonfast.
Bug-AGL: SPEC-2659
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
Change-Id: I32da71bd05bfe3538596cbf751d55ff45b4fe7f9
|
|
Allowing to subscribe to a request that was replied
was possible and lead to problem revealed by issues
SPEC-2542 and SPEC-2599 (these issues are more related
to processing unordered incoming messages).
The choice was
- fix the bug and authorize (un)subscribe after reply
- forbids to (un)subscribe after reply
Second solution was chosen for its simplicity and
its networking efficiency.
Bug-AGL: SPEC-2542
Bug-AGL: SPEC-2599
Change-Id: I09f48b760b1fd6f70d42b80df3c8053696c45966
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Sending events in the context of the calling process
had the consequence that the ordering of the messages
had to be removed (see SPEC-2215 & SPEC-2219). This
was not good by nature and lead to issues SPEC-2542
and SPEC-2599.
Sending events in the context of the calling process
also implies to delay the calling process.
For this reasons, sending events is now done in an
other jobs. For that reason, the count of allowed
pending jobs is increased to 100 (was 50).
Bug-AGL: SPEC-2215
Bug-AGL: SPEC-2219
Bug-AGL: SPEC-2542
Bug-AGL: SPEC-2599
Change-Id: I5b56d952cc187b65ad6eb9344ad74e5e8d3b7540
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The function declaration contains a syntax error that was somehow
ignored but raise an error about an illegal cast in a constexpr
function.
Fixed this error and clean up a bit surrounding code to be more concise.
Bug-AGL: SPEC-2615
Change-Id: I931b086c96b093b3de4465c51dfc3e865f7ece3b
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
|
|
Following the remarks of fellow developers, the status
of the object received by the callback function
needs to be explained better.
Change-Id: I0e6bcd51849bbc5af92af08675949a901bfd683e
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The C++ wrapper for handling contexts has
to be improved. This is a proposition of
improvement.
Change-Id: I7df36383f427d109356bdf4df573cba4b6e6ec05
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
This is for fixing
warning: suggest braces around initialization of subobject
[-Wmissing-braces]
Change-Id: Id24d9bb09e46d59df7d043ed931e00bb5ec9469a
Signed-off-by: Phong Tran <tranmanphong@gmail.com>
|
|
Base the class afb::base_api_t on the raw wrapper
class afb::api
Change-Id: Idbc4786d548ffcb0062a85b686c196758e49823c
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
|
|
New 'api' wrapper for 'afb_api_t' related functions.
Change-Id: I695b65ff3d27b0ecc0f95f660a13b7a98fd92223
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
|
|
Added move semantic and remove invalidation method as it's not used anymore
since we drop the support of APIv2.
Change-Id: If53840010d6f24d410712915051386190f55b504
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
|
|
The function was defined as many time as the header was included.
Making it a weak function fix the issue.
Also, a plain old C cast is required to make this constexpr valid.
Change-Id: I278f376e00ec6728272df4fde8ca8984195dd533
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
|
|
This new constexpr initialisation method accepts
a callback receiving a afb::req instead of a
afb_req_t.
Change-Id: I752e670b5545a9d7956987984e725b468196a6e9
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
It used the legacy callback definition of apiv2 instead
of the apiv3 one.
Change-Id: Iab281131a923ae59cfbbb50cf72fd4a5c3f11d65
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
|
|
The C++ interface is currently used only in APIv3.
Change-Id: Id1a3bca5dc8e69c1af229871e7f33192395230e7
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
|
|
Prefer the system path to include headers.
Change-Id: I08a64e8d27808084ea4592988f36b7e5099a7fc6
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
|
|
You can implement a C++ binding API by inheriting
the templated base class 'base_api_t' and overriding
the methods you want.
At the same time, the c++ files are now located in
in their own subdirectory: afb/c++
Change-Id: Ie02535961ec6b4b5ae21390cb520acb1fdc44c9e
Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
|
|
Change-Id: I3aaa92b2bfb01699ee8ae609272e93032b6f1a9d
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Fix 1: afb_api_v3_verbose doesn't exist
Fix 2: afb_api_vverbose isn't declared
Fix 3: Ensure implicit cast of "api" and "req"
Using presupposed knowledge of internals of afb_api_t
and afb_req_t is bad when dealing with implicit
conversion in C++ and is generally not the way to
go.
Change-Id: I2630faa5ea0ae315ca95e4fd6ed6ae1a0beb01a5
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
For some reason, SDK doesn't display warning when AFB_BINDING_VERSION
is defined as 2.
Using #warning instead of #pragma GCC warning fixes the display.
Change-Id: I3c96b3630e0d1eac63b2fde72bdec3c7f3d1714a
Signed-off-by: Johann CAHIER <johann.cahier@iot.bzh>
|
|
These functions was missing and the documentation
was erronous. This fixes that issue by providing
the missing functions and updating the documentation.
Bug-AGL: SPEC-1669
Change-Id: I543b0fbe29370be6f35f15ca3bfa48fef9ab4055
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Iab93a26340fa9743a58ca43cd903bbf31c783e5b
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The test now raise an overall coverage rate:
lines......: 75.4% (8356 of 11080 lines)
functions..: 80.4% (1094 of 1360 functions)
Also Improve the documentation and improve parts of code.
Change-Id: Ic2b8bc2f85d4181aa0b358a953f95cb105a0eed9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ib11160a8137480af92c450b65039b1272084f2d6
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Fix a tiny error in the migration script and improve it.
Fix declaration of afb_daemon_get... without args for
binding V3 compatibility.
Fix declaration of afb_api_event_handler_...
Fix the correct URL to the sed script:
valid: https://git.automotivelinux.org/src/app-framework-binder/plain/docs/migration-to-binding-v3.sed
invalid: https://git.automotivelinux.org/src/app-framework-binder/tree/docs/migration-to-binding-v3.sed
Bug-AGL: SPEC-1595
Change-Id: I245b20a9c14634a94c69420312afbd97628bc750
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The functions afb_api_set_verbs_v3 and afb_api_delete_api
were missing.
Change-Id: Icab928984dd6620b8b3920d0406aeb3cb35c9428
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The functions afb_api_require_class and afb_api_provide_class
weren't exported. This commit fix that oversight.
Change-Id: Ica6532bd9e06aa9003a24ae7a54b05c64be7093b
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The newer version of afb_req_verbose was self recursive
leading the crashes.
Bug-AGL: SPEC-1561
Change-Id: I40959e5b72ca850712c27a505e77efea43aadabd
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The documentation is improved to reflect the new version.
Tune the options
Change-Id: I894c3db3bc0c10e89db66a9a51a9ad049bb8c0c4
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
This commit introduces the bindings v3 API for bindings.
The documentation has still to be improved and will come
very soon.
Change-Id: I8f9007370e29f671fdfd1da87fff7372a17db7af
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I4ba49719a4776511d7f5448cd7fbf84caf7474e8
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: If9d7e7728df086fbb7214f1de5cbec35cd2f1d9b
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ie7eac225f514349926341b7db61ea0eb9029c5d8
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Icdee4029f11dcb6c0f75e945e0b411ea63654afe
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ia108b23b9480bb32f27127ef00c18086fcf86752
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I8c281417bd08b49ac708a7992cb46a074e74c979
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I9caf38ee3811cf10b546489094f0bb5b3d844c40
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I6144b0ab21418dc98792f0eeef695f3df0fc11d3
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Icf6cffdf303e125feec2661f5ce736a398c07932
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I9a86c6314f871334231e50f9cea60b54aed434b9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I5b4e4b40385830d1b8921d079f5e7e732ec4247f
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Also demonstrate the mix of api v2 with dynapi.
Change-Id: I95e8d32ac836590ce3f7b3f0b5f29e5574808976
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Activates the new internal interfaces
Change-Id: I8f51cd271f66a0216ffdf03626300bb5964a70f9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I825bfa7969c98dd214457d9ff94e2948362286a9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I8cc96ef9c05781069f07b807bc6632d13668ac69
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Provision is made here to convert, trivially:
afb_event -> afb_eventid*
afb_req -> afb_request*
The opposite conversions aren't provided to
favor new interfaces.
Change-Id: Ib67c2317f782e2edfd1ba0e49e10b321a3b770a3
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ie3f75377009be36f7f5bd52bdb31d0611cd49778
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I4286cbd9d02b406570185d265e7b925c43bbc42c
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
This prepares the new api with pointers.
Change-Id: I4eb299551145226e428934b6835a1a7810ae6439
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|