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