1 /* GObject - GLib Type, Object, Parameter and Signal Library
2 * Copyright (C) 2000-2001 Red Hat, Inc.
4 * SPDX-License-Identifier: LGPL-2.1-or-later
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General
17 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
19 #ifndef __GLIB_TYPES_H__
20 #define __GLIB_TYPES_H__
22 #if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) && !defined(GLIB_COMPILATION)
23 #error "Only <glib-object.h> can be included directly."
27 #include <gobject/gobject-visibility.h>
31 /* A hack necesssary to preprocess this file with g-ir-scanner */
36 /* --- GLib boxed types --- */
40 * The #GType for #GDate.
42 #define G_TYPE_DATE (g_date_get_type ())
47 * The #GType for a boxed type holding a %NULL-terminated array of strings.
49 * The code fragments in the following example show the use of a property of
50 * type %G_TYPE_STRV with g_object_class_install_property(), g_object_set()
54 * g_object_class_install_property (object_class,
56 * g_param_spec_boxed ("authors",
58 * _("List of authors"),
60 * G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
62 * gchar *authors[] = { "Owen", "Tim", NULL };
63 * g_object_set (obj, "authors", authors, NULL);
66 * g_object_get (obj, "authors", &writers, NULL);
67 * /* do something with writers */
68 * g_strfreev (writers);
73 #define G_TYPE_STRV (g_strv_get_type ())
78 * The #GType for #GString.
80 #define G_TYPE_GSTRING (g_gstring_get_type ())
85 * The #GType for a boxed type holding a #GHashTable reference.
89 #define G_TYPE_HASH_TABLE (g_hash_table_get_type ())
94 * The #GType for a boxed type holding a #GRegex reference.
98 #define G_TYPE_REGEX (g_regex_get_type ())
103 * The #GType for a boxed type holding a #GMatchInfo reference.
107 #define G_TYPE_MATCH_INFO (g_match_info_get_type ())
112 * The #GType for a boxed type holding a #GArray reference.
116 #define G_TYPE_ARRAY (g_array_get_type ())
121 * The #GType for a boxed type holding a #GByteArray reference.
125 #define G_TYPE_BYTE_ARRAY (g_byte_array_get_type ())
130 * The #GType for a boxed type holding a #GPtrArray reference.
134 #define G_TYPE_PTR_ARRAY (g_ptr_array_get_type ())
139 * The #GType for #GBytes.
143 #define G_TYPE_BYTES (g_bytes_get_type ())
146 * G_TYPE_VARIANT_TYPE:
148 * The #GType for a boxed type holding a #GVariantType.
152 #define G_TYPE_VARIANT_TYPE (g_variant_type_get_gtype ())
157 * The #GType for a boxed type holding a #GError.
161 #define G_TYPE_ERROR (g_error_get_type ())
166 * The #GType for a boxed type holding a #GDateTime.
170 #define G_TYPE_DATE_TIME (g_date_time_get_type ())
175 * The #GType for a boxed type holding a #GTimeZone.
179 #define G_TYPE_TIME_ZONE (g_time_zone_get_type ())
184 * The #GType for #GIOChannel.
186 #define G_TYPE_IO_CHANNEL (g_io_channel_get_type ())
189 * G_TYPE_IO_CONDITION:
191 * The #GType for #GIOCondition.
193 #define G_TYPE_IO_CONDITION (g_io_condition_get_type ())
196 * G_TYPE_VARIANT_BUILDER:
198 * The #GType for a boxed type holding a #GVariantBuilder.
202 #define G_TYPE_VARIANT_BUILDER (g_variant_builder_get_type ())
205 * G_TYPE_VARIANT_DICT:
207 * The #GType for a boxed type holding a #GVariantDict.
211 #define G_TYPE_VARIANT_DICT (g_variant_dict_get_type ())
216 * The #GType for a boxed type holding a #GMainLoop.
220 #define G_TYPE_MAIN_LOOP (g_main_loop_get_type ())
223 * G_TYPE_MAIN_CONTEXT:
225 * The #GType for a boxed type holding a #GMainContext.
229 #define G_TYPE_MAIN_CONTEXT (g_main_context_get_type ())
234 * The #GType for a boxed type holding a #GSource.
238 #define G_TYPE_SOURCE (g_source_get_type ())
243 * The #GType for a boxed type holding a #GPollFD.
247 #define G_TYPE_POLLFD (g_pollfd_get_type ())
250 * G_TYPE_MARKUP_PARSE_CONTEXT:
252 * The #GType for a boxed type holding a #GMarkupParseContext.
256 #define G_TYPE_MARKUP_PARSE_CONTEXT (g_markup_parse_context_get_type ())
261 * The #GType for a boxed type holding a #GKeyFile.
265 #define G_TYPE_KEY_FILE (g_key_file_get_type ())
268 * G_TYPE_MAPPED_FILE:
270 * The #GType for a boxed type holding a #GMappedFile.
274 #define G_TYPE_MAPPED_FILE (g_mapped_file_get_type ())
279 * The #GType for a boxed type holding a #GThread.
283 #define G_TYPE_THREAD (g_thread_get_type ())
288 * The #GType for a boxed type holding a #GChecksum.
292 #define G_TYPE_CHECKSUM (g_checksum_get_type ())
295 * G_TYPE_OPTION_GROUP:
297 * The #GType for a boxed type holding a #GOptionGroup.
301 #define G_TYPE_OPTION_GROUP (g_option_group_get_type ())
306 * The #GType for a boxed type holding a #GUri.
310 #define G_TYPE_URI (g_uri_get_type ())
315 * The #GType for #GTree.
319 #define G_TYPE_TREE (g_tree_get_type ())
322 * G_TYPE_PATTERN_SPEC:
324 * The #GType for #GPatternSpec.
328 #define G_TYPE_PATTERN_SPEC (g_pattern_spec_get_type ())
331 * G_TYPE_BOOKMARK_FILE:
333 * The #GType for a boxed type holding a #GBookmarkFile.
337 #define G_TYPE_BOOKMARK_FILE (g_bookmark_file_get_type ())
339 GOBJECT_AVAILABLE_IN_ALL
340 GType g_date_get_type (void) G_GNUC_CONST;
341 GOBJECT_AVAILABLE_IN_ALL
342 GType g_strv_get_type (void) G_GNUC_CONST;
343 GOBJECT_AVAILABLE_IN_ALL
344 GType g_gstring_get_type (void) G_GNUC_CONST;
345 GOBJECT_AVAILABLE_IN_ALL
346 GType g_hash_table_get_type (void) G_GNUC_CONST;
347 GOBJECT_AVAILABLE_IN_ALL
348 GType g_array_get_type (void) G_GNUC_CONST;
349 GOBJECT_AVAILABLE_IN_ALL
350 GType g_byte_array_get_type (void) G_GNUC_CONST;
351 GOBJECT_AVAILABLE_IN_ALL
352 GType g_ptr_array_get_type (void) G_GNUC_CONST;
353 GOBJECT_AVAILABLE_IN_ALL
354 GType g_bytes_get_type (void) G_GNUC_CONST;
355 GOBJECT_AVAILABLE_IN_ALL
356 GType g_variant_type_get_gtype (void) G_GNUC_CONST;
357 GOBJECT_AVAILABLE_IN_ALL
358 GType g_regex_get_type (void) G_GNUC_CONST;
359 GOBJECT_AVAILABLE_IN_2_30
360 GType g_match_info_get_type (void) G_GNUC_CONST;
361 GOBJECT_AVAILABLE_IN_ALL
362 GType g_error_get_type (void) G_GNUC_CONST;
363 GOBJECT_AVAILABLE_IN_ALL
364 GType g_date_time_get_type (void) G_GNUC_CONST;
365 GOBJECT_AVAILABLE_IN_ALL
366 GType g_time_zone_get_type (void) G_GNUC_CONST;
367 GOBJECT_AVAILABLE_IN_ALL
368 GType g_io_channel_get_type (void) G_GNUC_CONST;
369 GOBJECT_AVAILABLE_IN_ALL
370 GType g_io_condition_get_type (void) G_GNUC_CONST;
371 GOBJECT_AVAILABLE_IN_ALL
372 GType g_variant_builder_get_type (void) G_GNUC_CONST;
373 GOBJECT_AVAILABLE_IN_2_40
374 GType g_variant_dict_get_type (void) G_GNUC_CONST;
375 GOBJECT_AVAILABLE_IN_ALL
376 GType g_key_file_get_type (void) G_GNUC_CONST;
377 GOBJECT_AVAILABLE_IN_2_30
378 GType g_main_loop_get_type (void) G_GNUC_CONST;
379 GOBJECT_AVAILABLE_IN_2_30
380 GType g_main_context_get_type (void) G_GNUC_CONST;
381 GOBJECT_AVAILABLE_IN_2_30
382 GType g_source_get_type (void) G_GNUC_CONST;
383 GOBJECT_AVAILABLE_IN_2_36
384 GType g_pollfd_get_type (void) G_GNUC_CONST;
385 GOBJECT_AVAILABLE_IN_2_36
386 GType g_thread_get_type (void) G_GNUC_CONST;
387 GOBJECT_AVAILABLE_IN_2_36
388 GType g_checksum_get_type (void) G_GNUC_CONST;
389 GOBJECT_AVAILABLE_IN_2_36
390 GType g_markup_parse_context_get_type (void) G_GNUC_CONST;
391 GOBJECT_AVAILABLE_IN_2_40
392 GType g_mapped_file_get_type (void) G_GNUC_CONST;
393 GOBJECT_AVAILABLE_IN_2_44
394 GType g_option_group_get_type (void) G_GNUC_CONST;
395 GOBJECT_AVAILABLE_IN_2_66
396 GType g_uri_get_type (void) G_GNUC_CONST;
397 GOBJECT_AVAILABLE_IN_2_68
398 GType g_tree_get_type (void) G_GNUC_CONST;
399 GOBJECT_AVAILABLE_IN_2_70
400 GType g_pattern_spec_get_type (void) G_GNUC_CONST;
401 GOBJECT_AVAILABLE_IN_2_76
402 GType g_bookmark_file_get_type (void) G_GNUC_CONST;
404 GOBJECT_DEPRECATED_FOR('G_TYPE_VARIANT')
405 GType g_variant_get_gtype (void) G_GNUC_CONST;
409 #endif /* __GLIB_TYPES_H__ */