Mercurial > geeqie
view src/rcfile.h @ 1464:1b3751ac4743
be more verbose on parse errors
author | nadvornik |
---|---|
date | Fri, 20 Mar 2009 10:12:29 +0000 |
parents | e015b6573d36 |
children | 9c16a93a0fdf |
line wrap: on
line source
/* * Geeqie * (C) 2004 John Ellis * Copyright (C) 2008 - 2009 The Geeqie Team * * Author: John Ellis * * This software is released under the GNU General Public License (GNU GPL). * Please read the included file COPYING for more information. * This software comes with no warranty of any kind, use at your own risk! */ #ifndef RCFILE_H #define RCFILE_H void write_indent(GString *str, gint indent); void write_char_option(GString *str, gint indent, const gchar *label, const gchar *text); gboolean read_char_option(const gchar *option, const gchar *label, const gchar *value, gchar **text); void write_color_option(GString *str, gint indent, gchar *label, GdkColor *color); gboolean read_color_option(const gchar *option, const gchar *label, const gchar *value, GdkColor *color); void write_int_option(GString *str, gint indent, const gchar *label, gint n); gboolean read_int_option(const gchar *option, const gchar *label, const gchar *value, gint *n); void write_uint_option(GString *str, gint indent, const gchar *label, guint n); gboolean read_uint_option(const gchar *option, const gchar *label, const gchar *value, guint *n); gboolean read_uint_option_clamp(const gchar *option, const gchar *label, const gchar *value, guint *n, guint min, guint max); gboolean read_int_option_clamp(const gchar *option, const gchar *label, const gchar *value, gint *n, gint min, gint max); void write_int_unit_option(GString *str, gint indent, gchar *label, gint n, gint subunits); gboolean read_int_unit_option(const gchar *option, const gchar *label, const gchar *value, gint *n, gint subunits); void write_bool_option(GString *str, gint indent, gchar *label, gint n); gboolean read_bool_option(const gchar *option, const gchar *label, const gchar *value, gint *n); #define WRITE_BOOL(_source_, _name_) write_bool_option(outstr, indent, #_name_, (_source_)._name_) #define WRITE_INT(_source_, _name_) write_int_option(outstr, indent, #_name_, (_source_)._name_) #define WRITE_UINT(_source_, _name_) write_uint_option(outstr, indent, #_name_, (_source_)._name_) #define WRITE_INT_UNIT(_source_, _name_, _unit_) write_int_unit_option(outstr, indent, #_name_, (_source_)._name_, _unit_) #define WRITE_CHAR(_source_, _name_) write_char_option(outstr, indent, #_name_, (_source_)._name_) #define WRITE_COLOR(_source_, _name_) write_color_option(outstr, indent, #_name_, &(_source_)._name_) #define WRITE_NL() write_indent(outstr, indent) #define WRITE_SEPARATOR() g_string_append(outstr, "\n") #define WRITE_SUBTITLE(_title_) g_string_append_printf(outstr, "\n\n<!-- "_title_" -->\n\n") #define WRITE_STRING(_str_) g_string_append_printf(outstr, _str_) #define READ_BOOL(_target_, _name_) read_bool_option(option, #_name_, value, &(_target_)._name_) #define READ_INT(_target_, _name_) read_int_option(option, #_name_, value, &(_target_)._name_) #define READ_UINT(_target_, _name_) read_uint_option(option, #_name_, value, &(_target_)._name_) #define READ_INT_CLAMP(_target_, _name_, _min_, _max_) read_int_option_clamp(option, #_name_, value, &(_target_)._name_, _min_, _max_) #define READ_UINT_CLAMP(_target_, _name_, _min_, _max_) read_uint_option_clamp(option, #_name_, value, &(_target_)._name_, _min_, _max_) #define READ_INT_UNIT(_target_, _name_, _unit_) read_int_unit_option(option, #_name_, value, &(_target_)._name_, _unit_) #define READ_CHAR(_target_, _name_) read_char_option(option, #_name_, value, &(_target_)._name_) #define READ_COLOR(_target_, _name_) read_color_option(option, #_name_, value, &(_target_)._name_) #define READ_BOOL_FULL(_name_, _target_) read_bool_option(option, _name_, value, &(_target_)) #define READ_INT_FULL(_name_, _target_) read_int_option(option, _name_, value, &(_target_)) #define READ_UINT_FULL(_name_, _target_) read_uint_option(option, _name_, value, &(_target_)) #define READ_INT_CLAMP_FULL(_name_, _target_, _min_, _max_) read_int_option_clamp(option, _name_, value, &(_target_), _min_, _max_) #define READ_INT_UNIT_FULL(_name_, _target_, _unit_) read_int_unit_option(option, _name_, value, &(_target_), _unit_) #define READ_CHAR_FULL(_name_, _target_) read_char_option(option, _name_, value, &(_target_)) #define READ_COLOR_FULL(_name_, _target_) read_color_option(option, _name_, value, &(_target_)) typedef struct _GQParserFuncData GQParserFuncData; typedef struct _GQParserData GQParserData; typedef void (* GQParserStartFunc)(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error); typedef void (* GQParserEndFunc)(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, gpointer data, GError **error); void options_parse_func_push(GQParserData *parser_data, GQParserStartFunc start_func, GQParserEndFunc end_func, gpointer data); void options_parse_func_pop(GQParserData *parser_data); void options_parse_func_set_data(GQParserData *parser_data, gpointer data); gboolean save_options_to(const gchar *utf8_path, ConfOptions *options); gboolean load_options_from(const gchar *utf8_path, ConfOptions *options, gboolean startup); #endif /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */