mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-09 00:00:00 +01:00
signal: all signal_to_json()
This commit is contained in:
parent
b58573f123
commit
c48e6718dc
3 changed files with 30 additions and 8 deletions
|
@ -81,11 +81,5 @@ int signal_parse(struct signal *s, json_t *cfg);
|
|||
/** Initialize signal from a mapping_entry. */
|
||||
int signal_init_from_mapping(struct signal *s, const struct mapping_entry *me, unsigned index);
|
||||
|
||||
enum SignalType signal_type_from_str(const char *str);
|
||||
|
||||
enum SignalType signal_type_from_fmtstr(char c);
|
||||
|
||||
const char * signal_type_to_str(enum SignalType fmt);
|
||||
|
||||
enum SignalType signal_type_detect(const char *val);
|
||||
|
||||
/** Produce JSON representation of signal. */
|
||||
json_t * signal_to_json(struct signal *s);
|
||||
|
|
|
@ -30,3 +30,11 @@ enum class SignalType {
|
|||
BOOLEAN = 3, /**< See signal_data::b */
|
||||
COMPLEX = 4 /**< See signal_data::z */
|
||||
};
|
||||
|
||||
enum SignalType signal_type_from_str(const char *str);
|
||||
|
||||
enum SignalType signal_type_from_fmtstr(char c);
|
||||
|
||||
const char * signal_type_to_str(enum SignalType fmt);
|
||||
|
||||
enum SignalType signal_type_detect(const char *val);
|
||||
|
|
|
@ -25,6 +25,9 @@
|
|||
#include <villas/mapping.h>
|
||||
#include <villas/exceptions.hpp>
|
||||
|
||||
#include <villas/signal_type.h>
|
||||
#include <villas/signal_data.h>
|
||||
|
||||
using namespace villas;
|
||||
using namespace villas::utils;
|
||||
|
||||
|
@ -216,3 +219,20 @@ int signal_parse(struct signal *s, json_t *cfg)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
json_t * signal_to_json(struct signal *s)
|
||||
{
|
||||
json_t *json_sig = json_pack("{ s: s, s: b, s: o }",
|
||||
"type", signal_type_to_str(s->type),
|
||||
"enabled", s->enabled,
|
||||
"init", signal_data_to_json(&s->init, s)
|
||||
);
|
||||
|
||||
if (s->name)
|
||||
json_object_set(json_sig, "name", json_string(s->name));
|
||||
|
||||
if (s->unit)
|
||||
json_object_set(json_sig, "unit", json_string(s->unit));
|
||||
|
||||
return json_sig;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue