X-Git-Url: http://wpitchoune.net/gitweb/?p=psensor-pkg-debian.git;a=blobdiff_plain;f=src%2Frsensor.c;h=f42ab76f961f542fee08d4ee7b7ae96c3ec49fa1;hp=8a5aa66182d91dc79358352625b9df619486b6b4;hb=bd7036af56a4b61b2b473dccbeac5e26f78b57da;hpb=48da1ac5531838d157762882ee455cec4da05728;ds=sidebyside diff --git a/src/rsensor.c b/src/rsensor.c index 8a5aa66..f42ab76 100644 --- a/src/rsensor.c +++ b/src/rsensor.c @@ -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 @@ -26,10 +26,10 @@ #include -#include "psensor_json.h" -#include "rsensor.h" -#include "server/server.h" -#include "url.h" +#include +#include +#include +#include struct ucontent { char *data; @@ -38,6 +38,13 @@ struct ucontent { 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; @@ -72,12 +79,12 @@ static char *create_api_1_1_sensors_url(const char *base_url) return ret; } -void rsensor_init() +void rsensor_init(void) { curl = curl_easy_init(); } -void rsensor_cleanup() +void rsensor_cleanup(void) { 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); - 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); @@ -141,7 +149,7 @@ struct psensor **get_remote_sensors(const char *server_url, json_object_put(obj); } else { - log_printf(LOG_ERR, _("Invalid content: %s"), url); + log_err(_("%s: Invalid content: %s"), PROVIDER_NAME, url); } free(url); @@ -154,11 +162,11 @@ struct psensor **get_remote_sensors(const char *server_url, return sensors; } -void remote_psensor_update(struct psensor *s) +static void remote_psensor_update(struct psensor *s) { json_object *obj; - obj = get_json_object(s->url); + obj = get_json_object(get_url(s)); if (obj && !is_error(obj)) { json_object *om; @@ -181,7 +189,7 @@ void remote_psensor_update(struct psensor *s) 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)); } }