[kdbus] KDBUS_ITEM_PAYLOAD_OFF items are (once again) relative to msg header
[platform/upstream/glib.git] / gobject / glib-types.h
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 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
26 G_BEGIN_DECLS
27
28 /* A hack necesssary to preprocess this file with g-ir-scanner */
29 #ifdef __GI_SCANNER__
30 typedef 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 GLIB_AVAILABLE_IN_ALL
292 GType   g_date_get_type            (void) G_GNUC_CONST;
293 GLIB_AVAILABLE_IN_ALL
294 GType   g_strv_get_type            (void) G_GNUC_CONST;
295 GLIB_AVAILABLE_IN_ALL
296 GType   g_gstring_get_type         (void) G_GNUC_CONST;
297 GLIB_AVAILABLE_IN_ALL
298 GType   g_hash_table_get_type      (void) G_GNUC_CONST;
299 GLIB_AVAILABLE_IN_ALL
300 GType   g_array_get_type           (void) G_GNUC_CONST;
301 GLIB_AVAILABLE_IN_ALL
302 GType   g_byte_array_get_type      (void) G_GNUC_CONST;
303 GLIB_AVAILABLE_IN_ALL
304 GType   g_ptr_array_get_type       (void) G_GNUC_CONST;
305 GLIB_AVAILABLE_IN_ALL
306 GType   g_bytes_get_type           (void) G_GNUC_CONST;
307 GLIB_AVAILABLE_IN_ALL
308 GType   g_variant_type_get_gtype   (void) G_GNUC_CONST;
309 GLIB_AVAILABLE_IN_ALL
310 GType   g_regex_get_type           (void) G_GNUC_CONST;
311 GLIB_AVAILABLE_IN_2_30
312 GType   g_match_info_get_type      (void) G_GNUC_CONST;
313 GLIB_AVAILABLE_IN_ALL
314 GType   g_error_get_type           (void) G_GNUC_CONST;
315 GLIB_AVAILABLE_IN_ALL
316 GType   g_date_time_get_type       (void) G_GNUC_CONST;
317 GLIB_AVAILABLE_IN_ALL
318 GType   g_time_zone_get_type       (void) G_GNUC_CONST;
319 GLIB_AVAILABLE_IN_ALL
320 GType   g_io_channel_get_type      (void) G_GNUC_CONST;
321 GLIB_AVAILABLE_IN_ALL
322 GType   g_io_condition_get_type    (void) G_GNUC_CONST;
323 GLIB_AVAILABLE_IN_ALL
324 GType   g_variant_builder_get_type (void) G_GNUC_CONST;
325 GLIB_AVAILABLE_IN_2_40
326 GType   g_variant_dict_get_type    (void) G_GNUC_CONST;
327 GLIB_AVAILABLE_IN_ALL
328 GType   g_key_file_get_type        (void) G_GNUC_CONST;
329 GLIB_AVAILABLE_IN_2_30
330 GType   g_main_loop_get_type       (void) G_GNUC_CONST;
331 GLIB_AVAILABLE_IN_2_30
332 GType   g_main_context_get_type    (void) G_GNUC_CONST;
333 GLIB_AVAILABLE_IN_2_30
334 GType   g_source_get_type          (void) G_GNUC_CONST;
335 GLIB_AVAILABLE_IN_2_36
336 GType   g_pollfd_get_type          (void) G_GNUC_CONST;
337 GLIB_AVAILABLE_IN_2_36
338 GType   g_thread_get_type          (void) G_GNUC_CONST;
339 GLIB_AVAILABLE_IN_2_36
340 GType   g_checksum_get_type        (void) G_GNUC_CONST;
341 GLIB_AVAILABLE_IN_2_36
342 GType   g_markup_parse_context_get_type (void) G_GNUC_CONST;
343 GLIB_AVAILABLE_IN_2_40
344 GType   g_mapped_file_get_type (void) G_GNUC_CONST;
345
346 GLIB_DEPRECATED_FOR('G_TYPE_VARIANT')
347 GType   g_variant_get_gtype        (void) G_GNUC_CONST;
348
349 /**
350  * GStrv:
351  *
352  * A C representable type name for #G_TYPE_STRV.
353  */
354 typedef gchar** GStrv;
355
356 G_END_DECLS
357
358 #endif  /* __GLIB_TYPES_H__ */