summaryrefslogtreecommitdiffstats
path: root/signal-composer-binding
AgeCommit message (Collapse)AuthorFilesLines
2018-07-05Update submodulesRomain Forlot3-3/+3
Submodule conf.d/app-templates 6e1a3c3..aa68dbd: > Don't overwrite the autobuild script if it exists > Disable the in-tree build method. > Detect Yocto as OS distribution > Fix: wrong compile options added > Fallback using zip format if no wgtpkg-pack found > 02-variables.cmake: Avoid checking CXX version if not required > config.cmake.sample: Remove dependency to libsystemd > config.cmake.sample: Remove dependency to libmicrohttpd > Added -D_FORTIFY_SOURCE=2 to CFLAGS > start-on-target: uses RSYNC_PREFIX path for config > Fixed spelling. > Improve OS detection > Fix: OS detection > Launch from workdir > Change closing that could fix native debugging Submodule ctl-utilities 0129510...1ff524b: > Change LUA package path at LUA interpreter load > Don't load two times a plugin even for LUA > Fixed hidden bound variable (apiHandle) > Fixed null value when push Lua arguments > Adjust to compile with incoming bindings v3 > Remove declaration to not existing functions > Add 2 lua utilities function > Update README.md for new metadata keys. > Fix a compilation issue due to modif of AFB_ReqSuccess > README:md: update README accordingly to new json scheme. > Fixed crash due to call to json_object_put > Fix segfault when printing long message from lua > Fixed spelling of AFB_ReqSuccess > Remove an unnecessary variable > Make parsing of action loading non blocking > Use an external file for app fw functions link > Use macro to test request validity > Fixed build warnings with gcc >= 7.3 > Increase lua script max message size > Prevent lost of config file path when searching > Correct way that api actions are handled in controller > Handle more metadata in the controller. > Add possibility to set prefix to NULL in CtlConfigScan > Fixed compilation warnings with gcc-7.2.0 > Add an external field to CtlConfigT > Make action item from a LUA action mandatory > Handle no prefix given > Good usage of strncat and strncpy > Update to the new JSON syntax > Detect failure at OnLoad action calls > Improve reliability and function calls > Correctly release request JSON object > Add AFB macros > Don't use assert in controller. > Change lua2c JSON syntax. > Search for Event section > Fix: changes key name. > Fix: arguments pointer NULL check > Fix wrong error message. > Simplify action definition > Fix: Dyn API Action loading procedure > Use new version of function GetBindingDirPath > Format > Merge changes from topic 'sandbox/claneys/wip' > Upgrade config schema > Fix: callback execution condition < Format < Fix: callback execution condition < New action loading function. < Upgrade config schema Adapt json config file to new syntax Fix: prefix now add the "-" so it'isn't needed to add it in the prefix at search (signal-composer.cpp) Fix: calling a api verb without json_object fails because of config arguments not retrieved. (sources.cpp) Change-Id: I48c1bca9fbac485e6a34b4645e683d9bdb1cbf2b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Fix: release json_objectRomain Forlot1-1/+4
This ensure that the json_object is correctly released after. Then after that the call will have enough reference count. Also fix a GCC warning using "if" instead of trigraph Change-Id: I41776d9009465f48f6c0b236614c0a32244f5cfb Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Rework loading sources and signals.Romain Forlot4-47/+25
Some function that are now included in the controller submodule do not need to be in the composer as well. Also initialize sources and signals in the same way . JSON configuration needs to be updated to fit this changes Change-Id: I2043791e7ee80f8350f33ed15bdf9980c0773b82 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Move "action" load to controllerRomain Forlot2-139/+11
Change-Id: Ic1a0621d9c0bbbffb7dcc0f9daf148a372818cdb Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Return separately last timestamp and valueRomain Forlot1-4/+2
Last timestamp and value is those ones directly store as object's attributes not the last from the history. Simple... Change-Id: Id2c808a1b236dfa36821cf9fc5a5bcd6a4114f10 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Change, clean plugins.Romain Forlot1-8/+10
Improve GPS plugin to be able to calculate the heading also remove the builtin plugin that was an error. We need to pass GPS plugin in C++ to be able to use the context. Handle "double" and "int" signal's value. Change-Id: I6d902e4ac76a0e933326c0b4c43922645c9c5a4c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Change when to notifyRomain Forlot1-1/+0
The notify was in fact called 2 times. It is attended that a callback should "set" the signal value to record it. Setting the signal's value already call notify which an action should do at the end. Notifying has a meaning only if a signal value has been modified. Change-Id: I4a8128317a88bf7459b2c4aa0f575c4b2524e816 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Use Nanosecond precision by defaultRomain Forlot2-12/+21
This is the default precision returned by the kernel when calling get_clocktime(), so this avoid useless division to get a less precise time. Also signaling event should have this kind of precision to be able to correctly debugging system on signals heavy load. Change-Id: I010b98305cff7387787fd8f8a1e8a0f9107a170a Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Use a better parameter name, more explicitRomain Forlot1-16/+17
Change-Id: I4c2a31f5c395c0d85ec810b25fb88c70cf691375 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Implement the signal's update default methodRomain Forlot2-5/+47
Adding != operator to Signal class This operator is needed to exclude signal inclusion in notify function and make possible to add a signal at last position Change-Id: I95f3434019383e52928c37f396aae938f2cfae05 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Fix wrong initializationRomain Forlot1-2/+2
boolean and numerical case initialized the same way. Change-Id: I274b5d898761c12f555ea59a178e363efe18f81d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Improve signal handlingRomain Forlot4-16/+32
- Fix memleak: RRelease the Signal JSON representation once used - Change equality condition between signals - Use a REALTIME clock to retrieve the timestamp if not provided by the signal. This is the most simple to date a signal and use that time for further usage. - Add a method to retrieve the last_timestamp value from a signal This with the commit from ctl-utilities submodule "8ff0fe3c454ea32ba383a3cfa9c4e91237d6c494" fixes the issue. Change-Id: Ifed66796f92d789c80f10b161318f6bef788dda7 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Initialize sources at binding start.Romain Forlot3-4/+16
This has changed and is now explicitly launched because last step of Controller configuration doesn't execute it. Change-Id: I104011b912172da62114b62eeab90c76e41459dd Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-05Use signal subscription args if presentRomain Forlot3-3/+16
By default subscription argument request from signal are passed if present, else the one from the signal's source if present. If nothing is specified for sources then argument is set as a NULL pointer. Change-Id: I18db0a9922039f41d475cd08758a2afd4acaa9d4 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-04-09Add objects directly from JSON argumentflounder_5.99.1flounder/5.99.15.99.1Romain Forlot1-9/+16
Change-Id: I77ab639593ecb3d73239244d11ee3da599caf1b4 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-03-22Linting, wrong variable type used.Romain Forlot1-6/+6
Change-Id: Ia3c79b64a44585f7d46e3cda5fbbc59b35322d5f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-03-22Add undefined value possibility in signal valuesRomain Forlot1-5/+6
By default, signal value are initialized to 0 which isn't acceptable to be accurate and be able to calculate virtual signals values as result would be false. Change-Id: I8ec40d8dcb9ce1fae42aeec9fb48369f0914fd9f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-03-21Linting improvments.Romain Forlot2-8/+12
Uninitiliazed variable in submodule Better handling of iterator assigments Avoid multiple call to vector.size() function Change-Id: I9cc8431e71b7d614a1619615a4048f19f5e31540 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-21Using AppFw CPP capabilitiesRomain Forlot3-120/+3
Generate headers from afb-genskel with CPP options which generate correctly the header for a CPP project. Change-Id: Ibb64de25ca510a82bc91ba938fc221d9b820e175 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-21Don't segfault at exit pointed to freed objectsRomain Forlot2-6/+8
Change-Id: Ic2f8ebee552ce982f858fe6ee93db2508a290617 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-20Don't use afb-genskel until C++ is handledRomain Forlot1-1/+1
Change-Id: I0777e2f4dfbc054c3379ee00e8b62dc3e6254f7c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-19Bulk of small fixesRomain Forlot1-2/+2
Correctly grab lua script using simpler prefix Correctly free Composer object's members Adding default binding source as required-apis Change-Id: I91d34b636286e79c7bcc27f8ba2730897ec5f424 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-19Get builtin plugin as a normal pluginRomain Forlot3-46/+9
- Back in normal configuration file - Remove builtin special callback as it is just a plugin after all - Rename main configuration files to get it works on a target board. Change-Id: I69165c47e5e58eb519e727cfdd83ee628d90abba Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-19Update gitignore, minor fixRomain Forlot1-1/+0
Change-Id: I7f059cb6566461a96765be78841d97e9b70beee3 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-18More security to add new signals/source at runtimeRomain Forlot4-34/+61
Also renamed loadConf to addObjects to avoid confusion with loadConf at init time. Improve file research if fullpath not procided by searching in the CONTROL_CONFIG_PATH. Change-Id: I8e541ff7437f0378bcdc7215ff9f391dcce6db9f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-18Several small fixes and improvements.Romain Forlot1-1/+1
Cleaning Make some additionnals test avoiding segfault, Filling opitonnal response object to avoid warning Wrong plugins type register macro called Change-Id: I012cc3ddc5f89b75dbc46c3ea535717141823884 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Fixing afb function call from LUA and cleaningRomain Forlot1-4/+0
Change-Id: I36d675ba7c38ce883a021da1a82dfbe8b077a39f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Use value instead of pointer for a memberRomain Forlot2-25/+25
no reason to keep it as pointer, and simpler to initiaze it at construction time. Change-Id: I0aee4483c834e66651d80998de81c99799451ff5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Improve subscription processRomain Forlot3-15/+47
Unsubscription remove asked signals from client session then when no more signals are requested by the client unsubscribe from event handle. Correctly initialize members to by correctly evaluated after Change-Id: Icabcb5a2446c62cab4eea9bf807613b719324ea0 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Avoid create duplicate source entries.Romain Forlot3-6/+34
Change-Id: If50a439634382fa6d1c856b5c3fb29db4eb93a31 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Check key exists before loading JSON fileRomain Forlot1-18/+25
Change-Id: I99d84fb56b01896caf6daa26ca50896f770ff509 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Fix memory leaks relative to json_objectRomain Forlot4-3/+20
Change-Id: I0cff16c1d44b9363522fde7c6c9b2bd10ba376ac Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Load additionnals object at runtimeRomain Forlot5-49/+114
Later integrated in controller submodule Change-Id: I7d5c7431e60fc16cc2053747674fe4f14efd6a14 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Hold all contexts (plugin & source) in signalCtx_Romain Forlot4-9/+41
Keeping persistence between call data are kept in that member also subscription Action now use getSignals_ context and no more the signal one, this is more accurate and simples Change-Id: Idd7c56ba30f1daa9eaf9b99a7261d58189ef0bb2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Useless tests against uninitialized valueRomain Forlot1-4/+2
Values has to be set. Change-Id: Ia8fcd23e68b79de5cd0316c81341ac41643750b5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Avoid warning about deleting void* variableRomain Forlot1-1/+1
And replace free calls by delete because operator new was used. Change-Id: Ifb0d301b0a09dd83e3ad574c97e02bd8af072ae6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh> # Conflicts: # signal-composer-binding/signal-composer.cpp
2017-12-14Avoid warning about deleting void* variableRomain Forlot3-3/+3
And replace free calls by delete because operator new was used. Change-Id: Ifb0d301b0a09dd83e3ad574c97e02bd8af072ae6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Avoid mem leack, overwriting, initializing variable.Romain Forlot3-8/+15
Fix a memory squashing bug that segfault binder when loading directory searching for binding. Change-Id: Iedc6747d8ce49e7ff5fc2013bb7d03b5b553b89c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Don't stop parsing signal even if one malformationRomain Forlot1-4/+3
Change-Id: I266dd03cde2c712ab1b2e713f0c57a89063f72e4 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Controller object has changed: Fix building actionRomain Forlot2-36/+91
Change-Id: I055d1ad1f9f1305009f4237e56566784e2ecdcfb Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Update and use latest ctl-utilities.Romain Forlot4-42/+12
Controller will now handle loading additional files from section. Context retrieving change a bit, now we have source context and plugin context. Update json unpacking and packing. Cleaning, format. Change-Id: Ie7a4721f6b703796a0dac1a236922427f4755dc5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Typo, cleaning, formatRomain Forlot1-0/+1
Change-Id: Ibc0457d7395d336c9716e3ed7ca51b71c450f0db Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Update JSON obj to fit new controller libRomain Forlot1-1/+1
Change-Id: Ib6068ef81151bc61923ad6ec54048028033ca4af Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Cleaning, typo and stuffRomain Forlot3-16/+15
Change-Id: Ifd6ac589b86e44d43b1e70465c8eba0cfb487c19 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Migrate to ctl-utilities libraryRomain Forlot8-97/+174
New version of controller as a library. Loading additionnals files from each sections. Change-Id: I4f5e78d0baf9650cb8d1cc1da26f8e1fd73b792c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14LUA lib and bin embedded in projectRomain Forlot7-47/+125
Change-Id: I1a61b49f55e4daa305800e754a14b6041aa81b34 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Add default receive actionRomain Forlot2-1/+71
Change-Id: Icc23f135d4e65d6de131a60b978677e549738d78 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14CommentRomain Forlot1-0/+3
Change-Id: I92f9d242cd108d8355069a4a63b391a5302d27a8 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Builtin plugin integrationRomain Forlot1-0/+21
Change-Id: I285c666c9ac77b6c1efb56406ce0a9cf33ec140f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-12-14Better deeper signal search on received event.Romain Forlot1-2/+34
Search in received JSON data if we could find a better signal name if the preceding one is too fuzzy Change-Id: I83ba376890155c44d5f29dfe2401627c72539f34 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>