1 /* 2 * Copyright © 2010 Codethink Limited 3 * Copyright © 2011 Canonical Limited 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #ifndef __G_SETTINGS_SCHEMA_H__ 20 #define __G_SETTINGS_SCHEMA_H__ 21 22 #include <glib-object.h> 23 24 G_BEGIN_DECLS 25 26 typedef struct _GSettingsSchemaSource GSettingsSchemaSource; 27 typedef struct _GSettingsSchema GSettingsSchema; 28 typedef struct _GSettingsSchemaKey GSettingsSchemaKey; 29 30 #define G_TYPE_SETTINGS_SCHEMA_SOURCE (g_settings_schema_source_get_type ()) 31 GLIB_AVAILABLE_IN_2_32 32 GType g_settings_schema_source_get_type (void) G_GNUC_CONST; 33 34 GLIB_AVAILABLE_IN_2_32 35 GSettingsSchemaSource * g_settings_schema_source_get_default (void); 36 GLIB_AVAILABLE_IN_2_32 37 GSettingsSchemaSource * g_settings_schema_source_ref (GSettingsSchemaSource *source); 38 GLIB_AVAILABLE_IN_2_32 39 void g_settings_schema_source_unref (GSettingsSchemaSource *source); 40 41 GLIB_AVAILABLE_IN_2_32 42 GSettingsSchemaSource * g_settings_schema_source_new_from_directory (const gchar *directory, 43 GSettingsSchemaSource *parent, 44 gboolean trusted, 45 GError **error); 46 47 GLIB_AVAILABLE_IN_2_32 48 GSettingsSchema * g_settings_schema_source_lookup (GSettingsSchemaSource *source, 49 const gchar *schema_id, 50 gboolean recursive); 51 52 GLIB_AVAILABLE_IN_2_40 53 void g_settings_schema_source_list_schemas (GSettingsSchemaSource *source, 54 gboolean recursive, 55 gchar ***non_relocatable, 56 gchar ***relocatable); 57 58 #define G_TYPE_SETTINGS_SCHEMA (g_settings_schema_get_type ()) 59 GLIB_AVAILABLE_IN_2_32 60 GType g_settings_schema_get_type (void) G_GNUC_CONST; 61 62 GLIB_AVAILABLE_IN_2_32 63 GSettingsSchema * g_settings_schema_ref (GSettingsSchema *schema); 64 GLIB_AVAILABLE_IN_2_32 65 void g_settings_schema_unref (GSettingsSchema *schema); 66 67 GLIB_AVAILABLE_IN_2_32 68 const gchar * g_settings_schema_get_id (GSettingsSchema *schema); 69 GLIB_AVAILABLE_IN_2_32 70 const gchar * g_settings_schema_get_path (GSettingsSchema *schema); 71 GLIB_AVAILABLE_IN_2_40 72 GSettingsSchemaKey * g_settings_schema_get_key (GSettingsSchema *schema, 73 const gchar *name); 74 GLIB_AVAILABLE_IN_2_40 75 gboolean g_settings_schema_has_key (GSettingsSchema *schema, 76 const gchar *name); 77 GLIB_AVAILABLE_IN_2_46 78 gchar** g_settings_schema_list_keys (GSettingsSchema *schema); 79 80 81 GLIB_AVAILABLE_IN_2_44 82 gchar ** g_settings_schema_list_children (GSettingsSchema *schema); 83 84 #define G_TYPE_SETTINGS_SCHEMA_KEY (g_settings_schema_key_get_type ()) 85 GLIB_AVAILABLE_IN_2_40 86 GType g_settings_schema_key_get_type (void) G_GNUC_CONST; 87 88 GLIB_AVAILABLE_IN_2_40 89 GSettingsSchemaKey * g_settings_schema_key_ref (GSettingsSchemaKey *key); 90 GLIB_AVAILABLE_IN_2_40 91 void g_settings_schema_key_unref (GSettingsSchemaKey *key); 92 93 GLIB_AVAILABLE_IN_2_40 94 const GVariantType * g_settings_schema_key_get_value_type (GSettingsSchemaKey *key); 95 GLIB_AVAILABLE_IN_2_40 96 GVariant * g_settings_schema_key_get_default_value (GSettingsSchemaKey *key); 97 GLIB_AVAILABLE_IN_2_40 98 GVariant * g_settings_schema_key_get_range (GSettingsSchemaKey *key); 99 GLIB_AVAILABLE_IN_2_40 100 gboolean g_settings_schema_key_range_check (GSettingsSchemaKey *key, 101 GVariant *value); 102 103 GLIB_AVAILABLE_IN_2_44 104 const gchar * g_settings_schema_key_get_name (GSettingsSchemaKey *key); 105 GLIB_AVAILABLE_IN_2_40 106 const gchar * g_settings_schema_key_get_summary (GSettingsSchemaKey *key); 107 GLIB_AVAILABLE_IN_2_40 108 const gchar * g_settings_schema_key_get_description (GSettingsSchemaKey *key); 109 110 G_END_DECLS 111 112 #endif /* __G_SETTINGS_SCHEMA_H__ */ 113