avoid config in the psensor struct
authorJean-Philippe Orsini <jeanfi@gmail.com>
Fri, 26 Sep 2014 06:57:05 +0000 (08:57 +0200)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Fri, 26 Sep 2014 06:57:05 +0000 (08:57 +0200)
src/lib/psensor.c
src/lib/psensor.h
src/main.c
src/ui_sensorpref.c

index c8dc6a9..58731d5 100644 (file)
@@ -50,7 +50,6 @@ struct psensor *psensor_create(char *id,
        psensor->values_max_length = values_max_length;
        psensor->measures = measures_dbl_create(values_max_length);
 
-       psensor->alarm_enabled = 0;
        psensor->alarm_high_threshold = 0;
        psensor->alarm_low_threshold = 0;
 
@@ -265,15 +264,13 @@ void psensor_set_current_measure(struct psensor *s, double v, struct timeval tv)
        if (s->max == UNKNOWN_DBL_VALUE || v > s->max)
                s->max = v;
 
-       if (s->alarm_enabled) {
-               if (v > s->alarm_high_threshold || v < s->alarm_low_threshold) {
-                       if (!s->alarm_raised && s->cb_alarm_raised)
-                               s->cb_alarm_raised(s, s->cb_alarm_raised_data);
-
-                       s->alarm_raised = 1;
-               } else {
-                       s->alarm_raised = 0;
+       if (v > s->alarm_high_threshold || v < s->alarm_low_threshold) {
+               if (!s->alarm_raised && s->cb_alarm_raised) {
+                       s->alarm_raised = true;
+                       s->cb_alarm_raised(s, s->cb_alarm_raised_data);
                }
+       } else {
+               s->alarm_raised = false;
        }
 }
 
index a04c0ac..505bd6f 100644 (file)
@@ -93,9 +93,6 @@ struct psensor {
        /* The minimum detected value of the sensor */
        double min;
 
-       /* Whether alarm alert is enabled for this sensor */
-       bool alarm_enabled;
-
        int alarm_high_threshold;
        int alarm_low_threshold;
 
index f817c14..3a126c5 100644 (file)
@@ -185,18 +185,20 @@ static void *update_measures(void *data)
 
 static void indicators_update(struct ui_psensor *ui)
 {
-       struct psensor **sensor_cur = ui->sensors;
-       unsigned int attention = 0;
+       struct psensor **ss, *s;
+       bool attention;
 
-       while (*sensor_cur) {
-               struct psensor *s = *sensor_cur;
+       attention = false;
+       ss = ui->sensors;
+       while (*ss) {
+               s = *ss;
 
-               if (s->alarm_enabled && s->alarm_raised) {
-                       attention = 1;
+               if (s->alarm_raised && config_get_sensor_alarm_enabled(s->id)) {
+                       attention = true;
                        break;
                }
 
-               sensor_cur++;
+               ss++;
        }
 
 #if defined(HAVE_APPINDICATOR)
@@ -248,10 +250,10 @@ static gboolean ui_refresh_thread(gpointer data)
 
 static void cb_alarm_raised(struct psensor *sensor, void *data)
 {
-       if (sensor->alarm_enabled)
+       if (config_get_sensor_alarm_enabled(sensor->id)) {
                ui_notify(sensor, (struct ui_psensor *)data);
-
-       notify_cmd(sensor);
+               notify_cmd(sensor);
+       }
 }
 
 static void associate_colors(struct psensor **sensors)
@@ -318,9 +320,6 @@ associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
                s->alarm_low_threshold
                        = config_get_sensor_alarm_low_threshold(s->id);
 
-               s->alarm_enabled
-                           = config_get_sensor_alarm_enabled(s->id);
-
                sensor_cur++;
        }
 }
index 9dce476..282eed4 100644 (file)
@@ -62,7 +62,7 @@ sensor_pref_new(struct psensor *s, struct config *cfg)
        p->sensor = s;
        p->name = strdup(s->name);
        p->graph_enabled = s->graph_enabled;
-       p->alarm_enabled = s->alarm_enabled;
+       p->alarm_enabled = config_get_sensor_alarm_enabled(s->id);
        p->color = color_dup(s->color);
        p->display_enabled = config_is_sensor_enabled(s->id);
 
@@ -384,10 +384,7 @@ static void apply_pref(struct sensor_pref *p, int pos, struct config *cfg)
        config_set_sensor_alarm_high_threshold(s->id, s->alarm_high_threshold);
        config_set_sensor_alarm_low_threshold(s->id, s->alarm_low_threshold);
 
-       if (s->alarm_enabled != p->alarm_enabled) {
-               s->alarm_enabled = p->alarm_enabled;
-               config_set_sensor_alarm_enabled(s->id, s->alarm_enabled);
-       }
+       config_set_sensor_alarm_enabled(s->id, p->alarm_enabled);
 
        color_set(s->color,
                  p->color->red,