packaging 1.1.3
[psensor-pkg-debian.git] / src / cfg.h
index f7d4df1..ed2e20e 100644 (file)
--- a/src/cfg.h
+++ b/src/cfg.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2012 jeanfi@gmail.com
+ * Copyright (C) 2010-2014 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
 #ifndef _PSENSOR_CONFIG_H_
 #define _PSENSOR_CONFIG_H_
 
-#include "color.h"
+#include <gio/gio.h>
+
+#include <bool.h>
+#include <color.h>
+
+enum temperature_unit {
+       CELSIUS,
+       FAHRENHEIT
+};
 
 enum sensorlist_position {
        SENSORLIST_POSITION_RIGHT,
@@ -34,16 +42,14 @@ struct config {
 
        double graph_bg_alpha;
 
-       int alpha_channel_enabled;
+       bool alpha_channel_enabled;
 
-       /*
-          Position of the sensors list table
-        */
+       /* Position of the sensors list table */
        enum sensorlist_position sensorlist_position;
 
-       int window_decoration_enabled;
-       int window_keep_below_enabled;
-       int window_restore_enabled;
+       bool window_decoration_enabled;
+       bool window_keep_below_enabled;
+       bool window_restore_enabled;
        /* Last saved position of the window. */
        int window_x;
        int window_y;
@@ -59,37 +65,98 @@ struct config {
        int sensor_values_max_length;
        int sensor_update_interval;
 
-       int menu_bar_disabled;
+       bool menu_bar_disabled;
 
-       int unity_launcher_count_disabled;
+       bool unity_launcher_count_disabled;
 
        int hide_on_startup;
+
+       enum temperature_unit temperature_unit;
+
+       bool slog_enabled;
+       int slog_interval;
 };
 
-/*
-  Loads config from GConf
-*/
+/* Loads psensor configuration */
 struct config *config_load();
 
-void config_save(struct config *);
-
-void config_init();
+void config_save(const struct config *);
 
 void config_cleanup();
 
-struct color *config_get_sensor_color(char *, struct color *);
-void config_set_sensor_color(char *, struct color *);
+struct color *config_get_sensor_color(const char *sid, const struct color *);
+void config_set_sensor_color(const char *sid, const struct color *);
+
+int config_get_sensor_alarm_high_threshold(const char *);
+void config_set_sensor_alarm_high_threshold(const char *, int);
+
+int config_get_sensor_alarm_low_threshold(const char *);
+void config_set_sensor_alarm_low_threshold(const char *, int);
+
+bool config_get_sensor_alarm_enabled(const char *);
+void config_set_sensor_alarm_enabled(const char *, bool);
+
+bool config_is_sensor_graph_enabled(const char *);
+void config_set_sensor_graph_enabled(const char *, bool);
+
+char *config_get_sensor_name(const char *);
+void config_set_sensor_name(const char *, const char *);
+
+bool config_is_appindicator_enabled(const char *);
+void config_set_appindicator_enabled(const char *, bool);
+
+bool config_is_appindicator_label_enabled(const char *);
+void config_set_appindicator_label_enabled(const char *, bool);
 
-int config_get_sensor_alarm_limit(char *, int);
-void config_set_sensor_alarm_limit(char *, int);
+bool is_slog_enabled();
+void config_set_slog_enabled_changed_cbk(void (*)(void *), void *);
 
-int config_get_sensor_alarm_enabled(char *);
-void config_set_sensor_alarm_enabled(char *, int);
+int config_get_slog_interval();
+
+bool config_is_smooth_curves_enabled();
+void config_set_smooth_curves_enabled(bool);
+
+int config_get_sensor_position(const char *);
+void config_set_sensor_position(const char *, int);
+
+char *config_get_notif_script();
+void config_set_notif_script(const char *);
+
+bool config_is_sensor_enabled(const char *sid);
+void config_set_sensor_enabled(const char *sid, bool enabled);
+
+bool config_is_lmsensor_enabled();
+void config_set_lmsensor_enable(bool);
+
+bool config_is_gtop2_enabled();
+void config_set_gtop2_enable(bool);
+
+bool config_is_udisks2_enabled();
+void config_set_udisks2_enable(bool);
+
+bool config_is_hddtemp_enabled();
+void config_set_hddtemp_enable(bool);
+
+bool config_is_libatasmart_enabled();
+void config_set_libatasmart_enable(bool);
+
+bool config_is_nvctrl_enabled();
+void config_set_nvctrl_enable(bool);
+
+bool config_is_atiadlsdk_enabled();
+void config_set_atiadlsdk_enable(bool);
+
+/*
+ * Returns the user directory containing psensor data (configuration
+ * and log).
+ * Corresponds to $HOME/.psensor/
+ * Creates the directory if it does not exist;
+ * Returns NULL if it cannot be determined.
+ */
+const char *get_psensor_user_dir();
 
-int config_is_sensor_enabled(char *);
-void config_set_sensor_enabled(char *, int);
+void config_sync();
 
-char *config_get_sensor_name(char *);
-void config_set_sensor_name(char *, const char *);
+GSettings *config_get_GSettings();
 
 #endif