From 2b43ca3a6e570f9c622c1607c284db609115f96e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anton=20Luka=20=C5=A0ijanec?= Date: Wed, 16 Feb 2022 07:39:17 +0100 Subject: zunanjedelo --- src/api.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/api.c') diff --git a/src/api.c b/src/api.c index 7a48045..0edbcdb 100644 --- a/src/api.c +++ b/src/api.c @@ -193,8 +193,23 @@ static int dc_lws_cb (struct lws * wsi, enum lws_callback_reasons rs, void * us, fprintf(stdout, "%.*s", len, (const unsigned char *) in); char * serialized = dc_json(pass->json, in, len); while (serialized) { - serialized = dc_json(handler, NULL, 0); + cJSON json = cJSON_Parse(serialized); + pass->api_io.client->last_packet + = cJSON_GetNumberValue(cJSON_GetObjectItem(json, "s")); + switch (cJSON_GetNumberValue(cJSON_GetObjectItem(json, "op"))) { + case DC_PING: + client->last_ping = 0; + dc_handle_ping(pass->api_io, NULL); + default: + break; + } + double pi; + if ((pi = cJSON_GetNumberValue(cJSON_GetObjectItem2(json, + "d", "heartbeat_interval")) != NAN)) + pass->api_io.client->ping_interval = pi; + cJSON_Delete(json); + json = NULL; } break; case LWS_CALLBACK_CLIENT_WRITEABLE: /* invoke w/ lws_callback_on_writeable(wsi)4ws */ -- cgit v1.2.3