From 837c8ac28740acafd262a7c30818d53b9940cbfa Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Fri, 26 Sep 2014 08:57:05 +0200 Subject: [PATCH] avoid config in the psensor struct --- src/lib/psensor.c | 15 ++++++--------- src/lib/psensor.h | 3 --- src/main.c | 25 ++++++++++++------------- src/ui_sensorpref.c | 7 ++----- 4 files changed, 20 insertions(+), 30 deletions(-) diff --git a/src/lib/psensor.c b/src/lib/psensor.c index c8dc6a9..58731d5 100644 --- a/src/lib/psensor.c +++ b/src/lib/psensor.c @@ -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; } } diff --git a/src/lib/psensor.h b/src/lib/psensor.h index a04c0ac..505bd6f 100644 --- a/src/lib/psensor.h +++ b/src/lib/psensor.h @@ -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; diff --git a/src/main.c b/src/main.c index f817c14..3a126c5 100644 --- a/src/main.c +++ b/src/main.c @@ -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++; } } diff --git a/src/ui_sensorpref.c b/src/ui_sensorpref.c index 9dce476..282eed4 100644 --- a/src/ui_sensorpref.c +++ b/src/ui_sensorpref.c @@ -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, -- 2.7.4