У меня есть приложение, которое использует gconf для настройки, и я заметил, что некоторые приложения устанавливают файл схемы, в котором перечислены ключи и даны их описания.
Это обязательно или файлы схемы необязательны? Без них он точно работает.
Меня беспокоит то, что я не понимаю, как можно объяснить мою ключевую схему.
Я храню информацию об аккаунте на /apps/blah..blah/accounts
с одной папкой для каждой учетной записи, но я не понимаю, как это указать. /apps/blah..blah/accounts/<account_example>/name is a string owned by blahblah
Я сомневаюсь, что это сработает, поскольку в этой папке может быть несколько учетных записей или нет.
Некоторые ключи GConf, такие как апплеты панели и верхние уровни, также имеют арность 0..n. Связь схемы выполняется в коде, и GConf сохранит ее рядом с данными в ~ / .gconf.
Например, panel_profile_create_toplevel звонки panel_gconf_associate_schemas_in_dir который вызывает gconf_engine_associate_schema. Посылка отправляется /usr/share/gconf/schemas/panel-toplevel.schemas
который описывает /schemas/apps/panel/toplevels/*
, и этот код копирует его в /schemas/apps/panel/toplevels/$PANEL_NAME/*
.
Вы также можете использовать gconf_client_set_schema чтобы установить ключ и сразу дать ему схему. И вы можете вообще обойтись без схемы для этих ключей.
GSettings, часть Gnome 3, делает схемы обязательными для приложений, но не сохраняет их в серверной части. Схема без пути будет перемещаемой, что позволит приложению создать ее экземпляр для нескольких поддеревьев настроек.
Официальная страница с описанием различных частей приложения GConf: http://projects.gnome.org/gconf/
Это должно дать вам ответы, которые вы ищете.