Plugins are C/C++ shared libraries loaded by the binding to execute some simple routine. Routine could be on reception of a new signal or at sources initialization time or signal subscription with the respective JSON field onReceived init and getSignals

A default plugin (builtin) is provided with 2 functions:

  • defaultOnReceived: set and record a new signal value and its timestamp in the signal composer service. It simply tooks the incoming event JSON object and search for key value and timestamp then call function setSignalValue.
  • setSignalValueWrap: a lua2c function the could be called from any LUA script to record a new signal value.

CAUTION: timestamp value has to be typed as uint64_t with a nanosecond precision using a realtime clock. To correctly store it in a JSON-C object use the int64 type with the according fonctions: json_object_new_int64() json_object_get_int64() json_object_set_int64()