#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;
static CURL *curl;
+static const char *PROVIDER_NAME = "rsensor";
+
+static const char *get_url(struct psensor *s)
+{
+ return (char *)s->provider_data;
+}
+
static size_t cbk_curl(void *buffer, size_t size, size_t nmemb, void *userp)
{
size_t realsize;
return ret;
}
-void rsensor_init()
+void rsensor_init(void)
{
curl = curl_easy_init();
}
-void rsensor_cleanup()
+void rsensor_cleanup(void)
{
curl_easy_cleanup(curl);
}
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cbk_curl);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk);
- log_debug("HTTP request %s", url);
+ log_fct("%s: HTTP request %s", PROVIDER_NAME, url);
+
if (curl_easy_perform(curl) == CURLE_OK)
obj = json_tokener_parse(chunk.data);
else
- log_printf(LOG_ERR, _("Fail to connect to: %s"), url);
+ log_err(_("%s: Fail to connect to: %s"), PROVIDER_NAME, url);
free(chunk.data);
json_object_put(obj);
} else {
- log_printf(LOG_ERR, _("Invalid content: %s"), url);
+ log_err(_("%s: Invalid content: %s"), PROVIDER_NAME, url);
}
free(url);
{
json_object *obj;
- obj = get_json_object(s->url);
+ obj = get_json_object(get_url(s));
if (obj && !is_error(obj)) {
json_object *om;
json_object_put(obj);
} else {
- log_printf(LOG_ERR, _("Invalid JSON: %s"), s->url);
+ log_err(_("%s: Invalid JSON: %s"), PROVIDER_NAME, get_url(s));
}
}