summaryrefslogtreecommitdiffstats
path: root/include/afb
AgeCommit message (Collapse)AuthorFilesLines
2017-07-13Fix const issue in afb-auth.hJosé Bollo1-2/+2
The fields type and loa were declared as const. This worked well for C compilers that are allowing to initialize constant fixed structures. But when compiling with C++, it is no more easy to create initialized structure explicitely. In C++, the solution is to use C++14 constexpr functions. But for using these function, const must be removed. Bug-AGL: SPEC-741 Change-Id: Ib332949b63892d9829db31d3c1a64d7d388db744 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-07-05Make status commonJosé Bollo3-8/+8
Make all error status for bindings use a common convention: a negative value means an error. Change-Id: Id09610051295810f04f00477d7ec1d9771bf7975 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-07-05Bindings V2: enforce prefix AFB_ to logging macrosJosé Bollo1-0/+3
This might break many codes but it is better in the long term. Change-Id: I346d13f0a6ef6b211edf25844489405351548299
2017-07-05Bindings V2: reintroduce field 'info' for verbsJosé Bollo1-3/+5
CAUTION, this breaks binary compatibility Change-Id: I67acfffe1f04cdddee0ad1230b227b080da1ab06 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-28Use constants for verbosity and syslog levelsJosé Bollo3-21/+53
Change-Id: I98a765f7c40d77fbc565ed13aa6e9bba48cf3244 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-28Add new macro for handling verbosityJosé Bollo1-0/+18
It might be interesting to test the verbosity level before making resource consuming stuff. Se example below: if (afb_verbose_notice()) { char *s = compute(); NOTICE("I got %s", s); free(s); } Change-Id: I7be4248a86fc2a2a23820ec822b36d9fccafb203 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-12Add comment for bindings v2José Bollo1-3/+3
Change-Id: Ic9c1e89f6f4f5a124ffb2dbb88a26dc5e8e1e543 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-12Removes reference to NULL in includesJosé Bollo3-5/+5
Change-Id: I94b2d57b8234f607167488afd24364920f9624f0 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-05Allows to enforce prefixed verbose messagesJosé Bollo1-21/+37
Change-Id: I41aa310f6898d5578b8de296d3b637c0d3595b1b Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-02Fix typedef for afb_stored_reqJosé Bollo1-0/+1
Change-Id: I3c1cbb4a8a5473af5ac520441fecd1e5f3f253b3 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-02Add 'afb_daemon_require_api'José Bollo4-0/+22
This solution is at this time the best one to allow asynchronous calls within initialisation of bindings. Change-Id: I21ba3a74b4e93eec238a11dd51bc6b58c483308d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-02Provide efficient store/unstore for afb_reqJosé Bollo9-410/+516
Change-Id: I231e2506f58227fb8d192df042539b1551a765c5 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-01fix include of afb-service-v1.hJosé Bollo5-1/+9
Change-Id: I4e756949635854694711590c81fee0b7d99d33b3 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-01Add backward compatibility and remarksJosé Bollo2-6/+47
Change-Id: Ia261e2d9efce399b210f834c1acb679215021edd Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-31Introduce typedef for clientsJosé Bollo1-1/+30
Change-Id: Idb71c3ae869046f568166d239cf5addd31d42c6f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-31code formatting improvementJosé Bollo6-12/+16
Change-Id: I07e0201c4dc9996e47ca70819123b351c7fb2ad7 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-31Add logging by requestJosé Bollo6-19/+151
Change-Id: I6dda714bcb8c36392c14a1981cfb8960f3db45b8 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-29Add vfail and vsuccess interfacesJosé Bollo3-27/+30
This now factorizes code needed to asprintf the arguments in an allocated string. But the most interesting effect is the ability to handle va_list of arguments. It can be used for library of tools. Change-Id: I4ba74c9984786f07abe0c7e53d7ef79dca863735 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-29Cleanup legacy internal functionsJosé Bollo1-14/+2
The functions afb_req_raw and afb_req_send are internal. They are now no more visible from bindings. Change-Id: I1f250a1800168a9c3772375477bf37a501f134a0 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-29Add 'afb_service_call_sync' functionJosé Bollo7-117/+189
This new function allows to call features for the services synchronously. Also refactoring how are handled arguments to calls. The call to 'json_object_put' is now always done by the binder. Change-Id: I910517da75b179aeafc824da4ce29bc299711990 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-22Bindings V2: Remove explicit references to daemon/serviceJosé Bollo9-102/+373
Usage shown that managing daemon interface and service interface wasn't obvious. This evolution hides the complexity by setting up an internal hidden variable. Change-Id: I667b1ee4e3a7b5ad29d712ee20ad5dd1878b97f3 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-19Bindings V2: rename init functionsJosé Bollo1-2/+2
The new naming is closer to the functionnal design and closer to V1 names. Change-Id: I8970338056a30564b84eaa1a7da6df3a9e6aa579 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-19bindings v2: Enforce to explicitely ask for concurrencyJosé Bollo1-0/+1
Change-Id: Ic20d1eb1c8515cd86444ad62b0daacbcd75e9b7e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-19Bindings V2: Refactor session flagsJosé Bollo6-88/+190
Change-Id: Idb104b3db69d785b11446fe9b66084839290362f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-11implement authorisation checkJosé Bollo2-9/+14
Change-Id: I2ef74b715a115acd11fa13744ba921e875f0bc65 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-05Improve includesJosé Bollo1-1/+1
Change-Id: I87278ce38270782e74bd29a7920fe6a6e63eea0d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-04Prepare permission for binding version 2José Bollo3-1/+42
Change-Id: I38c1291b3c11a9b436d00ef6dab4f7efb86e4996 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-05-04Prepare bindings version 2José Bollo5-220/+319
Change-Id: Ic9e417d9a36f5da08883c3ded127d8350ff893cc Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-25Add 'afb_daemon_queue_job' for bindingsJosé Bollo1-1/+18
This allow bindings to queue asynchronous jobs. Change-Id: I2a228388c9defde23adb672d579c4a299f212850 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-25typoJosé Bollo1-16/+16
Change-Id: Ie270c9716477054d0d16fd3b8d8bbfee1f8de084 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-25Make monitor use the interface version 2José Bollo1-1/+1
Enforce monitor API to be a kind of standard binding. Change-Id: I4739f879d5e076eb3505f5fe2cf658e6f9299de6 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-25typoJosé Bollo1-3/+3
Change-Id: Ia6c5deab1ed154ae7ad690236b8739ddff6e3935 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-04-04Add synchronous subcallsJosé Bollo1-0/+14
Synchronous subcalls are more easy for writing simple applications with sequential logic. Change-Id: I76a0231a64a6db8270014cd2a64284e1b0fc16ec Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-03-30Start to implement the bindings V2José Bollo5-69/+105
More work has to be done for merging common code. Change-Id: I72b01901f978854843967c12bfcb3cc59cc10310 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-03-29Prepare migration to binding v2José Bollo5-119/+181
Change-Id: I48c1fdb5199c9fb0f001576ceed3ddcb50fc9066 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-02-21fix issue for C++José Bollo1-1/+1
Change-Id: I14b5fb9a0f517d5a784cbbc43ca1401877d0f2fe Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-01-03cleanup: removes legacy-named fileJosé Bollo1-43/+0
The file include/afb/afb-plugin.h was kept for compatibility with previous versions. Change-Id: If144803b5f56e9828ec78de5279520319bbc3342 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-01-03Adds 2017 to copyrightsJosé Bollo5-5/+5
Change-Id: Id85c4eb4e36a05b61346004ba95daa19faf5074f Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-10-14event: add ability to get the event nameJosé Bollo1-1/+10
Change-Id: Iecfeb4ab07c07715093d729710669abecee722de Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-09-20Documentation: improvementsJosé Bollo2-1/+62
- improves formatting of the documentation on events - add documentations of functions in headers Change-Id: Ie39d34fca8bd563a099f6b575c72e314ca08a29d Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-08-31bindings: adds ability to use data of applicationsJosé Bollo1-0/+22
The two new verbs 'afb_daemon_rootdir_get_fd' and 'afb_daemon_rootdir_open_locale' allow the bindings to retrieve its installed global data. Change-Id: I369997d9e59402a413a929aa650c48613f034183 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-08-29MinorJosé Bollo1-1/+1
Change-Id: Id2758e83b59d6d8617e7f58635127fc436c9be5a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-08-08add validity functionsJosé Bollo2-0/+20
Change-Id: I56f4f6aebe673363c8b07c55f68ebbb1362b04fc Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-07-27fix unexpected ending spacesJosé Bollo2-2/+2
Change-Id: Ie7ebccb02b42e91457df3bdbf2a6f037b248400e Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-07-27orthographJosé Bollo3-8/+8
Change-Id: I354649f885daf89426f3b1612127045fdf1dedcc Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-06-24adds a warning about afb/afb-plugin.h for GCCJosé Bollo1-2/+5
Change-Id: I72b62751fdbeaea3847312c62779fd0bd0ecb3ea Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-06-23vocabulary: moving from 'plugin' to 'binding'José Bollo5-247/+287
Change-Id: Ic9e118df2bede1fefbb591f8ae7887266b7324ca Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-06-13Service instanciationJosé Bollo1-0/+42
Adds the ability for a service to initiate calls to other services and to receive events in its own context. Change-Id: I5ff149a0231e551e9ce8a8de9658cb492a38cae1 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-06-09Make possible to call a method from a bindingJosé Bollo1-2/+14
The new request call 'afb_req_subcall' allows a binding to call the method of an other binding. Change-Id: I8538185be7a1663153a25db2bc940f9e2bdedb1a Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2016-06-09Events: refactoringJosé Bollo3-2/+127
This new version allows to subscribe a client for an event. The event should first be created for the API (the API's prefix is added) using 'afb_daemon_make_event'. After that, plugins can subscribe or unsubscribe their clients (identified through requests) to the events that it generates. See 'afb_req_subscribe' and 'afb_req_unsubscribe'. Events created by 'afb_daemon_make_event' can be widely broadcasted using 'afb_event_broadcast' or pushed only to suscribers using 'afb_event_push'. Events can be destroyed using 'afb_event_drop'. Change-Id: I7c0bed5e625c2052dcd81c6bfe960def1fa032f3 Signed-off-by: José Bollo <jose.bollo@iot.bzh>