1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

api: return state as string

This commit is contained in:
Steffen Vogel 2018-11-27 18:06:35 +01:00
parent 1ac9d306ad
commit f60bf3f0f5
4 changed files with 75 additions and 2 deletions

View file

@ -50,6 +50,8 @@ enum state {
*/
typedef int (*dtor_cb_t)(void *);
const char * state_print(enum state s);
#ifdef __cplusplus
}
#endif

View file

@ -73,6 +73,7 @@ set(LIB_SRC
table.c
bitset.c
signal.c
common.c
)

View file

@ -37,9 +37,9 @@ static int api_nodes(struct api_action *r, json_t *args, json_t **resp, struct a
for (size_t i = 0; i < list_length(&s->api->super_node->nodes); i++) {
struct node *n = (struct node *) list_at(&s->api->super_node->nodes, i);
json_t *json_node = json_pack("{ s: s, s: i, s: i, s: { s: i }, s: { s: i } }",
json_t *json_node = json_pack("{ s: s, s: s, s: i, s: { s: i }, s: { s: i } }",
"name", node_name_short(n),
"state", n->state,
"state", state_print(n->state),
"affinity", n->affinity,
"in",
"vectorize", n->in.vectorize,

70
lib/common.c Normal file
View file

@ -0,0 +1,70 @@
/** Common code.
*
* @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
* @copyright 2017-2018, Institute for Automation of Complex Power Systems, EONERC
* @license GNU General Public License (version 3)
*
* VILLASnode
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************************/
#include <villas/common.h>
#include <stdlib.h>
const char * state_print(enum state s)
{
switch (s) {
case STATE_DESTROYED:
return "destroyed";
break;
case STATE_INITIALIZED:
return "initialized";
break;
case STATE_PARSED:
return "parsed";
break;
case STATE_CHECKED:
return "checked";
break;
case STATE_STARTED:
return "running";
break;
case STATE_STOPPED:
return "stopped";
break;
case STATE_PENDING_CONNECT:
return "pending-connect";
break;
case STATE_CONNECTED:
return "connected";
break;
case STATE_PAUSED:
return "paused";
break;
default:
return NULL;
}
}