The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Key-value file parser

Key-value file parser — Анализ .ini-подобных конфигурационных файлов

Краткое описание


#include <glib.h>


            GKeyFile;
#define     G_KEY_FILE_ERROR
enum        GKeyFileError;
enum        GKeyFileFlags;
GKeyFile*   g_key_file_new                  (void);
void        g_key_file_free                 (GKeyFile *key_file);
void        g_key_file_set_list_separator   (GKeyFile *key_file,
                                             gchar separator);
gboolean    g_key_file_load_from_file       (GKeyFile *key_file,
                                             const gchar *file,
                                             GKeyFileFlags flags,
                                             GError **error);
gboolean    g_key_file_load_from_data       (GKeyFile *key_file,
                                             const gchar *data,
                                             gsize length,
                                             GKeyFileFlags flags,
                                             GError **error);
gboolean    g_key_file_load_from_data_dirs  (GKeyFile *key_file,
                                             const gchar *file,
                                             gchar **full_path,
                                             GKeyFileFlags flags,
                                             GError **error);
gchar*      g_key_file_to_data              (GKeyFile *key_file,
                                             gsize *length,
                                             GError **error);
gchar*      g_key_file_get_start_group      (GKeyFile *key_file);
gchar**     g_key_file_get_groups           (GKeyFile *key_file,
                                             gsize *length);
gchar**     g_key_file_get_keys             (GKeyFile *key_file,
                                             const gchar *group_name,
                                             gsize *length,
                                             GError **error);
gboolean    g_key_file_has_group            (GKeyFile *key_file,
                                             const gchar *group_name);
gboolean    g_key_file_has_key              (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

gchar*      g_key_file_get_value            (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);
gchar*      g_key_file_get_string           (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);
gchar*      g_key_file_get_locale_string    (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *locale,
                                             GError **error);
gboolean    g_key_file_get_boolean          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);
gint        g_key_file_get_integer          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);
gdouble     g_key_file_get_double           (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);
gchar**     g_key_file_get_string_list      (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gsize *length,
                                             GError **error);
gchar**     g_key_file_get_locale_string_list
                                            (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *locale,
                                             gsize *length,
                                             GError **error);
gboolean*   g_key_file_get_boolean_list     (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gsize *length,
                                             GError **error);
gint*       g_key_file_get_integer_list     (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gsize *length,
                                             GError **error);
gdouble*    g_key_file_get_double_list      (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gsize *length,
                                             GError **error);
gchar*      g_key_file_get_comment          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

void        g_key_file_set_value            (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *value);
void        g_key_file_set_string           (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *string);
void        g_key_file_set_locale_string    (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *locale,
                                             const gchar *string);
void        g_key_file_set_boolean          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gboolean value);
void        g_key_file_set_integer          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gint value);
void        g_key_file_set_double           (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gdouble value);
void        g_key_file_set_string_list      (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key);
void        g_key_file_set_locale_string_list
                                            (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *locale);
void        g_key_file_set_boolean_list     (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gboolean list[],
                                             gsize length);
void        g_key_file_set_integer_list     (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gint list[],
                                             gsize length);
void        g_key_file_set_double_list      (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gdouble list[],
                                             gsize length);
void        g_key_file_set_comment          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *comment,
                                             GError **error);
void        g_key_file_remove_group         (GKeyFile *key_file,
                                             const gchar *group_name,
                                             GError **error);
