diff options
-rw-r--r-- | src/client.c | 6 | ||||
-rw-r--r-- | src/rest.c | 1 | ||||
-rw-r--r-- | src/rest.h | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/src/client.c b/src/client.c index fcf3cbf..c21c373 100644 --- a/src/client.c +++ b/src/client.c @@ -28,6 +28,7 @@ static int og_resp_probe(struct og_client *cli, json_t *data) { const char *status = NULL; const char *key; + uint32_t speed; json_t *value; int err = 0; @@ -39,6 +40,11 @@ static int og_resp_probe(struct og_client *cli, json_t *data) err = og_json_parse_string(value, &status); if (err < 0) return err; + } else if (!strcmp(key, "speed")) { + err = og_json_parse_uint(value, &speed); + if (err < 0) + return err; + cli->speed = speed; } else { return -1; } @@ -389,6 +389,7 @@ static int og_json_client_append(json_t *array, struct og_client *client) return -1; } json_object_set_new(object, "state", state); + json_object_set_new(object, "speed", json_integer(client->speed)); json_array_append_new(array, object); return 0; @@ -55,6 +55,7 @@ struct og_client { enum og_cmd_type last_cmd; unsigned int last_cmd_id; bool autorun; + uint32_t speed; }; void og_client_add(struct og_client *cli); |