[glib/wip/gsettings-work: 7/10] GSettingsSchemaKey: getters for type and default
- From: Ryan Lortie <desrt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/wip/gsettings-work: 7/10] GSettingsSchemaKey: getters for type and default
- Date: Sun, 27 Oct 2013 16:17:25 +0000 (UTC)
commit 0395710814b871590327e64cf72b733042ac203e
Author: Ryan Lortie <desrt desrt ca>
Date: Sat Oct 26 17:44:24 2013 -0700
GSettingsSchemaKey: getters for type and default
Add getters for the type of the key and the default value.
docs/reference/gio/gio-sections.txt | 4 ++++
gio/gsettingsschema.c | 35 +++++++++++++++++++++++++++++++++++
gio/gsettingsschema.h | 5 +++++
3 files changed, 44 insertions(+), 0 deletions(-)
---
diff --git a/docs/reference/gio/gio-sections.txt b/docs/reference/gio/gio-sections.txt
index 1923ef1..709e36e 100644
--- a/docs/reference/gio/gio-sections.txt
+++ b/docs/reference/gio/gio-sections.txt
@@ -2413,6 +2413,10 @@ g_settings_schema_key_ref
g_settings_schema_key_unref
<SUBSECTION>
+g_settings_schema_key_get_value_type
+g_settings_schema_key_get_default_value
+
+<SUBSECTION>
g_settings_schema_key_get_summary
g_settings_schema_key_get_description
diff --git a/gio/gsettingsschema.c b/gio/gsettingsschema.c
index 61e1fd5..7dcc200 100644
--- a/gio/gsettingsschema.c
+++ b/gio/gsettingsschema.c
@@ -1497,3 +1497,38 @@ g_settings_schema_key_get_description (GSettingsSchemaKey *key)
return descriptions ? g_hash_table_lookup (descriptions, key->name) : NULL;
}
+
+/**
+ * g_settings_schema_key_get_value_type:
+ * @key: a #GSettingsSchemaKey
+ *
+ * Gets the #GVariantType of @key.
+ *
+ * Returns: (transfer none): the type of @key
+ *
+ * Since: 2.40
+ **/
+const GVariantType *
+g_settings_schema_key_get_value_type (GSettingsSchemaKey *key)
+{
+ return g_variant_get_type (key->default_value);
+}
+
+/**
+ * g_settings_schema_key_get_default_value:
+ * @key: a #GSettingsSchemaKey
+ *
+ * Gets the default value for @key.
+ *
+ * Note that this is the default value according to the schema. System
+ * administrator defaults and lockdown are not visible via this API.
+ *
+ * Returns: (transfer none): the default value for the key
+ *
+ * Since: 2.40
+ **/
+GVariant *
+g_settings_schema_key_get_default_value (GSettingsSchemaKey *key)
+{
+ return key->default_value;
+}
diff --git a/gio/gsettingsschema.h b/gio/gsettingsschema.h
index ee70a3f..19a3cef 100644
--- a/gio/gsettingsschema.h
+++ b/gio/gsettingsschema.h
@@ -78,6 +78,11 @@ 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
const gchar * g_settings_schema_key_get_summary (GSettingsSchemaKey *key);
GLIB_AVAILABLE_IN_2_40
const gchar * g_settings_schema_key_get_description (GSettingsSchemaKey *key);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]