void        g_key_file_remove_key           (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);
void        g_key_file_remove_comment       (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

Описание

GKeyFile позволяет вам анализировать, редактировать или создавать файлы содержащие группы пар ключ-значение, которые мы называем key files за неимением лучшего названия. Несколько спецификаций freedesktop.org используют ключевые фйлы, например Desktop Entry Specification и Icon Theme Specification.

Синтаксис ключевых файлов детально описан в Desktop Entry Specification, вот короткое описание: Ключевые файлы содержат группы пар ключ-значение, сопровождаемые коментариями.

# это простой пример
# здесь мог бы быть комментарий для первой группы

[Первая группа]

Name=Key File Example\tthis value shows\nescaping

# Локализованные строки хранятся в нескольких парах ключ-значение
Welcome=Hello
Welcome[de]=Hallo
Welcome[fr]=Bonjour
Welcome[it]=Ciao

[Другая группа]

Numbers=2;20;-200;0

Booleans=true;false;true;true

Строки начинающиеся со знака '#' и пустые строки рассматриваются как комментарии.

Группы начинаются заглавными строками содержащими имя группы заключённое в '[' и ']', а заканчиваются началом следующей группы или концом файла. Каждая пара ключ-значение должна находится в группе.

Пары ключевых значений в основном имеют форму key=value, за исключением локализованных строк, которые имеют форму key[locale]=value. Пробелы после или до знака '=' игнорируются. Символ новый строки, табуляции, перевод каретки или обратный слэш обозначаются как \n, \t, \r, и \\, соответственно. Для сохранения начальных и завершающих пробелов, их можно обозначить как \s.

Ключи файла могут хранить строки (возможно с локализованными вариантами), целочисленные, логические значения и их списки. Списки разделяются символом разделителя, обычно ';' или ','. Для использования символа разделителя списка в значениях списка, его нужно обозначить предустановленным обратным слэшем.

Этот синтаксис подобен .ini файлам обычно встречающимся в Windows, но есть некоторые важные различия:

  • .ini файлы используют символ ';' для начала комментариев, ключевые файлы используют символ '#'.

  • Ключевые файлы допускают только комментарии перед первой группой.

  • Ключевые файлы всегда в кодировке UTF-8.

  • Имена Ключей и Групп чувствительны к регистру, например группа с именем [GROUP] отличается от группы [group].

Детали

GKeyFile

typedef struct _GKeyFile GKeyFile;

Структура GKeyFile содержит только закрытые поля и не должна использоваться непосредственно.


G_KEY_FILE_ERROR

#define G_KEY_FILE_ERROR g_key_file_error_quark()

Домен ошибки для анализатора ключевых файлов. Ошибки в этом домене из перечисления GKeyFileError. Смотрите GError для информации о доменах ошибки.


enum GKeyFileError

typedef enum
{
  G_KEY_FILE_ERROR_UNKNOWN_ENCODING,
  G_KEY_FILE_ERROR_PARSE,
  G_KEY_FILE_ERROR_NOT_FOUND,
  G_KEY_FILE_ERROR_KEY_NOT_FOUND,
  G_KEY_FILE_ERROR_GROUP_NOT_FOUND,
  G_KEY_FILE_ERROR_INVALID_VALUE
} GKeyFileError;

Коды ошибок возвращаемые анализатором ключевых файлов.

G_KEY_FILE_ERROR_UNKNOWN_ENCODING анализируемый текст был в неизвестной кодировке
G_KEY_FILE_ERROR_PARSE документ был плохо сформирован
G_KEY_FILE_ERROR_NOT_FOUND файл не найден
G_KEY_FILE_ERROR_KEY_NOT_FOUND требуемый ключ не найден
G_KEY_FILE_ERROR_GROUP_NOT_FOUND требуемая группа не найдена
G_KEY_FILE_ERROR_INVALID_VALUE значение не может быть проанализировано

enum GKeyFileFlags

typedef enum
{
  G_KEY_FILE_NONE              = 0,
  G_KEY_FILE_KEEP_COMMENTS     = 1 << 0,
  G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1
} GKeyFileFlags;

Флаги влияющие на анализ.

G_KEY_FILE_NONE Нет флагов, поведение по умолчанию
G_KEY_FILE_KEEP_COMMENTS Используйте этот флаг если вы планируете записать (возможно изменённое) содержимое ключевого файла обратно в файл; иначе все комментарии будут потеряны после записи ключевого файла обратно.
G_KEY_FILE_KEEP_TRANSLATIONS Используйте этот флаг если вы планируете записать (возможно изменённое) содержимое ключевого файла в файл; иначе будет записан только перевод для текущего языка.

g_key_file_new ()

GKeyFile*   g_key_file_new                  (void);

Создаёт новый пустой объект GKeyFile. Используйте g_key_file_load_from_file(), g_key_file_load_from_data() или g_key_file_load_from_data_dirs() для чтения существующего ключевого файла.

Возвращает : пустой GKeyFile.

Начиная с версии 2.6


g_key_file_free ()

void        g_key_file_free                 (GKeyFile *key_file);

Освобождает GKeyFile.

key_file : GKeyFile

Начиная с версии 2.6


g_key_file_set_list_separator ()

void        g_key_file_set_list_separator   (GKeyFile *key_file,
                                             gchar separator);

Устанавливает символ используемый для разделения значений в списках. Обычно ';' или ',' используются в качестве разделителя. По умолчанию разделителем списков является ';'.

key_file : GKeyFile
separator : разделитель

Начиная с версии 2.6


g_key_file_load_from_file ()

gboolean    g_key_file_load_from_file       (GKeyFile *key_file,
                                             const gchar *file,
                                             GKeyFileFlags flags,
                                             GError **error);

Загружает ключевой файл в пустую структуру GKeyFile. Если файл не загружен, то устанавливается error в GFileError или GKeyFileError.

key_file : пустая структура GKeyFile
file : путь имени файла для загрузки, в кодировке имён файлов GLib
flags : флаги из GKeyFileFlags
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если ключевой файл был загружен, FALSE если нет.

Начиная с версии 2.6


g_key_file_load_from_data ()

gboolean    g_key_file_load_from_data       (GKeyFile *key_file,
                                             const gchar *data,
                                             gsize length,
                                             GKeyFileFlags flags,
                                             GError **error);

Загружает ключевой файл из памяти в пустую структуру GKeyFile. Если объект не создан, то устанавливается error в GKeyFileError.

key_file : пустая структура GKeyFile
data : ключевой файл загружаемый из памяти.
length : длина data в байтах
flags : флаги из GKeyFileFlags
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если ключевой файл был загружен, FALSE если нет.

Начиная с версии 2.6


g_key_file_load_from_data_dirs ()

gboolean    g_key_file_load_from_data_dirs  (GKeyFile *key_file,
                                             const gchar *file,
                                             gchar **full_path,
                                             GKeyFileFlags flags,
                                             GError **error);

Эта функция находит ключевой файл с именем file в путях возвращаемых из g_get_user_data_dir() и g_get_system_data_dirs(), загружает файл в key_file и возвращает полный путь файла в full_path. Если файл не загружен то устанавливается error в GFileError или GKeyFileError.

key_file : пустая структура GKeyFile
file : относительный путь к фалу для анализа
full_path : расположение для возвращаемой строки содержащей полный путь файла, или NULL
flags : флаги из GKeyFileFlags
error : расположение для возвращаемой GError, или NULL
Возвращает : TRUE если ключевой файл был загружен, FALSE если нет

Начиная с версии 2.6


g_key_file_to_data ()

gchar*      g_key_file_to_data              (GKeyFile *key_file,
                                             gsize *length,
                                             GError **error);

Эта функция выводит key_file как строку.

key_file : GKeyFile
length : расположение для длины возвращаемой строки, или NULL
error : расположение для возвращаемой GError, или NULL
Возвращает : вновь распределённая строка содержащая контекст GKeyFile

Начиная с версии 2.6


g_key_file_get_start_group ()

gchar*      g_key_file_get_start_group      (GKeyFile *key_file);

Возвращает имя начальной группы файла.

key_file : GKeyFile
Возвращает : Начальная группа ключевого файла.

Начиная с версии 2.6


g_key_file_get_groups ()

gchar**     g_key_file_get_groups           (GKeyFile *key_file,
                                             gsize *length);

Возвращает все группы ключевого файла загруженного из key_file. Массив возвращаемых групп будет NULL-завершённым, поэтому length опционально может быть NULL.

key_file : GKeyFile
length : расположение для количества возвращаемых групп, или NULL
Возвращает : вновь распределённый NULL-завершённый массив строк. Используйте g_strfreev() для его освобождения.

Начиная с версии 2.6


g_key_file_get_keys ()

gchar**     g_key_file_get_keys             (GKeyFile *key_file,
                                             const gchar *group_name,
                                             gsize *length,
                                             GError **error);

Возвращает все ключи для группы с именем group_name. Массив возвращаемых ключей будет NULL-завершённым, поэтому length опционально может быть NULL. Даже если group_name не найдена, возвращается NULL и устанавливается error в G_KEY_FILE_ERROR_GROUP_NOT_FOUND.

key_file : GKeyFile
group_name : имя группы
length : расположение для возвращаемого количества возвращённых ключей, или NULL
error : расположение для GError, или NULL
Возвращает : вновь распределённый NULL-завершённый массив строк. Используйте g_strfreev() для его освобождения.

Начиная с версии 2.6


g_key_file_has_group ()

gboolean    g_key_file_has_group            (GKeyFile *key_file,
                                             const gchar *group_name);

Определяет имеет ли ключевой файл группу group_name.

key_file : GKeyFile
group_name : имя группы
Возвращает : TRUE если group_name часть key_file, иначе FALSE.

Начиная с версии 2.6


g_key_file_has_key ()

gboolean    g_key_file_has_key              (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

Определяет имеет ли ключевой файл ключ key в группе group_name.

key_file : GKeyFile
group_name : имя группы
key : имя ключа
error : расположение для возвращаемой GError
Возвращает : TRUE если key часть group_name, иначе FALSE.

Начиная с версии 2.6


g_key_file_get_value ()

gchar*      g_key_file_get_value            (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

Возвращает значение связанное с key в group_name.

В случае когда ключ не найден, возвращает NULL и устанавливает error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. В случае когда group_name не найдена, возвращает NULL и устанавливает error в G_KEY_FILE_ERROR_GROUP_NOT_FOUND.

key_file : GKeyFile
group_name : имя группы
key : ключ
error : расположение для возвращаемой GError, или NULL
Возвращает : вновь распределённая строка, или NULL если определённый ключ не найден.

Начиная с версии 2.6


g_key_file_get_string ()

gchar*      g_key_file_get_string           (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

Возвращает значение связанное с key в group_name.

Когда ключ не найден, возвращает NULL и устанавливает error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. В случае если group_name не найдена, возвращает NULL и устанавливает error в G_KEY_FILE_ERROR_GROUP_NOT_FOUND.

key_file : GKeyFile
group_name : имя группы
key : ключ
error : расположение возвращаемой GError, или NULL
Возвращает : вновь распределённая строка или NULL если определённый ключ не найден.

Начиная с версии 2.6


g_key_file_get_locale_string ()

gchar*      g_key_file_get_locale_string    (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *locale,
                                             GError **error);

Возвращает значение связанное с key в group_name переведённое в полученную locale если возможно. Если locale это NULL, то используется текущая локаль.

Если key не найден, то возвращает NULL и устанавливает error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. Если значение связанное с key не может интерпретироваться или не найден подходящий перевод, то возвращается не переведённое значение.

key_file : GKeyFile
group_name : имя группы
key : ключ
locale : локаль или NULL
error : расположение для возвращаемой GError, или NULL
Возвращает : вновь распределённая строка или NULL если определённый ключ не найден.

Начиная с версии 2.6


g_key_file_get_boolean ()

gboolean    g_key_file_get_boolean          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

Возвращает значение связанное с key в group_name как логическое.

Если key не найден то возвращаемое значение не определено и устанавливается error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. Аналогично, если значение связанное с key не интерпретируется как логическое, то возвращаемое значение также не определено и устанавливается error в G_KEY_FILE_ERROR_INVALID_VALUE.

key_file : GKeyFile
group_name : имя группы
key : ключ
error : расположение для возвращаемой GError
Возвращает : логическое значение связанное с ключом

Начиная с версии 2.6


g_key_file_get_integer ()

gint        g_key_file_get_integer          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

Возвращает значение связанное с key в group_name как целочисленное. Если group_name это NULL, то используется начальная группа (start_group).

Если key не найден, то возвращаемое значение не определено и устанавливается error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. Аналогично, если значение связанное с key не интерпретируется как целочисленное, то возвращаемое значение также не определено и устанавливается error в G_KEY_FILE_ERROR_INVALID_VALUE.

key_file : GKeyFile
group_name : имя группы
key : ключ
error : расположение для возвращаемой GError
Возвращает : целочисленное значение связанное с ключом.

Начиная с версии 2.6


g_key_file_get_double ()

gdouble     g_key_file_get_double           (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

Возвращает значение связанное с key в group_name как double. Если group_name это NULL, используется начальная группа (start_group).

Если key не найден, то возвращаемое значение не определено и устанавливается error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. Аналогично, если значение связанное с key не интерпретируется как double, то возвращаемое значение также не определено и устанавливается error в G_KEY_FILE_ERROR_INVALID_VALUE.

key_file : GKeyFile
group_name : имя группы
key : ключ
error : расположение для возвращаемой GError
Возвращает : double значение связанное с ключом.

Начиная с версии 2.12


g_key_file_get_string_list ()

gchar**     g_key_file_get_string_list      (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gsize *length,
                                             GError **error);

Возвращает значение связанное с key в group_name.

В случае когда ключ не найден, возвращает NULL и устанавливает error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. Если group_name не найдена, возвращает NULL и устанавливает error в G_KEY_FILE_ERROR_GROUP_NOT_FOUND.

key_file : GKeyFile
group_name : имя группы
key : ключ
length : расположение для количества возвращаемых строк, или NULL
error : расположение для возвращаемой GError, или NULL
Возвращает : NULL-завершённый строковый массив или NULL если определённый ключ не найден. Массив должен освобождаться с помощью g_strfreev().

Начиная с версии 2.6


g_key_file_get_locale_string_list ()

gchar**     g_key_file_get_locale_string_list
                                            (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *locale,
                                             gsize *length,
                                             GError **error);

Возвращает значение связанное с key в group_name переводя в полученную locale если возможно. Если locale это NULL, то используется текущая локаль.

Если key не найден, то возвращает NULL и устанавливает error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. Если значения связанные с key не могут интерпретироваться или не подлежат переводу, то возвращает не переведённые значения. Возвращённый массив NULL-завершённый, поэтому length может опционально быть NULL.

key_file : GKeyFile
group_name : имя группы
key : ключ
locale : локаль
length : расположение для количества возвращаемых строк или NULL
error : расположение для возвращаемой GError или NULL
Возвращает : вновь распределённый NULL-завершённый массив строк или NULL если ключ не найден. Строковый массив должен освобождаться с помощью g_strfreev().

Начиная с версии 2.6


g_key_file_get_boolean_list ()

gboolean*   g_key_file_get_boolean_list     (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gsize *length,
                                             GError **error);

Возвращает значение связанное с key в group_name как список логических. Если group_name это NULL, используется начальная группа (start_group).

Если key не найден, то возвращаемое значение не определено и устанавливается error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. Аналогично, если значения связанные с key не интерпретируются как логические, то возвращаемое значение также не определено и устанавливается error в G_KEY_FILE_ERROR_INVALID_VALUE.

key_file : GKeyFile
group_name : имя группы
key : ключ
length : количество возвращаемых логических
error : расположение для возвращаемой GError
Возвращает : логические значения связанные с ключом

Начиная с версии 2.6


g_key_file_get_integer_list ()

gint*       g_key_file_get_integer_list     (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gsize *length,
                                             GError **error);

Возвращает значения связанные с key в group_name как список целочисленных.

Если key не найден, то возвращаемое значение не определено и устанавливается error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. Аналогично, если значения связанные с key не интерпретируются как целочисленные, то возвращаемое значение также не определено и устанавливается error в G_KEY_FILE_ERROR_INVALID_VALUE.

key_file : GKeyFile
group_name : имя группы
key : ключ
length : количество возвращаемых целочисленных
error : расположение для возвращаемой GError
Возвращает : целочисленные значения связанные с ключом

Начиная с версии 2.6


g_key_file_get_double_list ()

gdouble*    g_key_file_get_double_list      (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gsize *length,
                                             GError **error);

Возвращает значение связанное с key в group_name как doubles. Если group_name это NULL, используется начальная группа.

Если key не найден, то возвращаемое значение не определено и устанавливается error в G_KEY_FILE_ERROR_KEY_NOT_FOUND. Аналогично, если значения связанные с key не интерпретируются как doubles, то возвращаемое значение также не определено и error устанавливается в G_KEY_FILE_ERROR_INVALID_VALUE.

key_file : GKeyFile
group_name : имя группы
key : ключ
length : количество возвращаемых doubles
error : расположение для возвращаемой GError
Возвращает : значения связанные с key как double

Начиная с версии 2.12


g_key_file_get_comment ()

gchar*      g_key_file_get_comment          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

Находит комментарий выше key из group_name. Если key это NULL, то comment будет прочитан сверху group_name. Если и key и group_name являются NULL, то comment будет прочитан сверху первой группы в файле.

key_file : GKeyFile
group_name : имя группы, или NULL
key : ключ
error : расположение для возвращаемой GError
Возвращает : комментарий который должен быть освобождён с помощью g_free()

Начиная с версии 2.6


g_key_file_set_value ()

void        g_key_file_set_value            (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *value);

Связывает новое значение с key в group_name. Если key не найден, то он создаётся. Если group_name не найдена, то она создаётся.

key_file : GKeyFile
group_name : имя группы
key : ключ
value : строка

Начиная с версии 2.6


g_key_file_set_string ()

void        g_key_file_set_string           (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *string);

Связывает новое строковое значение с key в group_name. Если key не найден, то он создаётся. Если group_name не найдена, то она создаётся.

key_file : GKeyFile
group_name : имя группы
key : ключ
string : строка

Начиная с версии 2.6


g_key_file_set_locale_string ()

void        g_key_file_set_locale_string    (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *locale,
                                             const gchar *string);

Связывает строковое значение с key и locale в group_name. Если перевод для key не найден, то он создаётся.

key_file : GKeyFile
group_name : имя группы
key : ключ
locale : локаль
string : строка

Начиная с версии 2.6


g_key_file_set_boolean ()

void        g_key_file_set_boolean          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gboolean value);

Связывает новое логическое значение с key в group_name. Если key не найден, он создаётся.

key_file : GKeyFile
group_name : имя группы
key : ключ
value : TRUE или FALSE

Начиная с версии 2.6


g_key_file_set_integer ()

void        g_key_file_set_integer          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gint value);

Связывает новое целочисленное значение с key в group_name. Если key не найден, то он создаётся.

key_file : GKeyFile
group_name : имя группы
key : ключ
value : целочисленное значение

Начиная с версии 2.6


g_key_file_set_double ()

void        g_key_file_set_double           (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gdouble value);

Связывает новое значение double с key в group_name. Если key не найден, он создаётся. Если group_name это NULL, используется начальная группа.

key_file : GKeyFile
group_name : имя группы
key : ключ
value : значение double

Начиная с версии 2.12


g_key_file_set_string_list ()

void        g_key_file_set_string_list      (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key);

Связывает список строковых значений с key в group_name. Если key не найден, то он создаётся. Если group_name не найдена, то она создаётся.

key_file : GKeyFile
group_name : имя группы
key : ключ

Начиная с версии 2.6


g_key_file_set_locale_string_list ()

void        g_key_file_set_locale_string_list
                                            (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *locale);

Связывает список строковых значений с key и locale в group_name. Если перевод для key не найден, то он создаётся.

key_file : GKeyFile
group_name : имя группы
key : ключ
locale : локаль

Начиная с версии 2.6


g_key_file_set_boolean_list ()

void        g_key_file_set_boolean_list     (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gboolean list[],
                                             gsize length);

Связывает список логических значений с key в group_name. Если key не найден, то он создаётся. Если group_name это NULL, то используется начальная группа (start_group).

key_file : GKeyFile
group_name : имя группы
key : ключ
list : массив логических значений
length : длина list

Начиная с версии 2.6


g_key_file_set_integer_list ()

void        g_key_file_set_integer_list     (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gint list[],
                                             gsize length);

Связывает список целочисленных значений с key в group_name. Если key не найден, то он создаётся.

key_file : GKeyFile
group_name : имя группы
key : ключ
list : массив целочисленных значений
length : количество целочисленных значений в list

Начиная с версии 2.6


g_key_file_set_double_list ()

void        g_key_file_set_double_list      (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             gdouble list[],
                                             gsize length);

Связывает список значений double с key в group_name. Если key не найден, то он создаётся. Если group_name это NULL, то используется начальная группа.

key_file : GKeyFile
group_name : имя группы
key : ключ
list : массив double значений
length : количество double значений в list

Начиная с версии 2.12


g_key_file_set_comment ()

void        g_key_file_set_comment          (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             const gchar *comment,
                                             GError **error);

Размещает комментарий выше key из group_name. Если key это NULL, то comment будет записан вверху group_name. Если и key и group_name являются NULL, то comment будет записан сверху первой группы в файле.

key_file : GKeyFile
group_name : имя группы, или NULL
key : ключ
comment : комментарий
error : расположение для возвращаемой GError

Начиная с версии 2.6


g_key_file_remove_group ()

void        g_key_file_remove_group         (GKeyFile *key_file,
                                             const gchar *group_name,
                                             GError **error);

Удаляет определённую группу, group_name, из ключевого файла.

key_file : GKeyFile
group_name : имя группы
error : расположение для возвращаемой GError или NULL

Начиная с версии 2.6


g_key_file_remove_key ()

void        g_key_file_remove_key           (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

Удаляет key в group_name из ключевого файла.

key_file : GKeyFile
group_name : имя группы
key : имя ключа для удаления
error : расположение для возвращаемой GError или NULL

Начиная с версии 2.6


g_key_file_remove_comment ()

void        g_key_file_remove_comment       (GKeyFile *key_file,
                                             const gchar *group_name,
                                             const gchar *key,
                                             GError **error);

Удаляет комментарий выше key из group_name.

key_file : GKeyFile
group_name : имя группы, или NULL
key : ключ
error : расположение для возвращаемой GError

Начиная с версии 2.6




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру