williamr@2: /* gkeyfile.h - desktop entry file parser williamr@2: * williamr@2: * Copyright 2004 Red Hat, Inc. williamr@2: * williamr@2: * Ray Strode williamr@2: * Portions copyright (c) 2006 Nokia Corporation. All rights reserved. williamr@2: * williamr@2: * GLib is free software; you can redistribute it and/or modify it williamr@2: * under the terms of the GNU Lesser General Public License as williamr@2: * published by the Free Software Foundation; either version 2 of the williamr@2: * License, or (at your option) any later version. williamr@2: * williamr@2: * GLib is distributed in the hope that it will be useful, williamr@2: * but WITHOUT ANY WARRANTY; without even the implied warranty of williamr@2: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU williamr@2: * Lesser General Public License for more details. williamr@2: * williamr@2: * You should have received a copy of the GNU Lesser General Public williamr@2: * License along with GLib; see the file COPYING.LIB. If not, williamr@2: * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, williamr@2: * Boston, MA 02111-1307, USA. williamr@2: */ williamr@2: williamr@2: #ifndef __G_KEY_FILE_H__ williamr@2: #define __G_KEY_FILE_H__ williamr@2: williamr@2: #include <_ansi.h> williamr@2: #include williamr@2: williamr@2: G_BEGIN_DECLS williamr@2: williamr@2: typedef enum williamr@2: { williamr@2: G_KEY_FILE_ERROR_UNKNOWN_ENCODING, williamr@2: G_KEY_FILE_ERROR_PARSE, williamr@2: G_KEY_FILE_ERROR_NOT_FOUND, williamr@2: G_KEY_FILE_ERROR_KEY_NOT_FOUND, williamr@2: G_KEY_FILE_ERROR_GROUP_NOT_FOUND, williamr@2: G_KEY_FILE_ERROR_INVALID_VALUE williamr@2: } GKeyFileError; williamr@2: williamr@2: #define G_KEY_FILE_ERROR g_key_file_error_quark() williamr@2: williamr@2: IMPORT_C GQuark g_key_file_error_quark (void); williamr@2: williamr@2: typedef struct _GKeyFile GKeyFile; williamr@2: williamr@2: typedef enum williamr@2: { williamr@2: G_KEY_FILE_NONE = 0, williamr@2: G_KEY_FILE_KEEP_COMMENTS = 1 << 0, williamr@2: G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1 williamr@2: } GKeyFileFlags; williamr@2: williamr@2: IMPORT_C GKeyFile *g_key_file_new (void); williamr@2: IMPORT_C void g_key_file_free (GKeyFile *key_file); williamr@2: IMPORT_C void g_key_file_set_list_separator (GKeyFile *key_file, williamr@2: gchar separator); williamr@2: IMPORT_C gboolean g_key_file_load_from_file (GKeyFile *key_file, williamr@2: const gchar *file, williamr@2: GKeyFileFlags flags, williamr@2: GError **error); williamr@2: IMPORT_C gboolean g_key_file_load_from_data (GKeyFile *key_file, williamr@2: const gchar *data, williamr@2: gsize length, williamr@2: GKeyFileFlags flags, williamr@2: GError **error); williamr@2: IMPORT_C gboolean g_key_file_load_from_data_dirs (GKeyFile *key_file, williamr@2: const gchar *file, williamr@2: gchar **full_path, williamr@2: GKeyFileFlags flags, williamr@2: GError **error); williamr@2: IMPORT_C gchar *g_key_file_to_data (GKeyFile *key_file, williamr@2: gsize *length, williamr@2: GError **error) G_GNUC_MALLOC; williamr@2: IMPORT_C gchar *g_key_file_get_start_group (GKeyFile *key_file) G_GNUC_MALLOC; williamr@2: IMPORT_C gchar **g_key_file_get_groups (GKeyFile *key_file, williamr@2: gsize *length) G_GNUC_MALLOC; williamr@2: IMPORT_C gchar **g_key_file_get_keys (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: gsize *length, williamr@2: GError **error) G_GNUC_MALLOC; williamr@2: IMPORT_C gboolean g_key_file_has_group (GKeyFile *key_file, williamr@2: const gchar *group_name); williamr@2: IMPORT_C gboolean g_key_file_has_key (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: GError **error); williamr@2: IMPORT_C gchar *g_key_file_get_value (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: GError **error) G_GNUC_MALLOC; williamr@2: IMPORT_C void g_key_file_set_value (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: const gchar *value); williamr@2: IMPORT_C gchar *g_key_file_get_string (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: GError **error) G_GNUC_MALLOC; williamr@2: IMPORT_C void g_key_file_set_string (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: const gchar *string); williamr@2: IMPORT_C gchar *g_key_file_get_locale_string (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: const gchar *locale, williamr@2: GError **error) G_GNUC_MALLOC; williamr@2: IMPORT_C void g_key_file_set_locale_string (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: const gchar *locale, williamr@2: const gchar *string); williamr@2: IMPORT_C gboolean g_key_file_get_boolean (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: GError **error); williamr@2: IMPORT_C void g_key_file_set_boolean (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: gboolean value); williamr@2: IMPORT_C gint g_key_file_get_integer (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: GError **error); williamr@2: IMPORT_C void g_key_file_set_integer (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: gint value); williamr@2: IMPORT_C gchar **g_key_file_get_string_list (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: gsize *length, williamr@2: GError **error) G_GNUC_MALLOC; williamr@2: IMPORT_C void g_key_file_set_string_list (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: const gchar * const list[], williamr@2: gsize length); williamr@2: IMPORT_C gchar **g_key_file_get_locale_string_list (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: const gchar *locale, williamr@2: gsize *length, williamr@2: GError **error) G_GNUC_MALLOC; williamr@2: IMPORT_C void g_key_file_set_locale_string_list (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: const gchar *locale, williamr@2: const gchar * const list[], williamr@2: gsize length); williamr@2: IMPORT_C gboolean *g_key_file_get_boolean_list (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: gsize *length, williamr@2: GError **error) G_GNUC_MALLOC; williamr@2: IMPORT_C void g_key_file_set_boolean_list (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: gboolean list[], williamr@2: gsize length); williamr@2: IMPORT_C gint *g_key_file_get_integer_list (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: gsize *length, williamr@2: GError **error) G_GNUC_MALLOC; williamr@2: IMPORT_C void g_key_file_set_integer_list (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: gint list[], williamr@2: gsize length); williamr@2: IMPORT_C void g_key_file_set_comment (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: const gchar *comment, williamr@2: GError **error); williamr@2: IMPORT_C gchar *g_key_file_get_comment (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: GError **error) G_GNUC_MALLOC; williamr@2: williamr@2: IMPORT_C void g_key_file_remove_comment (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: GError **error); williamr@2: IMPORT_C void g_key_file_remove_key (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: const gchar *key, williamr@2: GError **error); williamr@2: IMPORT_C void g_key_file_remove_group (GKeyFile *key_file, williamr@2: const gchar *group_name, williamr@2: GError **error); williamr@2: williamr@2: G_END_DECLS williamr@2: williamr@2: #endif /* __G_KEY_FILE_H__ */