diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-01-10 17:26:10 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-01-10 20:30:32 -0800 |
commit | 868a2cc0905b719cb5f3eaf15f0550d6ce82dbeb (patch) | |
tree | f7cca241ff73a2ae6c38c975911b3beae5cc1406 /pref.h | |
parent | 4c13f1f6b4ad7deb2071fb4848ddf43be0af4db7 (diff) | |
download | subsurface-868a2cc0905b719cb5f3eaf15f0550d6ce82dbeb.tar.gz |
Split up preference data structure definition into 'pref.h'
.. and rename the badly named 'output_units/input_units' variables.
We used to have this confusing thing where we had two different units
(input vs output) that *look* like they are mirror images, but in fact
"output_units" was the user units, and "input_units" are the XML parsing
units.
So this renames them to be clearer. "output_units" is now just "units"
(it's the units a user would ever see), and "input_units" is now
"xml_parsing_units" and set by the XML file parsers to reflect the units
of the parsed file.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'pref.h')
-rw-r--r-- | pref.h | 54 |
1 files changed, 54 insertions, 0 deletions
@@ -0,0 +1,54 @@ +#ifndef PREF_H +#define PREF_H + +typedef struct { + gboolean cylinder; + gboolean temperature; + gboolean totalweight; + gboolean suit; + gboolean nitrox; + gboolean sac; + gboolean otu; + gboolean maxcns; +} visible_cols_t; + +typedef struct { + gboolean po2; + gboolean pn2; + gboolean phe; + double po2_threshold; + double pn2_threshold; + double phe_threshold; +} partial_pressure_graphs_t; + +struct preferences { + struct units units; + visible_cols_t visible_cols; + partial_pressure_graphs_t pp_graphs; + gboolean profile_red_ceiling; + gboolean profile_calc_ceiling; + gboolean calc_ceiling_3m_incr; + double gflow; + double gfhigh; +}; + +extern struct preferences prefs, default_prefs; + +#define PP_GRAPHS_ENABLED (prefs.pp_graphs.po2 || prefs.pp_graphs.pn2 || prefs.pp_graphs.phe) + +typedef enum { + PREF_BOOL, + PREF_STRING +} pref_type_t; + +#define BOOL_TO_PTR(_cond) ((_cond) ? (void *)1 : NULL) +#define PTR_TO_BOOL(_ptr) ((_ptr) != NULL) + +extern void subsurface_open_conf(void); +extern void subsurface_set_conf(char *name, pref_type_t type, const void *value); +extern void subsurface_unset_conf(char *name); +extern const void *subsurface_get_conf(char *name, pref_type_t type); +extern void subsurface_flush_conf(void); +extern void subsurface_close_conf(void); + +#endif /* PREF_H */ |