GSettingsSchemaKey: add introspection APIs

Add g_settings_schema_has_key() and _get_range(), _range_check(),
_get_value_type(), _get_default_value() methods on GSettingsSchemaKey.

Deprecate the equivalent APIs on GSettings.

https://bugzilla.gnome.org/show_bug.cgi?id=683017
This commit is contained in:
Ryan Lortie
2013-10-27 17:03:04 -07:00
parent c0865fbaf2
commit bcb030a474
6 changed files with 208 additions and 112 deletions

View File

@@ -73,6 +73,9 @@ const gchar * g_settings_schema_get_path (GSettin
GLIB_AVAILABLE_IN_2_40
GSettingsSchemaKey * g_settings_schema_get_key (GSettingsSchema *schema,
const gchar *key);
GLIB_AVAILABLE_IN_2_40
gboolean g_settings_schema_has_key (GSettingsSchema *schema,
const gchar *key);
#define G_TYPE_SETTINGS_SCHEMA_KEY (g_settings_schema_key_get_type ())
GLIB_AVAILABLE_IN_2_40
@@ -83,6 +86,16 @@ GSettingsSchemaKey * g_settings_schema_key_ref (GSettin
GLIB_AVAILABLE_IN_2_40
void g_settings_schema_key_unref (GSettingsSchemaKey *key);
GLIB_AVAILABLE_IN_2_40
const GVariantType * g_settings_schema_key_get_value_type (GSettingsSchemaKey *key);
GLIB_AVAILABLE_IN_2_40
GVariant * g_settings_schema_key_get_default_value (GSettingsSchemaKey *key);
GLIB_AVAILABLE_IN_2_40
GVariant * g_settings_schema_key_get_range (GSettingsSchemaKey *key);
GLIB_AVAILABLE_IN_2_40
gboolean g_settings_schema_key_range_check (GSettingsSchemaKey *key,
GVariant *value);
GLIB_AVAILABLE_IN_2_40
const gchar * g_settings_schema_key_get_summary (GSettingsSchemaKey *key);
GLIB_AVAILABLE_IN_2_40