/*
- * Copyright (C) 2010-2011 jeanfi@gmail.com
+ * Copyright (C) 2010-2014 jeanfi@gmail.com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
#include <curl/curl.h>
-#include "psensor_json.h"
-#include "rsensor.h"
-#include "server/server.h"
-#include "url.h"
+#include <psensor_json.h>
+#include <rsensor.h>
+#include <server/server.h>
+#include <url.h>
struct ucontent {
char *data;
return realsize;
}
-static char *create_api_1_0_sensors_url(const char *base_url)
+static char *create_api_1_1_sensors_url(const char *base_url)
{
char *nurl, *ret;
int n;
nurl = url_normalize(base_url);
- n = strlen(nurl) + strlen(URL_BASE_API_1_0_SENSORS) + 1;
+ n = strlen(nurl) + strlen(URL_BASE_API_1_1_SENSORS) + 1;
ret = malloc(n);
strcpy(ret, nurl);
- strcat(ret, URL_BASE_API_1_0_SENSORS);
+ strcat(ret, URL_BASE_API_1_1_SENSORS);
free(nurl);
return ret;
}
-void rsensor_init()
+void rsensor_init(void)
{
curl = curl_easy_init();
}
-void rsensor_cleanup()
+void rsensor_cleanup(void)
{
curl_easy_cleanup(curl);
}
sensors = NULL;
- url = create_api_1_0_sensors_url(server_url);
+ url = create_api_1_1_sensors_url(server_url);
obj = get_json_object(url);
return sensors;
}
-void remote_psensor_update(struct psensor *s)
+static void remote_psensor_update(struct psensor *s)
{
json_object *obj;
if (obj && !is_error(obj)) {
json_object *om;
- om = json_object_object_get(obj, "last_measure");
+ json_object_object_get_ex(obj, "last_measure", &om);
if (!is_error(obj)) {
json_object *ov, *ot;
struct timeval tv;
- ov = json_object_object_get(om, "value");
- ot = json_object_object_get(om, "time");
+ json_object_object_get_ex(om, "value", &ov);
+ json_object_object_get_ex(om, "time", &ot);
tv.tv_sec = json_object_get_int(ot);
tv.tv_usec = 0;