1/* GObject - GLib Type, Object, Parameter and Signal Library
2 * Copyright (C) 2000-2001 Red Hat, Inc.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General
15 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
16 */
17#ifndef __GLIB_TYPES_H__
18#define __GLIB_TYPES_H__
19
20#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) && !defined(GLIB_COMPILATION)
21#error "Only <glib-object.h> can be included directly."
22#endif
23
24#include <glib.h>
25
26G_BEGIN_DECLS
27
28/* A hack necesssary to preprocess this file with g-ir-scanner */
29#ifdef __GI_SCANNER__
30typedef gsize GType;
31#endif
32
33/* --- GLib boxed types --- */
34/**
35 * G_TYPE_DATE:
36 *
37 * The #GType for #GDate.
38 */
39#define G_TYPE_DATE (g_date_get_type ())
40
41/**
42 * G_TYPE_STRV:
43 *
44 * The #GType for a boxed type holding a %NULL-terminated array of strings.
45 *
46 * The code fragments in the following example show the use of a property of
47 * type #G_TYPE_STRV with g_object_class_install_property(), g_object_set()
48 * and g_object_get().
49 *
50 * |[
51 * g_object_class_install_property (object_class,
52 * PROP_AUTHORS,
53 * g_param_spec_boxed ("authors",
54 * _("Authors"),
55 * _("List of authors"),
56 * G_TYPE_STRV,
57 * G_PARAM_READWRITE));
58 *
59 * gchar *authors[] = { "Owen", "Tim", NULL };
60 * g_object_set (obj, "authors", authors, NULL);
61 *
62 * gchar *writers[];
63 * g_object_get (obj, "authors", &writers, NULL);
64 * /&ast; do something with writers &ast;/
65 * g_strfreev (writers);
66 * ]|
67 *
68 * Since: 2.4
69 */
70#define G_TYPE_STRV (g_strv_get_type ())
71
72/**
73 * G_TYPE_GSTRING:
74 *
75 * The #GType for #GString.
76 */
77#define G_TYPE_GSTRING (g_gstring_get_type ())
78
79/**
80 * G_TYPE_HASH_TABLE:
81 *
82 * The #GType for a boxed type holding a #GHashTable reference.
83 *
84 * Since: 2.10
85 */
86#define G_TYPE_HASH_TABLE (g_hash_table_get_type ())
87
88/**
89 * G_TYPE_REGEX:
90 *
91 * The #GType for a boxed type holding a #GRegex reference.
92 *
93 * Since: 2.14
94 */
95#define G_TYPE_REGEX (g_regex_get_type ())
96
97/**
98 * G_TYPE_MATCH_INFO:
99 *
100 * The #GType for a boxed type holding a #GMatchInfo reference.
101 *
102 * Since: 2.30
103 */
104#define G_TYPE_MATCH_INFO (g_match_info_get_type ())
105
106/**
107 * G_TYPE_ARRAY:
108 *
109 * The #GType for a boxed type holding a #GArray reference.
110 *
111 * Since: 2.22
112 */
113#define G_TYPE_ARRAY (g_array_get_type ())
114
115/**
116 * G_TYPE_BYTE_ARRAY:
117 *
118 * The #GType for a boxed type holding a #GByteArray reference.
119 *
120 * Since: 2.22
121 */
122#define G_TYPE_BYTE_ARRAY (g_byte_array_get_type ())
123
124/**
125 * G_TYPE_PTR_ARRAY:
126 *
127 * The #GType for a boxed type holding a #GPtrArray reference.
128 *
129 * Since: 2.22
130 */
131#define G_TYPE_PTR_ARRAY (g_ptr_array_get_type ())
132
133/**
134 * G_TYPE_BYTES:
135 *
136 * The #GType for #GBytes.
137 *
138 * Since: 2.32
139 */
140#define G_TYPE_BYTES (g_bytes_get_type ())
141
142/**
143 * G_TYPE_VARIANT_TYPE:
144 *
145 * The #GType for a boxed type holding a #GVariantType.
146 *
147 * Since: 2.24
148 */
149#define G_TYPE_VARIANT_TYPE (g_variant_type_get_gtype ())
150
151/**
152 * G_TYPE_ERROR:
153 *
154 * The #GType for a boxed type holding a #GError.
155 *
156 * Since: 2.26
157 */
158#define G_TYPE_ERROR (g_error_get_type ())
159
160/**
161 * G_TYPE_DATE_TIME:
162 *
163 * The #GType for a boxed type holding a #GDateTime.
164 *
165 * Since: 2.26
166 */
167#define G_TYPE_DATE_TIME (g_date_time_get_type ())
168
169/**
170 * G_TYPE_TIME_ZONE:
171 *
172 * The #GType for a boxed type holding a #GTimeZone.
173 *
174 * Since: 2.34
175 */
176#define G_TYPE_TIME_ZONE (g_time_zone_get_type ())
177
178/**
179 * G_TYPE_IO_CHANNEL:
180 *
181 * The #GType for #GIOChannel.
182 */
183#define G_TYPE_IO_CHANNEL (g_io_channel_get_type ())
184
185/**
186 * G_TYPE_IO_CONDITION:
187 *
188 * The #GType for #GIOCondition.
189 */
190#define G_TYPE_IO_CONDITION (g_io_condition_get_type ())
191
192/**
193 * G_TYPE_VARIANT_BUILDER:
194 *
195 * The #GType for a boxed type holding a #GVariantBuilder.
196 *
197 * Since: 2.30
198 */
199#define G_TYPE_VARIANT_BUILDER (g_variant_builder_get_type ())
200
201/**
202 * G_TYPE_VARIANT_DICT:
203 *
204 * The #GType for a boxed type holding a #GVariantDict.
205 *
206 * Since: 2.40
207 */
208#define G_TYPE_VARIANT_DICT (g_variant_dict_get_type ())
209
210/**
211 * G_TYPE_MAIN_LOOP:
212 *
213 * The #GType for a boxed type holding a #GMainLoop.
214 *
215 * Since: 2.30
216 */
217#define G_TYPE_MAIN_LOOP (g_main_loop_get_type ())
218
219/**
220 * G_TYPE_MAIN_CONTEXT:
221 *
222 * The #GType for a boxed type holding a #GMainContext.
223 *
224 * Since: 2.30
225 */
226#define G_TYPE_MAIN_CONTEXT (g_main_context_get_type ())
227
228/**
229 * G_TYPE_SOURCE:
230 *
231 * The #GType for a boxed type holding a #GSource.
232 *
233 * Since: 2.30
234 */
235#define G_TYPE_SOURCE (g_source_get_type ())
236
237/**
238 * G_TYPE_POLLFD:
239 *
240 * The #GType for a boxed type holding a #GPollFD.
241 *
242 * Since: 2.36
243 */
244#define G_TYPE_POLLFD (g_pollfd_get_type ())
245
246/**
247 * G_TYPE_MARKUP_PARSE_CONTEXT:
248 *
249 * The #GType for a boxed type holding a #GMarkupParseContext.
250 *
251 * Since: 2.36
252 */
253#define G_TYPE_MARKUP_PARSE_CONTEXT (g_markup_parse_context_get_type ())
254
255/**
256 * G_TYPE_KEY_FILE:
257 *
258 * The #GType for a boxed type holding a #GKeyFile.
259 *
260 * Since: 2.32
261 */
262#define G_TYPE_KEY_FILE (g_key_file_get_type ())
263
264/**
265 * G_TYPE_MAPPED_FILE:
266 *
267 * The #GType for a boxed type holding a #GMappedFile.
268 *
269 * Since: 2.40
270 */
271#define G_TYPE_MAPPED_FILE (g_mapped_file_get_type ())
272
273/**
274 * G_TYPE_THREAD:
275 *
276 * The #GType for a boxed type holding a #GThread.
277 *
278 * Since: 2.36
279 */
280#define G_TYPE_THREAD (g_thread_get_type ())
281
282/**
283 * G_TYPE_CHECKSUM:
284 *
285 * The #GType for a boxed type holding a #GChecksum.
286 *
287 * Since: 2.36
288 */
289#define G_TYPE_CHECKSUM (g_checksum_get_type ())
290
291/**
292 * G_TYPE_OPTION_GROUP:
293 *
294 * The #GType for a boxed type holding a #GOptionGroup.
295 *
296 * Since: 2.44
297 */
298#define G_TYPE_OPTION_GROUP (g_option_group_get_type ())
299
300GLIB_AVAILABLE_IN_ALL
301GType g_date_get_type (void) G_GNUC_CONST;
302GLIB_AVAILABLE_IN_ALL
303GType g_strv_get_type (void) G_GNUC_CONST;
304GLIB_AVAILABLE_IN_ALL
305GType g_gstring_get_type (void) G_GNUC_CONST;
306GLIB_AVAILABLE_IN_ALL
307GType g_hash_table_get_type (void) G_GNUC_CONST;
308GLIB_AVAILABLE_IN_ALL
309GType g_array_get_type (void) G_GNUC_CONST;
310GLIB_AVAILABLE_IN_ALL
311GType g_byte_array_get_type (void) G_GNUC_CONST;
312GLIB_AVAILABLE_IN_ALL
313GType g_ptr_array_get_type (void) G_GNUC_CONST;
314GLIB_AVAILABLE_IN_ALL
315GType g_bytes_get_type (void) G_GNUC_CONST;
316GLIB_AVAILABLE_IN_ALL
317GType g_variant_type_get_gtype (void) G_GNUC_CONST;
318GLIB_AVAILABLE_IN_ALL
319GType g_regex_get_type (void) G_GNUC_CONST;
320GLIB_AVAILABLE_IN_2_30
321GType g_match_info_get_type (void) G_GNUC_CONST;
322GLIB_AVAILABLE_IN_ALL
323GType g_error_get_type (void) G_GNUC_CONST;
324GLIB_AVAILABLE_IN_ALL
325GType g_date_time_get_type (void) G_GNUC_CONST;
326GLIB_AVAILABLE_IN_ALL
327GType g_time_zone_get_type (void) G_GNUC_CONST;
328GLIB_AVAILABLE_IN_ALL
329GType g_io_channel_get_type (void) G_GNUC_CONST;
330GLIB_AVAILABLE_IN_ALL
331GType g_io_condition_get_type (void) G_GNUC_CONST;
332GLIB_AVAILABLE_IN_ALL
333GType g_variant_builder_get_type (void) G_GNUC_CONST;
334GLIB_AVAILABLE_IN_2_40
335GType g_variant_dict_get_type (void) G_GNUC_CONST;
336GLIB_AVAILABLE_IN_ALL
337GType g_key_file_get_type (void) G_GNUC_CONST;
338GLIB_AVAILABLE_IN_2_30
339GType g_main_loop_get_type (void) G_GNUC_CONST;
340GLIB_AVAILABLE_IN_2_30
341GType g_main_context_get_type (void) G_GNUC_CONST;
342GLIB_AVAILABLE_IN_2_30
343GType g_source_get_type (void) G_GNUC_CONST;
344GLIB_AVAILABLE_IN_2_36
345GType g_pollfd_get_type (void) G_GNUC_CONST;
346GLIB_AVAILABLE_IN_2_36
347GType g_thread_get_type (void) G_GNUC_CONST;
348GLIB_AVAILABLE_IN_2_36
349GType g_checksum_get_type (void) G_GNUC_CONST;
350GLIB_AVAILABLE_IN_2_36
351GType g_markup_parse_context_get_type (void) G_GNUC_CONST;
352GLIB_AVAILABLE_IN_2_40
353GType g_mapped_file_get_type (void) G_GNUC_CONST;
354GLIB_AVAILABLE_IN_2_44
355GType g_option_group_get_type (void) G_GNUC_CONST;
356
357GLIB_DEPRECATED_FOR('G_TYPE_VARIANT')
358GType g_variant_get_gtype (void) G_GNUC_CONST;
359
360G_END_DECLS
361
362#endif /* __GLIB_TYPES_H__ */
363