avoid to use a specific provider field
authorJean-Philippe Orsini <jeanfi@gmail.com>
Mon, 29 Sep 2014 16:54:37 +0000 (18:54 +0200)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Mon, 29 Sep 2014 16:54:37 +0000 (18:54 +0200)
src/lib/psensor.c
src/lib/psensor.h
src/lib/psensor_json.c
src/rsensor.c

index d151ac1..d019886 100644 (file)
@@ -57,8 +57,6 @@ struct psensor *psensor_create(char *id,
        psensor->cb_alarm_raised_data = NULL;
        psensor->alarm_raised = 0;
 
-       psensor->url = NULL;
-
        psensor->color = NULL;
 
        psensor->provider_data = NULL;
@@ -108,8 +106,6 @@ void psensor_free(struct psensor *s)
 
        measures_free(s->measures);
 
-       free(s->url);
-
        if (s->provider_data && s->provider_data_free_fct)
                s->provider_data_free_fct(s->provider_data);
 
index 3a3ffa7..f80f210 100644 (file)
@@ -106,8 +106,6 @@ struct psensor {
 
        void *provider_data;
        void (*provider_data_free_fct)(void *);
-
-       char *url;
 };
 
 struct psensor *psensor_create(char *id,
index 1f3a479..058a25e 100644 (file)
@@ -155,7 +155,7 @@ struct psensor *psensor_new_from_json(json_object *o,
                           NULL,
                           json_object_get_int(otype) | SENSOR_TYPE_REMOTE,
                           values_max_length);
-       s->url = url;
+       s->provider_data = url;
 
        free(eid);
 
index 7639654..96b3346 100644 (file)
@@ -38,6 +38,11 @@ struct ucontent {
 
 static CURL *curl;
 
+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;
@@ -158,7 +163,7 @@ 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 +186,7 @@ static void remote_psensor_update(struct psensor *s)
 
                json_object_put(obj);
        } else {
-               log_printf(LOG_ERR, _("Invalid JSON: %s"), s->url);
+               log_printf(LOG_ERR, _("Invalid JSON: %s"), get_url(s));
        }
 
 }