nexmon – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 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 __G_BOXED_H__ |
||
18 | #define __G_BOXED_H__ |
||
19 | |||
20 | #if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) |
||
21 | #error "Only <glib-object.h> can be included directly." |
||
22 | #endif |
||
23 | |||
24 | #include <gobject/gtype.h> |
||
25 | |||
26 | #ifndef __GI_SCANNER__ |
||
27 | #include <gobject/glib-types.h> |
||
28 | #endif |
||
29 | |||
30 | G_BEGIN_DECLS |
||
31 | |||
32 | /* --- type macros --- */ |
||
33 | #define G_TYPE_IS_BOXED(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_BOXED) |
||
34 | /** |
||
35 | * G_VALUE_HOLDS_BOXED: |
||
36 | * @value: a valid #GValue structure |
||
37 | * |
||
38 | * Checks whether the given #GValue can hold values derived |
||
39 | * from type %G_TYPE_BOXED. |
||
40 | * |
||
41 | * Returns: %TRUE on success. |
||
42 | */ |
||
43 | #define G_VALUE_HOLDS_BOXED(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOXED)) |
||
44 | |||
45 | |||
46 | /* --- typedefs --- */ |
||
47 | /** |
||
48 | * GBoxedCopyFunc: |
||
49 | * @boxed: (not nullable): The boxed structure to be copied. |
||
50 | * |
||
51 | * This function is provided by the user and should produce a copy |
||
52 | * of the passed in boxed structure. |
||
53 | * |
||
54 | * Returns: (not nullable): The newly created copy of the boxed structure. |
||
55 | */ |
||
56 | typedef gpointer (*GBoxedCopyFunc) (gpointer boxed); |
||
57 | |||
58 | /** |
||
59 | * GBoxedFreeFunc: |
||
60 | * @boxed: (not nullable): The boxed structure to be freed. |
||
61 | * |
||
62 | * This function is provided by the user and should free the boxed |
||
63 | * structure passed. |
||
64 | */ |
||
65 | typedef void (*GBoxedFreeFunc) (gpointer boxed); |
||
66 | |||
67 | |||
68 | /* --- prototypes --- */ |
||
69 | GLIB_AVAILABLE_IN_ALL |
||
70 | gpointer g_boxed_copy (GType boxed_type, |
||
71 | gconstpointer src_boxed); |
||
72 | GLIB_AVAILABLE_IN_ALL |
||
73 | void g_boxed_free (GType boxed_type, |
||
74 | gpointer boxed); |
||
75 | GLIB_AVAILABLE_IN_ALL |
||
76 | void g_value_set_boxed (GValue *value, |
||
77 | gconstpointer v_boxed); |
||
78 | GLIB_AVAILABLE_IN_ALL |
||
79 | void g_value_set_static_boxed (GValue *value, |
||
80 | gconstpointer v_boxed); |
||
81 | GLIB_AVAILABLE_IN_ALL |
||
82 | void g_value_take_boxed (GValue *value, |
||
83 | gconstpointer v_boxed); |
||
84 | GLIB_DEPRECATED_FOR(g_value_take_boxed) |
||
85 | void g_value_set_boxed_take_ownership (GValue *value, |
||
86 | gconstpointer v_boxed); |
||
87 | GLIB_AVAILABLE_IN_ALL |
||
88 | gpointer g_value_get_boxed (const GValue *value); |
||
89 | GLIB_AVAILABLE_IN_ALL |
||
90 | gpointer g_value_dup_boxed (const GValue *value); |
||
91 | |||
92 | |||
93 | /* --- convenience --- */ |
||
94 | GLIB_AVAILABLE_IN_ALL |
||
95 | GType g_boxed_type_register_static (const gchar *name, |
||
96 | GBoxedCopyFunc boxed_copy, |
||
97 | GBoxedFreeFunc boxed_free); |
||
98 | |||
99 | /* --- GObject boxed types --- */ |
||
100 | /** |
||
101 | * G_TYPE_CLOSURE: |
||
102 | * |
||
103 | * The #GType for #GClosure. |
||
104 | */ |
||
105 | #define G_TYPE_CLOSURE (g_closure_get_type ()) |
||
106 | |||
107 | /** |
||
108 | * G_TYPE_VALUE: |
||
109 | * |
||
110 | * The type ID of the "GValue" type which is a boxed type, |
||
111 | * used to pass around pointers to GValues. |
||
112 | */ |
||
113 | #define G_TYPE_VALUE (g_value_get_type ()) |
||
114 | |||
115 | GLIB_AVAILABLE_IN_ALL |
||
116 | GType g_closure_get_type (void) G_GNUC_CONST; |
||
117 | GLIB_AVAILABLE_IN_ALL |
||
118 | GType g_value_get_type (void) G_GNUC_CONST; |
||
119 | |||
120 | G_END_DECLS |
||
121 | |||
122 | #endif /* __G_BOXED_H__ */ |