Imported Upstream version 1.2.0
[psensor-pkg-debian.git] / src / rsensor.c
index 8a5aa66..f42ab76 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (C) 2010-2014 jeanfi@gmail.com
+ * Copyright (C) 2010-2016 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
  *
  * 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 <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;
 
 struct ucontent {
        char *data;
@@ -38,6 +38,13 @@ struct ucontent {
 
 static CURL *curl;
 
 
 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;
 static size_t cbk_curl(void *buffer, size_t size, size_t nmemb, void *userp)
 {
        size_t realsize;
@@ -72,12 +79,12 @@ static char *create_api_1_1_sensors_url(const char *base_url)
        return ret;
 }
 
        return ret;
 }
 
-void rsensor_init()
+void rsensor_init(void)
 {
        curl = curl_easy_init();
 }
 
 {
        curl = curl_easy_init();
 }
 
-void rsensor_cleanup()
+void rsensor_cleanup(void)
 {
        curl_easy_cleanup(curl);
 }
 {
        curl_easy_cleanup(curl);
 }
@@ -100,11 +107,12 @@ static json_object *get_json_object(const char *url)
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cbk_curl);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk);
 
        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
        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);
 
 
        free(chunk.data);
 
@@ -141,7 +149,7 @@ struct psensor **get_remote_sensors(const char *server_url,
 
                json_object_put(obj);
        } else {
 
                json_object_put(obj);
        } else {
-               log_printf(LOG_ERR, _("Invalid content: %s"), url);
+               log_err(_("%s: Invalid content: %s"), PROVIDER_NAME, url);
        }
 
        free(url);
        }
 
        free(url);
@@ -154,11 +162,11 @@ struct psensor **get_remote_sensors(const char *server_url,
        return sensors;
 }
 
        return sensors;
 }
 
-void remote_psensor_update(struct psensor *s)
+static void remote_psensor_update(struct psensor *s)
 {
        json_object *obj;
 
 {
        json_object *obj;
 
-       obj = get_json_object(s->url);
+       obj = get_json_object(get_url(s));
 
        if (obj && !is_error(obj)) {
                json_object *om;
 
        if (obj && !is_error(obj)) {
                json_object *om;
@@ -181,7 +189,7 @@ void remote_psensor_update(struct psensor *s)
 
                json_object_put(obj);
        } else {
 
                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));
        }
 
 }
        }
 
 }