46
48
<th width="100%" align="center">GObject Reference Manual</th>
47
49
<td><a accesskey="n" href="gobject-Enumeration-and-Flag-Types.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
49
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2857043" class="shortcut">Top</a>
51
<a href="#id2858824" class="shortcut">Description</a>
53
<a href="#id2858770" class="shortcut">Object Hierarchy</a>
55
<a href="#id2858794" class="shortcut">Signals</a></nobr></td></tr>
51
<tr><td colspan="5" class="shortcuts">
52
<a href="#gobject-The-Base-Object-Type.synopsis" class="shortcut">Top</a>
54
<a href="#gobject-The-Base-Object-Type.description" class="shortcut">Description</a>
56
<a href="#gobject-The-Base-Object-Type.object-hierarchy" class="shortcut">Object Hierarchy</a>
58
<a href="#gobject-The-Base-Object-Type.signals" class="shortcut">Signals</a>
57
61
<div class="refentry" lang="en">
58
62
<a name="gobject-The-Base-Object-Type"></a><div class="titlepage"></div>
59
63
<div class="refnamediv"><table width="100%"><tr>
62
<a name="id2857043"></a><span class="refentrytitle">GObject</span>
64
<p>GObject — The base object type</p>
65
<h2><span class="refentrytitle"><a name="gobject-The-Base-Object-Type.top_of_page"></a>The Base Object Type</span></h2>
66
<p>The Base Object Type — The base object type</p>
66
68
<td valign="top" align="right"></td>
67
69
</tr></table></div>
68
70
<div class="refsynopsisdiv">
71
<a name="gobject-The-Base-Object-Type.synopsis"></a><h2>Synopsis</h2>
70
72
<a name="GObject"></a><pre class="synopsis">
72
74
#include <glib-object.h>
75
<a class="link" href="gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>;
76
<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass">GObjectClass</a>;
77
<a class="link" href="gobject-The-Base-Object-Type.html#GObjectConstructParam">GObjectConstructParam</a>;
78
void (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectGetPropertyFunc">*GObjectGetPropertyFunc</a>) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
80
href="./../glib/glib/glib-Basic-Types.html#guint"
81
>guint</a> property_id,
82
<a class="link" href="gobject-Generic-values.html#GValue">GValue</a> *value,
83
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
84
void (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectSetPropertyFunc">*GObjectSetPropertyFunc</a>) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
86
href="./../glib/glib/glib-Basic-Types.html#guint"
87
>guint</a> property_id,
88
const <a class="link" href="gobject-Generic-values.html#GValue">GValue</a> *value,
89
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
90
void (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectFinalizeFunc">*GObjectFinalizeFunc</a>) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);
91
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-TYPE-IS-OBJECT:CAPS">G_TYPE_IS_OBJECT</a> (type)
92
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT:CAPS">G_OBJECT</a> (object)
93
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-IS-OBJECT:CAPS">G_IS_OBJECT</a> (object)
94
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS:CAPS">G_OBJECT_CLASS</a> (class)
95
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-IS-OBJECT-CLASS:CAPS">G_IS_OBJECT_CLASS</a> (class)
96
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-GET-CLASS:CAPS">G_OBJECT_GET_CLASS</a> (object)
97
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-TYPE:CAPS">G_OBJECT_TYPE</a> (object)
98
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-TYPE-NAME:CAPS">G_OBJECT_TYPE_NAME</a> (object)
99
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS-TYPE:CAPS">G_OBJECT_CLASS_TYPE</a> (class)
100
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS-NAME:CAPS">G_OBJECT_CLASS_NAME</a> (class)
101
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property">g_object_class_install_property</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass">GObjectClass</a> *oclass,
103
href="./../glib/glib/glib-Basic-Types.html#guint"
104
>guint</a> property_id,
105
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
106
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-find-property">g_object_class_find_property</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass">GObjectClass</a> *oclass,
76
<a class="link" href="gobject-The-Base-Object-Type.html#GObject-struct" title="GObject">GObject</a>;
77
<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass">GObjectClass</a>;
78
<a class="link" href="gobject-The-Base-Object-Type.html#GObjectConstructParam" title="GObjectConstructParam">GObjectConstructParam</a>;
79
void (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectGetPropertyFunc" title="GObjectGetPropertyFunc ()">*GObjectGetPropertyFunc</a>) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
81
href="./../glib/glib/glib-Basic-Types.html#guint"
82
>guint</a> property_id,
83
<a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value,
84
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a> *pspec);
85
void (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectSetPropertyFunc" title="GObjectSetPropertyFunc ()">*GObjectSetPropertyFunc</a>) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
87
href="./../glib/glib/glib-Basic-Types.html#guint"
88
>guint</a> property_id,
89
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value,
90
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a> *pspec);
91
void (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectFinalizeFunc" title="GObjectFinalizeFunc ()">*GObjectFinalizeFunc</a>) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);
92
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-TYPE-IS-OBJECT--CAPS" title="G_TYPE_IS_OBJECT()">G_TYPE_IS_OBJECT</a> (type)
93
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT--CAPS" title="G_OBJECT()">G_OBJECT</a> (object)
94
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-IS-OBJECT--CAPS" title="G_IS_OBJECT()">G_IS_OBJECT</a> (object)
95
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS--CAPS" title="G_OBJECT_CLASS()">G_OBJECT_CLASS</a> (class)
96
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-IS-OBJECT-CLASS--CAPS" title="G_IS_OBJECT_CLASS()">G_IS_OBJECT_CLASS</a> (class)
97
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-GET-CLASS--CAPS" title="G_OBJECT_GET_CLASS()">G_OBJECT_GET_CLASS</a> (object)
98
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-TYPE--CAPS" title="G_OBJECT_TYPE()">G_OBJECT_TYPE</a> (object)
99
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-TYPE-NAME--CAPS" title="G_OBJECT_TYPE_NAME()">G_OBJECT_TYPE_NAME</a> (object)
100
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS-TYPE--CAPS" title="G_OBJECT_CLASS_TYPE()">G_OBJECT_CLASS_TYPE</a> (class)
101
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS-NAME--CAPS" title="G_OBJECT_CLASS_NAME()">G_OBJECT_CLASS_NAME</a> (class)
102
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property" title="g_object_class_install_property ()">g_object_class_install_property</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass">GObjectClass</a> *oclass,
104
href="./../glib/glib/glib-Basic-Types.html#guint"
105
>guint</a> property_id,
106
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a> *pspec);
107
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a>* <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-find-property" title="g_object_class_find_property ()">g_object_class_find_property</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass">GObjectClass</a> *oclass,
108
109
href="./../glib/glib/glib-Basic-Types.html#gchar"
109
110
>gchar</a> *property_name);
110
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>** <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-list-properties">g_object_class_list_properties</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass">GObjectClass</a> *oclass,
111
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a>** <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-list-properties" title="g_object_class_list_properties ()">g_object_class_list_properties</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass">GObjectClass</a> *oclass,
112
113
href="./../glib/glib/glib-Basic-Types.html#guint"
113
114
>guint</a> *n_properties);
114
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-override-property">g_object_class_override_property</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass">GObjectClass</a> *oclass,
115
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-override-property" title="g_object_class_override_property ()">g_object_class_override_property</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass">GObjectClass</a> *oclass,
116
117
href="./../glib/glib/glib-Basic-Types.html#guint"
117
118
>guint</a> property_id,
119
120
href="./../glib/glib/glib-Basic-Types.html#gchar"
120
121
>gchar</a> *name);
121
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-interface-install-property">g_object_interface_install_property</a> (<a
122
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-interface-install-property" title="g_object_interface_install_property ()">g_object_interface_install_property</a> (<a
122
123
href="./../glib/glib/glib-Basic-Types.html#gpointer"
123
124
>gpointer</a> g_iface,
124
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
125
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* <a class="link" href="gobject-The-Base-Object-Type.html#g-object-interface-find-property">g_object_interface_find_property</a> (<a
125
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a> *pspec);
126
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a>* <a class="link" href="gobject-The-Base-Object-Type.html#g-object-interface-find-property" title="g_object_interface_find_property ()">g_object_interface_find_property</a> (<a
126
127
href="./../glib/glib/glib-Basic-Types.html#gpointer"
127
128
>gpointer</a> g_iface,
129
130
href="./../glib/glib/glib-Basic-Types.html#gchar"
130
131
>gchar</a> *property_name);
131
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>** <a class="link" href="gobject-The-Base-Object-Type.html#g-object-interface-list-properties">g_object_interface_list_properties</a> (<a
132
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a>** <a class="link" href="gobject-The-Base-Object-Type.html#g-object-interface-list-properties" title="g_object_interface_list_properties ()">g_object_interface_list_properties</a> (<a
132
133
href="./../glib/glib/glib-Basic-Types.html#gpointer"
133
134
>gpointer</a> g_iface,
136
137
>guint</a> *n_properties_p);
138
139
href="./../glib/glib/glib-Basic-Types.html#gpointer"
139
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a> (<a class="link" href="gobject-Type-Information.html#GType">GType</a> object_type,
140
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()">g_object_new</a> (<a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> object_type,
141
142
href="./../glib/glib/glib-Basic-Types.html#gchar"
142
143
>gchar</a> *first_property_name,
145
146
href="./../glib/glib/glib-Basic-Types.html#gpointer"
146
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-newv">g_object_newv</a> (<a class="link" href="gobject-Type-Information.html#GType">GType</a> object_type,
147
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-newv" title="g_object_newv ()">g_object_newv</a> (<a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> object_type,
148
149
href="./../glib/glib/glib-Basic-Types.html#guint"
149
150
>guint</a> n_parameters,
150
<a class="link" href="gobject-The-Base-Object-Type.html#GParameter">GParameter</a> *parameters);
151
<a class="link" href="gobject-The-Base-Object-Type.html#GParameter">GParameter</a>;
153
href="./../glib/glib/glib-Basic-Types.html#gpointer"
154
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref">g_object_ref</a> (<a
155
href="./../glib/glib/glib-Basic-Types.html#gpointer"
156
>gpointer</a> object);
157
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a> (<a
158
href="./../glib/glib/glib-Basic-Types.html#gpointer"
159
>gpointer</a> object);
161
href="./../glib/glib/glib-Basic-Types.html#gpointer"
162
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink">g_object_ref_sink</a> (<a
163
href="./../glib/glib/glib-Basic-Types.html#gpointer"
164
>gpointer</a> object);
165
typedef <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>;
166
typedef <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnownedClass">GInitiallyUnownedClass</a>;
167
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-TYPE-INITIALLY-UNOWNED:CAPS">G_TYPE_INITIALLY_UNOWNED</a>
151
<a class="link" href="gobject-The-Base-Object-Type.html#GParameter" title="GParameter">GParameter</a> *parameters);
152
<a class="link" href="gobject-The-Base-Object-Type.html#GParameter" title="GParameter">GParameter</a>;
154
href="./../glib/glib/glib-Basic-Types.html#gpointer"
155
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()">g_object_ref</a> (<a
156
href="./../glib/glib/glib-Basic-Types.html#gpointer"
157
>gpointer</a> object);
158
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()">g_object_unref</a> (<a
159
href="./../glib/glib/glib-Basic-Types.html#gpointer"
160
>gpointer</a> object);
162
href="./../glib/glib/glib-Basic-Types.html#gpointer"
163
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()">g_object_ref_sink</a> (<a
164
href="./../glib/glib/glib-Basic-Types.html#gpointer"
165
>gpointer</a> object);
166
typedef <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned">GInitiallyUnowned</a>;
167
typedef <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnownedClass" title="GInitiallyUnownedClass">GInitiallyUnownedClass</a>;
168
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-TYPE-INITIALLY-UNOWNED--CAPS" title="G_TYPE_INITIALLY_UNOWNED">G_TYPE_INITIALLY_UNOWNED</a>
169
170
href="./../glib/glib/glib-Basic-Types.html#gboolean"
170
>gboolean</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-is-floating">g_object_is_floating</a> (<a
171
>gboolean</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-is-floating" title="g_object_is_floating ()">g_object_is_floating</a> (<a
171
172
href="./../glib/glib/glib-Basic-Types.html#gpointer"
172
173
>gpointer</a> object);
173
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-force-floating">g_object_force_floating</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);
174
void (<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify">*GWeakNotify</a>) (<a
174
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-force-floating" title="g_object_force_floating ()">g_object_force_floating</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);
175
void (<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()">*GWeakNotify</a>) (<a
175
176
href="./../glib/glib/glib-Basic-Types.html#gpointer"
176
177
>gpointer</a> data,
177
178
<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *where_the_object_was);
178
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-ref">g_object_weak_ref</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
179
<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify">GWeakNotify</a> notify,
181
href="./../glib/glib/glib-Basic-Types.html#gpointer"
183
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-unref">g_object_weak_unref</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
184
<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify">GWeakNotify</a> notify,
186
href="./../glib/glib/glib-Basic-Types.html#gpointer"
188
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-weak-pointer">g_object_add_weak_pointer</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
190
href="./../glib/glib/glib-Basic-Types.html#gpointer"
191
>gpointer</a> *weak_pointer_location);
192
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-remove-weak-pointer">g_object_remove_weak_pointer</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
194
href="./../glib/glib/glib-Basic-Types.html#gpointer"
195
>gpointer</a> *weak_pointer_location);
196
void (<a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify">*GToggleNotify</a>) (<a
179
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-ref" title="g_object_weak_ref ()">g_object_weak_ref</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
180
<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()">GWeakNotify</a> notify,
182
href="./../glib/glib/glib-Basic-Types.html#gpointer"
184
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-unref" title="g_object_weak_unref ()">g_object_weak_unref</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
185
<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()">GWeakNotify</a> notify,
187
href="./../glib/glib/glib-Basic-Types.html#gpointer"
189
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-weak-pointer" title="g_object_add_weak_pointer ()">g_object_add_weak_pointer</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
191
href="./../glib/glib/glib-Basic-Types.html#gpointer"
192
>gpointer</a> *weak_pointer_location);
193
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-remove-weak-pointer" title="g_object_remove_weak_pointer ()">g_object_remove_weak_pointer</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
195
href="./../glib/glib/glib-Basic-Types.html#gpointer"
196
>gpointer</a> *weak_pointer_location);
197
void (<a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()">*GToggleNotify</a>) (<a
197
198
href="./../glib/glib/glib-Basic-Types.html#gpointer"
198
199
>gpointer</a> data,
199
200
<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
201
202
href="./../glib/glib/glib-Basic-Types.html#gboolean"
202
203
>gboolean</a> is_last_ref);
203
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref">g_object_add_toggle_ref</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
204
<a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify">GToggleNotify</a> notify,
204
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref" title="g_object_add_toggle_ref ()">g_object_add_toggle_ref</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
205
<a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()">GToggleNotify</a> notify,
206
207
href="./../glib/glib/glib-Basic-Types.html#gpointer"
207
208
>gpointer</a> data);
208
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-remove-toggle-ref">g_object_remove_toggle_ref</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
209
<a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify">GToggleNotify</a> notify,
209
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-remove-toggle-ref" title="g_object_remove_toggle_ref ()">g_object_remove_toggle_ref</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
210
<a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()">GToggleNotify</a> notify,
211
212
href="./../glib/glib/glib-Basic-Types.html#gpointer"
212
213
>gpointer</a> data);
214
215
href="./../glib/glib/glib-Basic-Types.html#gpointer"
215
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-connect">g_object_connect</a> (<a
216
href="./../glib/glib/glib-Basic-Types.html#gpointer"
217
>gpointer</a> object,
219
href="./../glib/glib/glib-Basic-Types.html#gchar"
220
>gchar</a> *signal_spec,
222
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-disconnect">g_object_disconnect</a> (<a
223
href="./../glib/glib/glib-Basic-Types.html#gpointer"
224
>gpointer</a> object,
226
href="./../glib/glib/glib-Basic-Types.html#gchar"
227
>gchar</a> *signal_spec,
229
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set">g_object_set</a> (<a
230
href="./../glib/glib/glib-Basic-Types.html#gpointer"
231
>gpointer</a> object,
233
href="./../glib/glib/glib-Basic-Types.html#gchar"
234
>gchar</a> *first_property_name,
236
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get">g_object_get</a> (<a
237
href="./../glib/glib/glib-Basic-Types.html#gpointer"
238
>gpointer</a> object,
240
href="./../glib/glib/glib-Basic-Types.html#gchar"
241
>gchar</a> *first_property_name,
243
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-notify">g_object_notify</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
216
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-connect" title="g_object_connect ()">g_object_connect</a> (<a
217
href="./../glib/glib/glib-Basic-Types.html#gpointer"
218
>gpointer</a> object,
220
href="./../glib/glib/glib-Basic-Types.html#gchar"
221
>gchar</a> *signal_spec,
223
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-disconnect" title="g_object_disconnect ()">g_object_disconnect</a> (<a
224
href="./../glib/glib/glib-Basic-Types.html#gpointer"
225
>gpointer</a> object,
227
href="./../glib/glib/glib-Basic-Types.html#gchar"
228
>gchar</a> *signal_spec,
230
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set" title="g_object_set ()">g_object_set</a> (<a
231
href="./../glib/glib/glib-Basic-Types.html#gpointer"
232
>gpointer</a> object,
234
href="./../glib/glib/glib-Basic-Types.html#gchar"
235
>gchar</a> *first_property_name,
237
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get" title="g_object_get ()">g_object_get</a> (<a
238
href="./../glib/glib/glib-Basic-Types.html#gpointer"
239
>gpointer</a> object,
241
href="./../glib/glib/glib-Basic-Types.html#gchar"
242
>gchar</a> *first_property_name,
244
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-notify" title="g_object_notify ()">g_object_notify</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
245
246
href="./../glib/glib/glib-Basic-Types.html#gchar"
246
247
>gchar</a> *property_name);
247
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-freeze-notify">g_object_freeze_notify</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);
248
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-thaw-notify">g_object_thaw_notify</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);
250
href="./../glib/glib/glib-Basic-Types.html#gpointer"
251
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-data">g_object_get_data</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
253
href="./../glib/glib/glib-Basic-Types.html#gchar"
255
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data">g_object_set_data</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
257
href="./../glib/glib/glib-Basic-Types.html#gchar"
260
href="./../glib/glib/glib-Basic-Types.html#gpointer"
262
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data-full">g_object_set_data_full</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
264
href="./../glib/glib/glib-Basic-Types.html#gchar"
267
href="./../glib/glib/glib-Basic-Types.html#gpointer"
270
href="./../glib/glib/glib-Datasets.html#GDestroyNotify"
271
>GDestroyNotify</a> destroy);
273
href="./../glib/glib/glib-Basic-Types.html#gpointer"
274
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-steal-data">g_object_steal_data</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
276
href="./../glib/glib/glib-Basic-Types.html#gchar"
279
href="./../glib/glib/glib-Basic-Types.html#gpointer"
280
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-qdata">g_object_get_qdata</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
282
href="./../glib/glib/glib-Quarks.html#GQuark"
284
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata">g_object_set_qdata</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
286
href="./../glib/glib/glib-Quarks.html#GQuark"
289
href="./../glib/glib/glib-Basic-Types.html#gpointer"
291
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata-full">g_object_set_qdata_full</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
293
href="./../glib/glib/glib-Quarks.html#GQuark"
296
href="./../glib/glib/glib-Basic-Types.html#gpointer"
299
href="./../glib/glib/glib-Datasets.html#GDestroyNotify"
300
>GDestroyNotify</a> destroy);
302
href="./../glib/glib/glib-Basic-Types.html#gpointer"
303
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-steal-qdata">g_object_steal_qdata</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
305
href="./../glib/glib/glib-Quarks.html#GQuark"
307
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-property">g_object_set_property</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
309
href="./../glib/glib/glib-Basic-Types.html#gchar"
310
>gchar</a> *property_name,
311
const <a class="link" href="gobject-Generic-values.html#GValue">GValue</a> *value);
312
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-property">g_object_get_property</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
314
href="./../glib/glib/glib-Basic-Types.html#gchar"
315
>gchar</a> *property_name,
316
<a class="link" href="gobject-Generic-values.html#GValue">GValue</a> *value);
317
<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a>* <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new-valist">g_object_new_valist</a> (<a class="link" href="gobject-Type-Information.html#GType">GType</a> object_type,
319
href="./../glib/glib/glib-Basic-Types.html#gchar"
320
>gchar</a> *first_property_name,
322
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-valist">g_object_set_valist</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
324
href="./../glib/glib/glib-Basic-Types.html#gchar"
325
>gchar</a> *first_property_name,
327
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-valist">g_object_get_valist</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
329
href="./../glib/glib/glib-Basic-Types.html#gchar"
330
>gchar</a> *first_property_name,
332
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-watch-closure">g_object_watch_closure</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
333
<a class="link" href="gobject-Closures.html#GClosure">GClosure</a> *closure);
334
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-run-dispose">g_object_run_dispose</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);
335
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-WARN-INVALID-PROPERTY-ID:CAPS">G_OBJECT_WARN_INVALID_PROPERTY_ID</a> (object, property_id, pspec)
248
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-freeze-notify" title="g_object_freeze_notify ()">g_object_freeze_notify</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);
249
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-thaw-notify" title="g_object_thaw_notify ()">g_object_thaw_notify</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);
251
href="./../glib/glib/glib-Basic-Types.html#gpointer"
252
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-data" title="g_object_get_data ()">g_object_get_data</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
254
href="./../glib/glib/glib-Basic-Types.html#gchar"
256
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data" title="g_object_set_data ()">g_object_set_data</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
258
href="./../glib/glib/glib-Basic-Types.html#gchar"
261
href="./../glib/glib/glib-Basic-Types.html#gpointer"
263
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data-full" title="g_object_set_data_full ()">g_object_set_data_full</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
265
href="./../glib/glib/glib-Basic-Types.html#gchar"
268
href="./../glib/glib/glib-Basic-Types.html#gpointer"
271
href="./../glib/glib/glib-Datasets.html#GDestroyNotify"
272
>GDestroyNotify</a> destroy);
274
href="./../glib/glib/glib-Basic-Types.html#gpointer"
275
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-steal-data" title="g_object_steal_data ()">g_object_steal_data</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
277
href="./../glib/glib/glib-Basic-Types.html#gchar"
280
href="./../glib/glib/glib-Basic-Types.html#gpointer"
281
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-qdata" title="g_object_get_qdata ()">g_object_get_qdata</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
283
href="./../glib/glib/glib-Quarks.html#GQuark"
285
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata" title="g_object_set_qdata ()">g_object_set_qdata</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
287
href="./../glib/glib/glib-Quarks.html#GQuark"
290
href="./../glib/glib/glib-Basic-Types.html#gpointer"
292
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata-full" title="g_object_set_qdata_full ()">g_object_set_qdata_full</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
294
href="./../glib/glib/glib-Quarks.html#GQuark"
297
href="./../glib/glib/glib-Basic-Types.html#gpointer"
300
href="./../glib/glib/glib-Datasets.html#GDestroyNotify"
301
>GDestroyNotify</a> destroy);
303
href="./../glib/glib/glib-Basic-Types.html#gpointer"
304
>gpointer</a> <a class="link" href="gobject-The-Base-Object-Type.html#g-object-steal-qdata" title="g_object_steal_qdata ()">g_object_steal_qdata</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
306
href="./../glib/glib/glib-Quarks.html#GQuark"
308
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-property" title="g_object_set_property ()">g_object_set_property</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
310
href="./../glib/glib/glib-Basic-Types.html#gchar"
311
>gchar</a> *property_name,
312
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value);
313
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-property" title="g_object_get_property ()">g_object_get_property</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
315
href="./../glib/glib/glib-Basic-Types.html#gchar"
316
>gchar</a> *property_name,
317
<a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value);
318
<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a>* <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new-valist" title="g_object_new_valist ()">g_object_new_valist</a> (<a class="link" href="gobject-Type-Information.html#GType" title="GType">GType</a> object_type,
320
href="./../glib/glib/glib-Basic-Types.html#gchar"
321
>gchar</a> *first_property_name,
323
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-valist" title="g_object_set_valist ()">g_object_set_valist</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
325
href="./../glib/glib/glib-Basic-Types.html#gchar"
326
>gchar</a> *first_property_name,
328
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-valist" title="g_object_get_valist ()">g_object_get_valist</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
330
href="./../glib/glib/glib-Basic-Types.html#gchar"
331
>gchar</a> *first_property_name,
333
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-watch-closure" title="g_object_watch_closure ()">g_object_watch_closure</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
334
<a class="link" href="gobject-Closures.html#GClosure" title="GClosure">GClosure</a> *closure);
335
void <a class="link" href="gobject-The-Base-Object-Type.html#g-object-run-dispose" title="g_object_run_dispose ()">g_object_run_dispose</a> (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);
336
#define <a class="link" href="gobject-The-Base-Object-Type.html#G-OBJECT-WARN-INVALID-PROPERTY-ID--CAPS" title="G_OBJECT_WARN_INVALID_PROPERTY_ID()">G_OBJECT_WARN_INVALID_PROPERTY_ID</a> (object, property_id, pspec)
340
339
<div class="refsect1" lang="en">
341
<a name="id2858770"></a><h2>Object Hierarchy</h2>
340
<a name="gobject-The-Base-Object-Type.object-hierarchy"></a><h2>Object Hierarchy</h2>
342
341
<pre class="synopsis">
345
343
+----<a class="link" href="GTypeModule.html" title="GTypeModule">GTypeModule</a>
348
346
<div class="refsect1" lang="en">
349
<a name="id2858794"></a><h2>Signals</h2>
347
<a name="gobject-The-Base-Object-Type.signals"></a><h2>Signals</h2>
350
348
<pre class="synopsis">
352
"<a class="link" href="gobject-The-Base-Object-Type.html#GObject-notify">notify</a>" : Run First / No Recursion / Has Details / Action / No Hooks
349
"<a class="link" href="gobject-The-Base-Object-Type.html#GObject-notify" title='The "notify" signal'>notify</a>" : Run First / No Recursion / Has Details / Action / No Hooks
355
352
<div class="refsect1" lang="en">
356
<a name="id2858824"></a><h2>Description</h2>
358
GObject is the fundamental type providing the common attributes and methods
359
for all object types in GTK+, Pango and other libraries based on GObject.
360
The GObject class provides methods for object construction and destruction,
361
property access methods, and signal support.
362
Signals are described in detail in <a class="xref" href="gobject-Signals.html" title="Signals"><a name="id2952695"></a><span class="refentrytitle">Signals</span>(3)</a>.
353
<a name="gobject-The-Base-Object-Type.description"></a><h2>Description</h2>
355
GObject is the fundamental type providing the common attributes and
356
methods for all object types in GTK+, Pango and other libraries
357
based on GObject. The GObject class provides methods for object
358
construction and destruction, property access methods, and signal
359
support. Signals are described in detail in <a class="xref" href="gobject-Signals.html" title="Signals"><span class="refentrytitle"><a name="gobject-Signals.top_of_page"></a>Signals</span>(3)</a>.
364
363
<p><a name="floating-ref"></a>
365
<a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a> is derived from <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. The only difference between
366
the two is that the initial reference of a <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a> is flagged
364
<a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a> is derived from <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. The only difference between
365
the two is that the initial reference of a <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a> is flagged
367
366
as a <em class="firstterm">floating</em> reference.
368
367
This means that it is not specifically claimed to be "owned" by
369
368
any code portion. The main motivation for providing floating references is
370
369
C convenience. In particular, it allows code to be written as:
372
<div class="example">
373
<a name="id2858887"></a><p class="title"><b>Example 1. </b></p>
374
<div class="example-contents"><pre class="programlisting">
375
container = create_container();
376
container_add_child (container, create_child());
371
<div class="informalexample"><pre class="programlisting">
372
container = create_container();
373
container_add_child (container, create_child());
379
<p><br class="example-break">
380
If <code class="function"><code class="function">container_add_child()</code></code> will <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink"><code class="function">g_object_ref_sink()</code></a> the
376
If <code class="function"><code class="function">container_add_child()</code></code> will <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a> the
381
377
passed in child, no reference of the newly created child is leaked.
382
378
Without floating references, <code class="function"><code class="function">container_add_child()</code></code>
383
can only <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a> the new child, so to implement this code without
379
can only <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()"><code class="function">g_object_ref()</code></a> the new child, so to implement this code without
384
380
reference leaks, it would have to be written as:
386
<div class="example">
387
<a name="id2858950"></a><p class="title"><b>Example 2. </b></p>
388
<div class="example-contents"><pre class="programlisting">
390
container = create_container();
391
child = create_child();
392
container_add_child (container, child);
393
g_object_unref (child);
382
<div class="informalexample"><pre class="programlisting">
384
container = create_container();
385
child = create_child();
386
container_add_child (container, child);
387
g_object_unref (child);
396
<p><br class="example-break">
397
The floating reference can be converted into
398
an ordinary reference by calling <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink"><code class="function">g_object_ref_sink()</code></a>.
390
The floating reference can be converted into
391
an ordinary reference by calling <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a>.
399
392
For already sunken objects (objects that don't have a floating reference
400
anymore), <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink"><code class="function">g_object_ref_sink()</code></a> is equivalent to <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a> and returns
393
anymore), <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a> is equivalent to <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()"><code class="function">g_object_ref()</code></a> and returns
402
395
Since floating references are useful almost exclusively for C convenience,
403
396
language bindings that provide automated reference and memory ownership
504
<br class="example-break"><div class="variablelist"><table border="0">
500
<p><br class="example-break"></p>
503
<div class="variablelist"><table border="0">
505
504
<col align="left" valign="top">
508
<td><p><span class="term"><a class="link" href="gobject-Type-Information.html#GTypeClass">GTypeClass</a> <em class="structfield"><code>g_type_class</code></em>;</span></p></td>
513
<td><p><span class="term"><em class="structfield"><code>constructor</code></em> ()</span></p></td>
514
<td> the <em class="parameter"><code>constructor</code></em> function is called by <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new"><code class="function">g_object_new()</code></a> to
515
complete the object initialization after all the construction properties are
516
set. The first thing a <em class="parameter"><code>constructor</code></em> implementation must do is chain up to the
517
<em class="parameter"><code>constructor</code></em> of the parent class. Overriding <em class="parameter"><code>constructor</code></em> should be rarely
518
needed, e.g. to handle construct properties, or to implement singletons.
522
<td><p><span class="term"><em class="structfield"><code>set_property</code></em> ()</span></p></td>
523
<td>the generic setter for all properties of this type. Should be
524
overridden for every type with properties. Implementations of <em class="parameter"><code>set_property</code></em>
525
don't need to emit property change notification explicitly, this is handled
530
<td><p><span class="term"><em class="structfield"><code>get_property</code></em> ()</span></p></td>
531
<td>the generic getter for all properties of this type. Should be
532
overridden for every type with properties.
536
<td><p><span class="term"><em class="structfield"><code>dispose</code></em> ()</span></p></td>
537
<td>the <em class="parameter"><code>dispose</code></em> function is supposed to drop all references to other
538
objects, but keep the instance otherwise intact, so that client method
539
invocations still work. It may be run multiple times (due to reference
540
loops). Before returning, <em class="parameter"><code>dispose</code></em> should chain up to the <em class="parameter"><code>dispose</code></em> method
545
<td><p><span class="term"><em class="structfield"><code>finalize</code></em> ()</span></p></td>
546
<td>instance finalization function, should finish the finalization of
547
the instance begun in <em class="parameter"><code>dispose</code></em> and chain up to the <em class="parameter"><code>finalize</code></em> method of the
552
<td><p><span class="term"><em class="structfield"><code>dispatch_properties_changed</code></em> ()</span></p></td>
553
<td>emits property change notification for a bunch
554
of properties. Overriding <em class="parameter"><code>dispatch_properties_changed</code></em> should be rarely
559
<td><p><span class="term"><em class="structfield"><code>notify</code></em> ()</span></p></td>
560
<td>the class closure for the notify signal
564
<td><p><span class="term"><em class="structfield"><code>constructed</code></em> ()</span></p></td>
565
<td>the <em class="parameter"><code>constructed</code></em> function is called by <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new"><code class="function">g_object_new()</code></a> as the
566
final step of the object creation process. At the point of the call, all
567
construction properties have been set on the object. The purpose of this
568
call is to allow for object initialisation steps that can only be performed
569
after construction properties have been set. <em class="parameter"><code>constructed</code></em> implementors
570
should chain up to the <em class="parameter"><code>constructed</code></em> call of their parent class to allow it
571
to complete its initialisation.
507
<td><p><span class="term"><a class="link" href="gobject-Type-Information.html#GTypeClass" title="GTypeClass">GTypeClass</a> <em class="structfield"><code>g_type_class</code></em>;</span></p></td>
508
<td> the parent class
512
<td><p><span class="term"><em class="structfield"><code>constructor</code></em> ()</span></p></td>
513
<td> the <em class="parameter"><code>constructor</code></em> function is called by <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()"><code class="function">g_object_new()</code></a> to
514
complete the object initialization after all the construction properties are
515
set. The first thing a <em class="parameter"><code>constructor</code></em> implementation must do is chain up to the
516
<em class="parameter"><code>constructor</code></em> of the parent class. Overriding <em class="parameter"><code>constructor</code></em> should be rarely
517
needed, e.g. to handle construct properties, or to implement singletons.
521
<td><p><span class="term"><em class="structfield"><code>set_property</code></em> ()</span></p></td>
522
<td> the generic setter for all properties of this type. Should be
523
overridden for every type with properties. Implementations of <em class="parameter"><code>set_property</code></em>
524
don't need to emit property change notification explicitly, this is handled
529
<td><p><span class="term"><em class="structfield"><code>get_property</code></em> ()</span></p></td>
530
<td> the generic getter for all properties of this type. Should be
531
overridden for every type with properties.
535
<td><p><span class="term"><em class="structfield"><code>dispose</code></em> ()</span></p></td>
536
<td> the <em class="parameter"><code>dispose</code></em> function is supposed to drop all references to other
537
objects, but keep the instance otherwise intact, so that client method
538
invocations still work. It may be run multiple times (due to reference
539
loops). Before returning, <em class="parameter"><code>dispose</code></em> should chain up to the <em class="parameter"><code>dispose</code></em> method
544
<td><p><span class="term"><em class="structfield"><code>finalize</code></em> ()</span></p></td>
545
<td> instance finalization function, should finish the finalization of
546
the instance begun in <em class="parameter"><code>dispose</code></em> and chain up to the <em class="parameter"><code>finalize</code></em> method of the
551
<td><p><span class="term"><em class="structfield"><code>dispatch_properties_changed</code></em> ()</span></p></td>
552
<td> emits property change notification for a bunch
553
of properties. Overriding <em class="parameter"><code>dispatch_properties_changed</code></em> should be rarely
558
<td><p><span class="term"><em class="structfield"><code>notify</code></em> ()</span></p></td>
559
<td> the class closure for the notify signal
563
<td><p><span class="term"><em class="structfield"><code>constructed</code></em> ()</span></p></td>
564
<td> the <em class="parameter"><code>constructed</code></em> function is called by <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()"><code class="function">g_object_new()</code></a> as the
565
final step of the object creation process. At the point of the call, all
566
construction properties have been set on the object. The purpose of this
567
call is to allow for object initialisation steps that can only be performed
568
after construction properties have been set. <em class="parameter"><code>constructed</code></em> implementors
569
should chain up to the <em class="parameter"><code>constructed</code></em> call of their parent class to allow it
570
to complete its initialisation.
579
577
<div class="refsect2" lang="en">
580
<a name="id2859431"></a><h3>
581
<a name="GObjectConstructParam"></a>GObjectConstructParam</h3>
582
<a class="indexterm" name="id2859444"></a><pre class="programlisting">typedef struct {
578
<a name="GObjectConstructParam"></a><h3>GObjectConstructParam</h3>
579
<pre class="programlisting">typedef struct {
583
580
GParamSpec *pspec;
585
582
} GObjectConstructParam;
588
585
The <span class="structname">GObjectConstructParam</span> struct is an auxiliary
589
structure used to hand <a class="link" href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>/<a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> pairs to the <em class="parameter"><code>constructor</code></em> of
590
a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a>.
592
<div class="variablelist"><table border="0">
593
<col align="left" valign="top">
596
<td><p><span class="term"><a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *<em class="structfield"><code>pspec</code></em>;</span></p></td>
597
<td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> of the construct parameter
601
<td><p><span class="term"><a class="link" href="gobject-Generic-values.html#GValue">GValue</a> *<em class="structfield"><code>value</code></em>;</span></p></td>
602
<td>the value to set the parameter to
610
<div class="refsect2" lang="en">
611
<a name="id2859549"></a><h3>
612
<a name="GObjectGetPropertyFunc"></a>GObjectGetPropertyFunc ()</h3>
613
<a class="indexterm" name="id2859562"></a><pre class="programlisting">void (*GObjectGetPropertyFunc) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
615
href="./../glib/glib/glib-Basic-Types.html#guint"
616
>guint</a> property_id,
617
<a class="link" href="gobject-Generic-values.html#GValue">GValue</a> *value,
618
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
620
The type of the <em class="parameter"><code>get_property</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a>.
622
<div class="variablelist"><table border="0">
623
<col align="left" valign="top">
626
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
627
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
631
<td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
632
<td>the numeric id under which the property was registered with
633
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property"><code class="function">g_object_class_install_property()</code></a>.
637
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
638
<td>a <a class="link" href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to return the property value in
642
<td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
643
<td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> describing the property
652
<div class="refsect2" lang="en">
653
<a name="id2859724"></a><h3>
654
<a name="GObjectSetPropertyFunc"></a>GObjectSetPropertyFunc ()</h3>
655
<a class="indexterm" name="id2859737"></a><pre class="programlisting">void (*GObjectSetPropertyFunc) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
657
href="./../glib/glib/glib-Basic-Types.html#guint"
658
>guint</a> property_id,
659
const <a class="link" href="gobject-Generic-values.html#GValue">GValue</a> *value,
660
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
662
The type of the <em class="parameter"><code>set_property</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a>.
664
<div class="variablelist"><table border="0">
665
<col align="left" valign="top">
668
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
669
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
673
<td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
674
<td>the numeric id under which the property was registered with
675
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property"><code class="function">g_object_class_install_property()</code></a>.
679
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
680
<td>the new value for the property
684
<td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
685
<td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> describing the property
694
<div class="refsect2" lang="en">
695
<a name="id2859892"></a><h3>
696
<a name="GObjectFinalizeFunc"></a>GObjectFinalizeFunc ()</h3>
697
<a class="indexterm" name="id2859905"></a><pre class="programlisting">void (*GObjectFinalizeFunc) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);</pre>
699
The type of the <em class="parameter"><code>finalize</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a>.
586
structure used to hand <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a>/<a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> pairs to the <em class="parameter"><code>constructor</code></em> of
587
a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>.</p>
590
<div class="variablelist"><table border="0">
591
<col align="left" valign="top">
594
<td><p><span class="term"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a> *<em class="structfield"><code>pspec</code></em>;</span></p></td>
595
<td> the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> of the construct parameter
599
<td><p><span class="term"><a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *<em class="structfield"><code>value</code></em>;</span></p></td>
600
<td> the value to set the parameter to
607
<div class="refsect2" lang="en">
608
<a name="GObjectGetPropertyFunc"></a><h3>GObjectGetPropertyFunc ()</h3>
609
<pre class="programlisting">void (*GObjectGetPropertyFunc) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
611
href="./../glib/glib/glib-Basic-Types.html#guint"
612
>guint</a> property_id,
613
<a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value,
614
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a> *pspec);</pre>
616
The type of the <em class="parameter"><code>get_property</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>.</p>
619
<div class="variablelist"><table border="0">
620
<col align="left" valign="top">
623
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
624
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
628
<td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
629
<td> the numeric id under which the property was registered with
630
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property" title="g_object_class_install_property ()"><code class="function">g_object_class_install_property()</code></a>.
634
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
635
<td> a <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> to return the property value in
639
<td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
640
<td> the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> describing the property
647
<div class="refsect2" lang="en">
648
<a name="GObjectSetPropertyFunc"></a><h3>GObjectSetPropertyFunc ()</h3>
649
<pre class="programlisting">void (*GObjectSetPropertyFunc) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
651
href="./../glib/glib/glib-Basic-Types.html#guint"
652
>guint</a> property_id,
653
const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue">GValue</a> *value,
654
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a> *pspec);</pre>
656
The type of the <em class="parameter"><code>set_property</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>.</p>
659
<div class="variablelist"><table border="0">
660
<col align="left" valign="top">
663
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
664
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
668
<td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
669
<td> the numeric id under which the property was registered with
670
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-property" title="g_object_class_install_property ()"><code class="function">g_object_class_install_property()</code></a>.
674
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
675
<td> the new value for the property
679
<td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
680
<td> the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> describing the property
687
<div class="refsect2" lang="en">
688
<a name="GObjectFinalizeFunc"></a><h3>GObjectFinalizeFunc ()</h3>
689
<pre class="programlisting">void (*GObjectFinalizeFunc) (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);</pre>
691
The type of the <em class="parameter"><code>finalize</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>.</p>
701
694
<div class="variablelist"><table border="0">
702
695
<col align="left" valign="top">
704
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
705
<td>the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> being finalized
697
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
698
<td> the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> being finalized
713
704
<div class="refsect2" lang="en">
714
<a name="id2859974"></a><h3>
715
<a name="G-TYPE-IS-OBJECT:CAPS"></a>G_TYPE_IS_OBJECT()</h3>
716
<a class="indexterm" name="id2859987"></a><pre class="programlisting">#define G_TYPE_IS_OBJECT(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_OBJECT)
705
<a name="G-TYPE-IS-OBJECT--CAPS"></a><h3>G_TYPE_IS_OBJECT()</h3>
706
<pre class="programlisting">#define G_TYPE_IS_OBJECT(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_OBJECT)
719
Returns a boolean value of <a
720
href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"
721
><code class="literal">FALSE</code></a> or <a
722
href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"
723
><code class="literal">TRUE</code></a> indicating whether
724
the passed in type id is a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS"><code class="literal">G_TYPE_OBJECT</code></a> or derived from it.
709
Check if the passed in type id is a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT--CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a> or derived from it.</p>
726
712
<div class="variablelist"><table border="0">
727
713
<col align="left" valign="top">
730
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
731
<td>Type id to check for is a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS"><code class="literal">G_TYPE_OBJECT</code></a> relationship.
735
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
738
href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"
739
><code class="literal">FALSE</code></a> or <a
740
href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"
741
><code class="literal">TRUE</code></a>, indicating whether <em class="parameter"><code>type</code></em> is a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS"><code class="literal">G_TYPE_OBJECT</code></a>.
715
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
716
<td> Type id to check
750
722
<div class="refsect2" lang="en">
751
<a name="id2860111"></a><h3>
752
<a name="G-OBJECT:CAPS"></a>G_OBJECT()</h3>
753
<a class="indexterm" name="id2860124"></a><pre class="programlisting">#define G_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
723
<a name="G-OBJECT--CAPS"></a><h3>G_OBJECT()</h3>
724
<pre class="programlisting">#define G_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
756
727
Casts a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> or derived pointer into a (GObject*) pointer.
757
728
Depending on the current debugging level, this function may invoke
758
certain runtime checks to identify invalid casts.
760
<div class="variablelist"><table border="0">
761
<col align="left" valign="top">
763
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
764
<td>Object which is subject to casting.
772
<div class="refsect2" lang="en">
773
<a name="id2860170"></a><h3>
774
<a name="G-IS-OBJECT:CAPS"></a>G_IS_OBJECT()</h3>
775
<a class="indexterm" name="id2860182"></a><pre class="programlisting">#define G_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_OBJECT))
778
Checks whether a valid <a class="link" href="gobject-Type-Information.html#GTypeInstance"><span class="type">GTypeInstance</span></a> pointer is of type <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS"><code class="literal">G_TYPE_OBJECT</code></a>.
780
<div class="variablelist"><table border="0">
781
<col align="left" valign="top">
783
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
784
<td>Instance to check for being a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS"><code class="literal">G_TYPE_OBJECT</code></a>.
792
<div class="refsect2" lang="en">
793
<a name="id2860247"></a><h3>
794
<a name="G-OBJECT-CLASS:CAPS"></a>G_OBJECT_CLASS()</h3>
795
<a class="indexterm" name="id2860259"></a><pre class="programlisting">#define G_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
798
Casts a derived <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> structure into a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> structure.
800
<div class="variablelist"><table border="0">
801
<col align="left" valign="top">
803
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
804
<td>a valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a>
812
<div class="refsect2" lang="en">
813
<a name="id2860320"></a><h3>
814
<a name="G-IS-OBJECT-CLASS:CAPS"></a>G_IS_OBJECT_CLASS()</h3>
815
<a class="indexterm" name="id2860333"></a><pre class="programlisting">#define G_IS_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_OBJECT))
818
Checks whether <em class="parameter"><code>class</code></em> "is a" valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> structure of type
819
<a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS"><code class="literal">G_TYPE_OBJECT</code></a> or derived.
821
<div class="variablelist"><table border="0">
822
<col align="left" valign="top">
824
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
825
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a>
833
<div class="refsect2" lang="en">
834
<a name="id2860402"></a><h3>
835
<a name="G-OBJECT-GET-CLASS:CAPS"></a>G_OBJECT_GET_CLASS()</h3>
836
<a class="indexterm" name="id2860414"></a><pre class="programlisting">#define G_OBJECT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass))
839
Returns the class structure associated to a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> instance.
841
<div class="variablelist"><table border="0">
842
<col align="left" valign="top">
844
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
845
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> instance.
853
<div class="refsect2" lang="en">
854
<a name="id2860466"></a><h3>
855
<a name="G-OBJECT-TYPE:CAPS"></a>G_OBJECT_TYPE()</h3>
856
<a class="indexterm" name="id2860478"></a><pre class="programlisting">#define G_OBJECT_TYPE(object) (G_TYPE_FROM_INSTANCE (object))
859
Return the type id of an object.
861
<div class="variablelist"><table border="0">
862
<col align="left" valign="top">
865
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
866
<td>Object to return the type id for.
870
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
871
<td>Type id of <em class="parameter"><code>object</code></em>.
880
<div class="refsect2" lang="en">
881
<a name="id2860530"></a><h3>
882
<a name="G-OBJECT-TYPE-NAME:CAPS"></a>G_OBJECT_TYPE_NAME()</h3>
883
<a class="indexterm" name="id2860543"></a><pre class="programlisting">#define G_OBJECT_TYPE_NAME(object) (g_type_name (G_OBJECT_TYPE (object)))
886
Returns the name of an object's type.
888
<div class="variablelist"><table border="0">
889
<col align="left" valign="top">
892
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
893
<td>Object to return the type name for.
897
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
898
<td>Type name of <em class="parameter"><code>object</code></em>. The string is owned by the type system and
908
<div class="refsect2" lang="en">
909
<a name="id2860596"></a><h3>
910
<a name="G-OBJECT-CLASS-TYPE:CAPS"></a>G_OBJECT_CLASS_TYPE()</h3>
911
<a class="indexterm" name="id2860609"></a><pre class="programlisting">#define G_OBJECT_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
914
Return the type id of a class structure.
916
<div class="variablelist"><table border="0">
917
<col align="left" valign="top">
920
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
921
<td>a valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a>
925
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
926
<td>Type id of <em class="parameter"><code>class</code></em>.
935
<div class="refsect2" lang="en">
936
<a name="id2860668"></a><h3>
937
<a name="G-OBJECT-CLASS-NAME:CAPS"></a>G_OBJECT_CLASS_NAME()</h3>
938
<a class="indexterm" name="id2860682"></a><pre class="programlisting">#define G_OBJECT_CLASS_NAME(class) (g_type_name (G_OBJECT_CLASS_TYPE (class)))
941
Return the name of a class structure's type.
943
<div class="variablelist"><table border="0">
944
<col align="left" valign="top">
947
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
948
<td>a valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a>
952
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
953
<td>Type name of <em class="parameter"><code>class</code></em>. The string is owned by the type system and
963
<div class="refsect2" lang="en">
964
<a name="id2860743"></a><h3>
965
<a name="g-object-class-install-property"></a>g_object_class_install_property ()</h3>
966
<a class="indexterm" name="id2860756"></a><pre class="programlisting">void g_object_class_install_property (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass">GObjectClass</a> *oclass,
729
certain runtime checks to identify invalid casts.</p>
732
<div class="variablelist"><table border="0">
733
<col align="left" valign="top">
735
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
736
<td> Object which is subject to casting.
742
<div class="refsect2" lang="en">
743
<a name="G-IS-OBJECT--CAPS"></a><h3>G_IS_OBJECT()</h3>
744
<pre class="programlisting">#define G_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_OBJECT))
747
Checks whether a valid <a class="link" href="gobject-Type-Information.html#GTypeInstance" title="GTypeInstance"><span class="type">GTypeInstance</span></a> pointer is of type <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT--CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a>.</p>
750
<div class="variablelist"><table border="0">
751
<col align="left" valign="top">
753
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
754
<td> Instance to check for being a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT--CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a>.
760
<div class="refsect2" lang="en">
761
<a name="G-OBJECT-CLASS--CAPS"></a><h3>G_OBJECT_CLASS()</h3>
762
<pre class="programlisting">#define G_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
765
Casts a derived <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> structure into a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> structure.</p>
768
<div class="variablelist"><table border="0">
769
<col align="left" valign="top">
771
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
772
<td> a valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
778
<div class="refsect2" lang="en">
779
<a name="G-IS-OBJECT-CLASS--CAPS"></a><h3>G_IS_OBJECT_CLASS()</h3>
780
<pre class="programlisting">#define G_IS_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_OBJECT))
783
Checks whether <em class="parameter"><code>class</code></em> "is a" valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a> structure of type
784
<a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT--CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a> or derived.</p>
787
<div class="variablelist"><table border="0">
788
<col align="left" valign="top">
790
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
791
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
797
<div class="refsect2" lang="en">
798
<a name="G-OBJECT-GET-CLASS--CAPS"></a><h3>G_OBJECT_GET_CLASS()</h3>
799
<pre class="programlisting">#define G_OBJECT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass))
802
Get the class structure associated to a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> instance.</p>
805
<div class="variablelist"><table border="0">
806
<col align="left" valign="top">
808
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
809
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> instance.
815
<div class="refsect2" lang="en">
816
<a name="G-OBJECT-TYPE--CAPS"></a><h3>G_OBJECT_TYPE()</h3>
817
<pre class="programlisting">#define G_OBJECT_TYPE(object) (G_TYPE_FROM_INSTANCE (object))
820
Get the type id of an object.</p>
823
<div class="variablelist"><table border="0">
824
<col align="left" valign="top">
826
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
827
<td> Object to return the type id for.
833
<div class="refsect2" lang="en">
834
<a name="G-OBJECT-TYPE-NAME--CAPS"></a><h3>G_OBJECT_TYPE_NAME()</h3>
835
<pre class="programlisting">#define G_OBJECT_TYPE_NAME(object) (g_type_name (G_OBJECT_TYPE (object)))
838
Get the name of an object's type.</p>
841
<div class="variablelist"><table border="0">
842
<col align="left" valign="top">
844
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
845
<td> Object to return the type name for.
851
<div class="refsect2" lang="en">
852
<a name="G-OBJECT-CLASS-TYPE--CAPS"></a><h3>G_OBJECT_CLASS_TYPE()</h3>
853
<pre class="programlisting">#define G_OBJECT_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
856
Get the type id of a class structure.</p>
859
<div class="variablelist"><table border="0">
860
<col align="left" valign="top">
862
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
863
<td> a valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
869
<div class="refsect2" lang="en">
870
<a name="G-OBJECT-CLASS-NAME--CAPS"></a><h3>G_OBJECT_CLASS_NAME()</h3>
871
<pre class="programlisting">#define G_OBJECT_CLASS_NAME(class) (g_type_name (G_OBJECT_CLASS_TYPE (class)))
874
Return the name of a class structure's type.</p>
877
<div class="variablelist"><table border="0">
878
<col align="left" valign="top">
880
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
881
<td> a valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
887
<div class="refsect2" lang="en">
888
<a name="g-object-class-install-property"></a><h3>g_object_class_install_property ()</h3>
889
<pre class="programlisting">void g_object_class_install_property (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass">GObjectClass</a> *oclass,
968
891
href="./../glib/glib/glib-Basic-Types.html#guint"
969
892
>guint</a> property_id,
970
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
972
Installs a new property. This is usually done in the class initializer.
893
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a> *pspec);</pre>
895
Installs a new property. This is usually done in the class initializer.</p>
974
898
<div class="variablelist"><table border="0">
975
899
<col align="left" valign="top">
978
<td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
979
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a>
983
<td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
984
<td>the id for the new property
988
<td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
989
<td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> for the new property
902
<td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
903
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
907
<td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
908
<td> the id for the new property
912
<td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
913
<td> the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> for the new property
1083
1000
a property implementation in a parent class or to provide
1084
1001
the implementation of a property from an interface.
1086
1005
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
1087
1006
<h3 class="title">Note</h3>
1089
1007
Internally, overriding is implemented by creating a property of type
1090
<a class="link" href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecOverride"><span class="type">GParamSpecOverride</span></a>; generally operations that query the properties of
1091
the object class, such as <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-find-property"><code class="function">g_object_class_find_property()</code></a> or
1092
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-list-properties"><code class="function">g_object_class_list_properties()</code></a> will return the overridden
1008
<a class="link" href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecOverride" title="GParamSpecOverride"><span class="type">GParamSpecOverride</span></a>; generally operations that query the properties of
1009
the object class, such as <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-find-property" title="g_object_class_find_property ()"><code class="function">g_object_class_find_property()</code></a> or
1010
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-list-properties" title="g_object_class_list_properties ()"><code class="function">g_object_class_list_properties()</code></a> will return the overridden
1093
1011
property. However, in one case, the <em class="parameter"><code>construct_properties</code></em> argument of
1094
the <em class="parameter"><code>constructor</code></em> virtual function, the <a class="link" href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecOverride"><span class="type">GParamSpecOverride</span></a> is passed
1095
instead, so that the <em class="parameter"><code>param_id</code></em> field of the <a class="link" href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> will be
1012
the <em class="parameter"><code>constructor</code></em> virtual function, the <a class="link" href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecOverride" title="GParamSpecOverride"><span class="type">GParamSpecOverride</span></a> is passed
1013
instead, so that the <em class="parameter"><code>param_id</code></em> field of the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> will be
1096
1014
correct. For virtually all uses, this makes no difference. If you
1097
1015
need to get the overridden property, you can call
1098
<a class="link" href="gobject-GParamSpec.html#g-param-spec-get-redirect-target"><code class="function">g_param_spec_get_redirect_target()</code></a>.
1016
<a class="link" href="gobject-GParamSpec.html#g-param-spec-get-redirect-target" title="g_param_spec_get_redirect_target ()"><code class="function">g_param_spec_get_redirect_target()</code></a>.
1101
1020
<div class="variablelist"><table border="0">
1102
1021
<col align="left" valign="top">
1105
<td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
1106
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a>
1110
<td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
1111
<td>the new property ID
1115
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
1116
<td>the name of a property registered in a parent class or
1117
in an interface of this class.
1024
<td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
1025
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="GObjectClass"><span class="type">GObjectClass</span></a>
1029
<td><p><span class="term"><em class="parameter"><code>property_id</code></em> :</span></p></td>
1030
<td> the new property ID
1034
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
1035
<td> the name of a property registered in a parent class or
1036
in an interface of this class.
1122
<p class="since">Since 2.4
1041
<p class="since">Since 2.4</p>
1128
1044
<div class="refsect2" lang="en">
1129
<a name="id2861353"></a><h3>
1130
<a name="g-object-interface-install-property"></a>g_object_interface_install_property ()</h3>
1131
<a class="indexterm" name="id2861370"></a><pre class="programlisting">void g_object_interface_install_property (<a
1045
<a name="g-object-interface-install-property"></a><h3>g_object_interface_install_property ()</h3>
1046
<pre class="programlisting">void g_object_interface_install_property (<a
1132
1047
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1133
1048
>gpointer</a> g_iface,
1134
<a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
1049
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a> *pspec);</pre>
1136
1051
Add a property to an interface; this is only useful for interfaces
1137
1052
that are added to GObject-derived types. Adding a property to an
1138
1053
interface forces all objects classes with that interface to have a
1139
1054
compatible property. The compatible property could be a newly
1140
created <a class="link" href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>, but normally
1141
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-override-property"><code class="function">g_object_class_override_property()</code></a> will be used so that the object
1055
created <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a>, but normally
1056
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-override-property" title="g_object_class_override_property ()"><code class="function">g_object_class_override_property()</code></a> will be used so that the object
1142
1057
class only needs to provide an implementation and inherits the
1143
1058
property description, default value, bounds, and so forth from the
1144
1059
interface property.
1147
1062
This function is meant to be called from the interface's default
1148
1063
vtable initialization function (the <em class="parameter"><code>class_init</code></em> member of
1149
<a class="link" href="gobject-Type-Information.html#GTypeInfo"><span class="type">GTypeInfo</span></a>.) It must not be called after after <em class="parameter"><code>class_init</code></em> has
1150
been called for any object types implementing this interface.
1064
<a class="link" href="gobject-Type-Information.html#GTypeInfo" title="GTypeInfo"><span class="type">GTypeInfo</span></a>.) It must not be called after after <em class="parameter"><code>class_init</code></em> has
1065
been called for any object types implementing this interface.</p>
1152
1068
<div class="variablelist"><table border="0">
1153
1069
<col align="left" valign="top">
1156
<td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
1157
<td>any interface vtable for the interface, or the default
1072
<td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
1073
<td> any interface vtable for the interface, or the default
1158
1074
vtable for the interface.
1162
<td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
1163
<td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> for the new property
1078
<td><p><span class="term"><em class="parameter"><code>pspec</code></em> :</span></p></td>
1079
<td> the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> for the new property
1168
<p class="since">Since 2.4
1084
<p class="since">Since 2.4</p>
1174
1087
<div class="refsect2" lang="en">
1175
<a name="id2861508"></a><h3>
1176
<a name="g-object-interface-find-property"></a>g_object_interface_find_property ()</h3>
1177
<a class="indexterm" name="id2861524"></a><pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* g_object_interface_find_property (<a
1088
<a name="g-object-interface-find-property"></a><h3>g_object_interface_find_property ()</h3>
1089
<pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a>* g_object_interface_find_property (<a
1178
1090
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1179
1091
>gpointer</a> g_iface,
1181
1093
href="./../glib/glib/glib-Basic-Types.html#gchar"
1182
1094
>gchar</a> *property_name);</pre>
1184
Find the <a class="link" href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> with the given name for an
1096
Find the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> with the given name for an
1185
1097
interface. Generally, the interface vtable passed in as <em class="parameter"><code>g_iface</code></em>
1186
will be the default vtable from <a class="link" href="gobject-Type-Information.html#g-type-default-interface-ref"><code class="function">g_type_default_interface_ref()</code></a>, or,
1098
will be the default vtable from <a class="link" href="gobject-Type-Information.html#g-type-default-interface-ref" title="g_type_default_interface_ref ()"><code class="function">g_type_default_interface_ref()</code></a>, or,
1187
1099
if you know the interface has already been loaded,
1188
<a class="link" href="gobject-Type-Information.html#g-type-default-interface-peek"><code class="function">g_type_default_interface_peek()</code></a>.
1100
<a class="link" href="gobject-Type-Information.html#g-type-default-interface-peek" title="g_type_default_interface_peek ()"><code class="function">g_type_default_interface_peek()</code></a>.</p>
1190
1103
<div class="variablelist"><table border="0">
1191
1104
<col align="left" valign="top">
1194
<td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
1195
<td>any interface vtable for the interface, or the default
1196
vtable for the interface
1200
<td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
1201
<td>name of a property to lookup.
1205
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1206
<td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> for the property of the
1207
interface with the name <em class="parameter"><code>property_name</code></em>, or <a
1208
href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"
1209
><code class="literal">NULL</code></a>
1210
if no such property exists.
1107
<td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
1108
<td> any interface vtable for the interface, or the default
1109
vtable for the interface
1113
<td><p><span class="term"><em class="parameter"><code>property_name</code></em> :</span></p></td>
1114
<td> name of a property to lookup.
1118
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1119
<td> the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec"><span class="type">GParamSpec</span></a> for the property of the interface with the
1120
name <em class="parameter"><code>property_name</code></em>, or <a
1121
href="./../glib/glib/glib-Standard-Macros.html#NULL--CAPS"
1122
><code class="literal">NULL</code></a> if no such property exists.
1215
<p class="since">Since 2.4
1127
<p class="since">Since 2.4</p>
1221
1130
<div class="refsect2" lang="en">
1222
<a name="id2861676"></a><h3>
1223
<a name="g-object-interface-list-properties"></a>g_object_interface_list_properties ()</h3>
1224
<a class="indexterm" name="id2861693"></a><pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>** g_object_interface_list_properties (<a
1131
<a name="g-object-interface-list-properties"></a><h3>g_object_interface_list_properties ()</h3>
1132
<pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="GParamSpec">GParamSpec</a>** g_object_interface_list_properties (<a
1225
1133
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1226
1134
>gpointer</a> g_iface,
1424
1324
<div class="refsect2" lang="en">
1425
<a name="id2862350"></a><h3>
1426
<a name="g-object-unref"></a>g_object_unref ()</h3>
1427
<a class="indexterm" name="id2862363"></a><pre class="programlisting">void g_object_unref (<a
1325
<a name="g-object-unref"></a><h3>g_object_unref ()</h3>
1326
<pre class="programlisting">void g_object_unref (<a
1428
1327
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1429
1328
>gpointer</a> object);</pre>
1431
Decreases the reference count of <em class="parameter"><code>object</code></em>.
1432
When its reference count drops to 0, the object is finalized
1433
(i.e. its memory is freed).
1330
Decreases the reference count of <em class="parameter"><code>object</code></em>. When its reference count
1331
drops to 0, the object is finalized (i.e. its memory is freed).</p>
1435
1334
<div class="variablelist"><table border="0">
1436
1335
<col align="left" valign="top">
1438
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1439
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1337
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1338
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1447
1344
<div class="refsect2" lang="en">
1448
<a name="id2862425"></a><h3>
1449
<a name="g-object-ref-sink"></a>g_object_ref_sink ()</h3>
1450
<a class="indexterm" name="id2862440"></a><pre class="programlisting"><a
1345
<a name="g-object-ref-sink"></a><h3>g_object_ref_sink ()</h3>
1346
<pre class="programlisting"><a
1451
1347
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1452
1348
>gpointer</a> g_object_ref_sink (<a
1453
1349
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1454
1350
>gpointer</a> object);</pre>
1456
Increase the reference count of <em class="parameter"><code>object</code></em>, and possibly remove the
1352
Increase the reference count of <em class="parameter"><code>object</code></em>, and possibly remove the
1457
1353
<a class="link" href="gobject-The-Base-Object-Type.html#floating-ref">floating</a> reference, if <em class="parameter"><code>object</code></em>
1458
1354
has a floating reference.
1461
In other words, if the object is floating, then this call "assumes
1462
ownership" of the floating reference, converting it to a normal reference
1463
by clearing the floating flag while leaving the reference count unchanged.
1464
If the object is not floating, then this call adds a new normal reference
1465
increasing the reference count by one.
1357
In other words, if the object is floating, then this call "assumes
1358
ownership" of the floating reference, converting it to a normal
1359
reference by clearing the floating flag while leaving the reference
1360
count unchanged. If the object is not floating, then this call
1361
adds a new normal reference increasing the reference count by one.</p>
1467
1364
<div class="variablelist"><table border="0">
1468
1365
<col align="left" valign="top">
1471
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1472
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1368
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1369
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1476
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1478
<em class="parameter"><code>object</code></em>
1373
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1374
<td> <em class="parameter"><code>object</code></em>
1483
<p class="since">Since 2.10
1379
<p class="since">Since 2.10</p>
1489
1382
<div class="refsect2" lang="en">
1490
<a name="id2862546"></a><h3>
1491
<a name="GInitiallyUnowned"></a>GInitiallyUnowned</h3>
1492
<a class="indexterm" name="id2862558"></a><pre class="programlisting">typedef struct _GObject GInitiallyUnowned;
1383
<a name="GInitiallyUnowned"></a><h3>GInitiallyUnowned</h3>
1384
<pre class="programlisting">typedef struct _GObject GInitiallyUnowned;
1495
1387
All the fields in the <span class="structname">GInitiallyUnowned</span> structure
1496
are private to the <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a> implementation and should never be
1501
<div class="refsect2" lang="en">
1502
<a name="id2862588"></a><h3>
1503
<a name="GInitiallyUnownedClass"></a>GInitiallyUnownedClass</h3>
1504
<a class="indexterm" name="id2862601"></a><pre class="programlisting">typedef struct _GObjectClass GInitiallyUnownedClass;
1507
The class structure for the <span class="structname">GInitiallyUnowned</span> type.
1511
<div class="refsect2" lang="en">
1512
<a name="id2862622"></a><h3>
1513
<a name="G-TYPE-INITIALLY-UNOWNED:CAPS"></a>G_TYPE_INITIALLY_UNOWNED</h3>
1514
<a class="indexterm" name="id2862636"></a><pre class="programlisting">#define G_TYPE_INITIALLY_UNOWNED (g_initially_unowned_get_type())
1517
The type for <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a>.
1521
<div class="refsect2" lang="en">
1522
<a name="id2862661"></a><h3>
1523
<a name="g-object-is-floating"></a>g_object_is_floating ()</h3>
1524
<a class="indexterm" name="id2862676"></a><pre class="programlisting"><a
1388
are private to the <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a> implementation and should never be
1389
accessed directly.</p>
1394
<div class="refsect2" lang="en">
1395
<a name="GInitiallyUnownedClass"></a><h3>GInitiallyUnownedClass</h3>
1396
<pre class="programlisting">typedef struct _GObjectClass GInitiallyUnownedClass;
1399
The class structure for the <span class="structname">GInitiallyUnowned</span> type.</p>
1404
<div class="refsect2" lang="en">
1405
<a name="G-TYPE-INITIALLY-UNOWNED--CAPS"></a><h3>G_TYPE_INITIALLY_UNOWNED</h3>
1406
<pre class="programlisting">#define G_TYPE_INITIALLY_UNOWNED (g_initially_unowned_get_type())
1409
The type for <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a>.</p>
1414
<div class="refsect2" lang="en">
1415
<a name="g-object-is-floating"></a><h3>g_object_is_floating ()</h3>
1416
<pre class="programlisting"><a
1525
1417
href="./../glib/glib/glib-Basic-Types.html#gboolean"
1526
1418
>gboolean</a> g_object_is_floating (<a
1527
1419
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1528
1420
>gpointer</a> object);</pre>
1530
1422
Checks wether <em class="parameter"><code>object</code></em> has a <a class="link" href="gobject-The-Base-Object-Type.html#floating-ref">floating</a>
1533
1426
<div class="variablelist"><table border="0">
1534
1427
<col align="left" valign="top">
1537
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1538
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1430
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1431
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1542
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1545
href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"
1435
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1437
href="./../glib/glib/glib-Standard-Macros.html#TRUE--CAPS"
1546
1438
><code class="literal">TRUE</code></a> if <em class="parameter"><code>object</code></em> has a floating reference
1551
<p class="since">Since 2.10
1443
<p class="since">Since 2.10</p>
1557
1446
<div class="refsect2" lang="en">
1558
<a name="id2862776"></a><h3>
1559
<a name="g-object-force-floating"></a>g_object_force_floating ()</h3>
1560
<a class="indexterm" name="id2862792"></a><pre class="programlisting">void g_object_force_floating (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);</pre>
1447
<a name="g-object-force-floating"></a><h3>g_object_force_floating ()</h3>
1448
<pre class="programlisting">void g_object_force_floating (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);</pre>
1562
1450
This function is intended for <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> implementations to re-enforce a
1563
1451
<a class="link" href="gobject-The-Base-Object-Type.html#floating-ref">floating</a> object reference.
1564
1452
Doing this is seldomly required, all
1565
<a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a>s are created with a floating reference which
1566
usually just needs to be sunken by calling <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink"><code class="function">g_object_ref_sink()</code></a>.
1453
<a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a>s are created with a floating reference which
1454
usually just needs to be sunken by calling <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a>.</p>
1568
1457
<div class="variablelist"><table border="0">
1569
1458
<col align="left" valign="top">
1571
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1572
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1460
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1461
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1576
<p class="since">Since 2.10
1465
<p class="since">Since 2.10</p>
1582
1468
<div class="refsect2" lang="en">
1583
<a name="id2862891"></a><h3>
1584
<a name="GWeakNotify"></a>GWeakNotify ()</h3>
1585
<a class="indexterm" name="id2862904"></a><pre class="programlisting">void (*GWeakNotify) (<a
1469
<a name="GWeakNotify"></a><h3>GWeakNotify ()</h3>
1470
<pre class="programlisting">void (*GWeakNotify) (<a
1586
1471
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1587
1472
>gpointer</a> data,
1588
1473
<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *where_the_object_was);</pre>
1590
A <a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify"><span class="type">GWeakNotify</span></a> function can be added to an object as a callback that gets
1475
A <a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> function can be added to an object as a callback that gets
1591
1476
triggered when the object is finalized. Since the object is already being
1592
finalized when the <a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify"><span class="type">GWeakNotify</span></a> is called, there's not much you could do
1593
with the object, apart from e.g. using its adress as hash-index or the like.
1595
<div class="variablelist"><table border="0">
1596
<col align="left" valign="top">
1599
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1600
<td>data that was provided when the weak reference was established
1604
<td><p><span class="term"><em class="parameter"><code>where_the_object_was</code></em> :</span></p></td>
1605
<td>the object being finalized
1614
<div class="refsect2" lang="en">
1615
<a name="id2862994"></a><h3>
1616
<a name="g-object-weak-ref"></a>g_object_weak_ref ()</h3>
1617
<a class="indexterm" name="id2863007"></a><pre class="programlisting">void g_object_weak_ref (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
1618
<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify">GWeakNotify</a> notify,
1620
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1621
>gpointer</a> data);</pre>
1623
Adds a weak reference callback to an object. Weak references are used for
1624
notification when an object is finalized. They are called "weak references"
1625
because they allow you to safely hold a pointer to an object without calling
1626
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a> (<a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a> adds a strong reference, that is, forces the
1627
object to stay alive).
1629
<div class="variablelist"><table border="0">
1630
<col align="left" valign="top">
1633
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1635
<a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to reference weakly
1639
<td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1640
<td>callback to invoke before the object is freed
1644
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1645
<td>extra data to pass to notify
1654
<div class="refsect2" lang="en">
1655
<a name="id2863130"></a><h3>
1656
<a name="g-object-weak-unref"></a>g_object_weak_unref ()</h3>
1657
<a class="indexterm" name="id2863144"></a><pre class="programlisting">void g_object_weak_unref (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
1658
<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify">GWeakNotify</a> notify,
1660
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1661
>gpointer</a> data);</pre>
1663
Removes a weak reference callback to an object.
1665
<div class="variablelist"><table border="0">
1666
<col align="left" valign="top">
1669
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1671
<a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to remove a weak reference from
1675
<td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1676
<td>callback to search for
1680
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1681
<td>data to search for
1690
<div class="refsect2" lang="en">
1691
<a name="id2863242"></a><h3>
1692
<a name="g-object-add-weak-pointer"></a>g_object_add_weak_pointer ()</h3>
1693
<a class="indexterm" name="id2863255"></a><pre class="programlisting">void g_object_add_weak_pointer (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
1477
finalized when the <a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> is called, there's not much you could do
1478
with the object, apart from e.g. using its adress as hash-index or the like.</p>
1481
<div class="variablelist"><table border="0">
1482
<col align="left" valign="top">
1485
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1486
<td> data that was provided when the weak reference was established
1490
<td><p><span class="term"><em class="parameter"><code>where_the_object_was</code></em> :</span></p></td>
1491
<td> the object being finalized
1498
<div class="refsect2" lang="en">
1499
<a name="g-object-weak-ref"></a><h3>g_object_weak_ref ()</h3>
1500
<pre class="programlisting">void g_object_weak_ref (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
1501
<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()">GWeakNotify</a> notify,
1503
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1504
>gpointer</a> data);</pre>
1506
Adds a weak reference callback to an object. Weak references are
1507
used for notification when an object is finalized. They are called
1508
"weak references" because they allow you to safely hold a pointer
1509
to an object without calling <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()"><code class="function">g_object_ref()</code></a> (<a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()"><code class="function">g_object_ref()</code></a> adds a
1510
strong reference, that is, forces the object to stay alive).</p>
1513
<div class="variablelist"><table border="0">
1514
<col align="left" valign="top">
1517
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1518
<td> <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to reference weakly
1522
<td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1523
<td> callback to invoke before the object is freed
1527
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1528
<td> extra data to pass to notify
1535
<div class="refsect2" lang="en">
1536
<a name="g-object-weak-unref"></a><h3>g_object_weak_unref ()</h3>
1537
<pre class="programlisting">void g_object_weak_unref (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
1538
<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()">GWeakNotify</a> notify,
1540
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1541
>gpointer</a> data);</pre>
1543
Removes a weak reference callback to an object.</p>
1546
<div class="variablelist"><table border="0">
1547
<col align="left" valign="top">
1550
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1551
<td> <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to remove a weak reference from
1555
<td><p><span class="term"><em class="parameter"><code>notify</code></em> :</span></p></td>
1556
<td> callback to search for
1560
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1561
<td> data to search for
1568
<div class="refsect2" lang="en">
1569
<a name="g-object-add-weak-pointer"></a><h3>g_object_add_weak_pointer ()</h3>
1570
<pre class="programlisting">void g_object_add_weak_pointer (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
1695
1572
href="./../glib/glib/glib-Basic-Types.html#gpointer"
1696
1573
>gpointer</a> *weak_pointer_location);</pre>
1698
1575
Adds a weak reference from weak_pointer to <em class="parameter"><code>object</code></em> to indicate that
1699
the pointer located at <em class="parameter"><code>weak_pointer_location</code></em> is only valid during the
1700
lifetime of <em class="parameter"><code>object</code></em>. When the <em class="parameter"><code>object</code></em> is finalized, <em class="parameter"><code>weak_pointer</code></em> will
1702
href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"
1703
><code class="literal">NULL</code></a>.
1576
the pointer located at <em class="parameter"><code>weak_pointer_location</code></em> is only valid during
1577
the lifetime of <em class="parameter"><code>object</code></em>. When the <em class="parameter"><code>object</code></em> is finalized,
1578
<em class="parameter"><code>weak_pointer</code></em> will be set to <a
1579
href="./../glib/glib/glib-Standard-Macros.html#NULL--CAPS"
1580
><code class="literal">NULL</code></a>.</p>
1705
1583
<div class="variablelist"><table border="0">
1706
1584
<col align="left" valign="top">
1709
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1710
<td>The object that should be weak referenced.
1587
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1588
<td> The object that should be weak referenced.
1714
<td><p><span class="term"><em class="parameter"><code>weak_pointer_location</code></em> :</span></p></td>
1715
<td>The memory address of a pointer.
1592
<td><p><span class="term"><em class="parameter"><code>weak_pointer_location</code></em> :</span></p></td>
1593
<td> The memory address of a pointer.
2219
2076
<div class="refsect2" lang="en">
2220
<a name="id2864922"></a><h3>
2221
<a name="g-object-freeze-notify"></a>g_object_freeze_notify ()</h3>
2222
<a class="indexterm" name="id2864935"></a><pre class="programlisting">void g_object_freeze_notify (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);</pre>
2077
<a name="g-object-freeze-notify"></a><h3>g_object_freeze_notify ()</h3>
2078
<pre class="programlisting">void g_object_freeze_notify (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);</pre>
2224
Stops emission of "notify" signals on <em class="parameter"><code>object</code></em>. The signals are
2225
queued until <a class="link" href="gobject-The-Base-Object-Type.html#g-object-thaw-notify"><code class="function">g_object_thaw_notify()</code></a> is called on <em class="parameter"><code>object</code></em>.
2080
Increases the freeze count on <em class="parameter"><code>object</code></em>. If the freeze count is
2081
non-zero, the emission of "notify" signals on <em class="parameter"><code>object</code></em> is
2082
stopped. The signals are queued until the freeze count is decreased
2228
2086
This is necessary for accessors that modify multiple properties to prevent
2229
premature notification while the object is still being modified.
2231
<div class="variablelist"><table border="0">
2232
<col align="left" valign="top">
2234
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2235
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2243
<div class="refsect2" lang="en">
2244
<a name="id2865019"></a><h3>
2245
<a name="g-object-thaw-notify"></a>g_object_thaw_notify ()</h3>
2246
<a class="indexterm" name="id2865032"></a><pre class="programlisting">void g_object_thaw_notify (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);</pre>
2248
Reverts the effect of a previous call to <a class="link" href="gobject-The-Base-Object-Type.html#g-object-freeze-notify"><code class="function">g_object_freeze_notify()</code></a>.
2249
This causes all queued "notify" signals on <em class="parameter"><code>object</code></em> to be emitted.
2251
<div class="variablelist"><table border="0">
2252
<col align="left" valign="top">
2254
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2255
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2263
<div class="refsect2" lang="en">
2264
<a name="id2865104"></a><h3>
2265
<a name="g-object-get-data"></a>g_object_get_data ()</h3>
2266
<a class="indexterm" name="id2865118"></a><pre class="programlisting"><a
2087
premature notification while the object is still being modified.</p>
2090
<div class="variablelist"><table border="0">
2091
<col align="left" valign="top">
2093
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2094
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2100
<div class="refsect2" lang="en">
2101
<a name="g-object-thaw-notify"></a><h3>g_object_thaw_notify ()</h3>
2102
<pre class="programlisting">void g_object_thaw_notify (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object);</pre>
2104
Reverts the effect of a previous call to
2105
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-freeze-notify" title="g_object_freeze_notify ()"><code class="function">g_object_freeze_notify()</code></a>. The freeze count is decreased on <em class="parameter"><code>object</code></em>
2106
and when it reaches zero, all queued "notify" signals are emitted.
2109
It is an error to call this function when the freeze count is zero.</p>
2112
<div class="variablelist"><table border="0">
2113
<col align="left" valign="top">
2115
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2116
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2122
<div class="refsect2" lang="en">
2123
<a name="g-object-get-data"></a><h3>g_object_get_data ()</h3>
2124
<pre class="programlisting"><a
2267
2125
href="./../glib/glib/glib-Basic-Types.html#gpointer"
2268
2126
>gpointer</a> g_object_get_data (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
2270
2128
href="./../glib/glib/glib-Basic-Types.html#gchar"
2271
2129
>gchar</a> *key);</pre>
2273
Gets a named field from the objects table of associations (see <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data"><code class="function">g_object_set_data()</code></a>).
2131
Gets a named field from the objects table of associations (see <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data" title="g_object_set_data ()"><code class="function">g_object_set_data()</code></a>).</p>
2275
2134
<div class="variablelist"><table border="0">
2276
2135
<col align="left" valign="top">
2279
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2281
<a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> containing the associations
2285
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
2286
<td>name of the key for that association
2290
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2291
<td>the data if found, or <a
2292
href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"
2138
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2139
<td> <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> containing the associations
2143
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
2144
<td> name of the key for that association
2148
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2149
<td> the data if found, or <a
2150
href="./../glib/glib/glib-Standard-Macros.html#NULL--CAPS"
2293
2151
><code class="literal">NULL</code></a> if no such data exists.
2744
2580
Creates a new instance of a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> subtype and sets its properties.
2747
Construction parameters (see <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT:CAPS"><span class="type">G_PARAM_CONSTRUCT</span></a>, <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT-ONLY:CAPS"><span class="type">G_PARAM_CONSTRUCT_ONLY</span></a>)
2748
which are not explicitly specified are set to their default values.
2750
<div class="variablelist"><table border="0">
2751
<col align="left" valign="top">
2754
<td><p><span class="term"><em class="parameter"><code>object_type</code></em> :</span></p></td>
2755
<td>the type id of the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> subtype to instantiate
2759
<td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
2760
<td>the name of the first property
2764
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2765
<td>the value of the first property, followed optionally by more
2766
name/value pairs, followed by <a
2767
href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"
2768
><code class="literal">NULL</code></a>
2772
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2773
<td>a new instance of <em class="parameter"><code>object_type</code></em>
2782
<div class="refsect2" lang="en">
2783
<a name="id2866752"></a><h3>
2784
<a name="g-object-set-valist"></a>g_object_set_valist ()</h3>
2785
<a class="indexterm" name="id2866766"></a><pre class="programlisting">void g_object_set_valist (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
2787
href="./../glib/glib/glib-Basic-Types.html#gchar"
2788
>gchar</a> *first_property_name,
2789
va_list var_args);</pre>
2791
Sets properties on an object.
2793
<div class="variablelist"><table border="0">
2794
<col align="left" valign="top">
2797
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2798
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2802
<td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
2803
<td>name of the first property to set
2807
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2808
<td>value for the first property, followed optionally by more
2809
name/value pairs, followed by <a
2810
href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"
2811
><code class="literal">NULL</code></a>
2820
<div class="refsect2" lang="en">
2821
<a name="id2866875"></a><h3>
2822
<a name="g-object-get-valist"></a>g_object_get_valist ()</h3>
2823
<a class="indexterm" name="id2866888"></a><pre class="programlisting">void g_object_get_valist (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
2825
href="./../glib/glib/glib-Basic-Types.html#gchar"
2826
>gchar</a> *first_property_name,
2827
va_list var_args);</pre>
2829
Gets properties of an object.
2832
In general, a copy is made of the property contents and the caller is
2833
responsible for freeing the memory in the appropriate manner for the type,
2834
for instance by calling <a
2583
Construction parameters (see <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT--CAPS"><span class="type">G_PARAM_CONSTRUCT</span></a>, <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT-ONLY--CAPS"><span class="type">G_PARAM_CONSTRUCT_ONLY</span></a>)
2584
which are not explicitly specified are set to their default values.</p>
2587
<div class="variablelist"><table border="0">
2588
<col align="left" valign="top">
2591
<td><p><span class="term"><em class="parameter"><code>object_type</code></em> :</span></p></td>
2592
<td> the type id of the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> subtype to instantiate
2596
<td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
2597
<td> the name of the first property
2601
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2602
<td> the value of the first property, followed optionally by more
2603
name/value pairs, followed by <a
2604
href="./../glib/glib/glib-Standard-Macros.html#NULL--CAPS"
2605
><code class="literal">NULL</code></a>
2609
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2610
<td> a new instance of <em class="parameter"><code>object_type</code></em>
2617
<div class="refsect2" lang="en">
2618
<a name="g-object-set-valist"></a><h3>g_object_set_valist ()</h3>
2619
<pre class="programlisting">void g_object_set_valist (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
2621
href="./../glib/glib/glib-Basic-Types.html#gchar"
2622
>gchar</a> *first_property_name,
2623
va_list var_args);</pre>
2625
Sets properties on an object.</p>
2628
<div class="variablelist"><table border="0">
2629
<col align="left" valign="top">
2632
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2633
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2637
<td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
2638
<td> name of the first property to set
2642
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2643
<td> value for the first property, followed optionally by more
2644
name/value pairs, followed by <a
2645
href="./../glib/glib/glib-Standard-Macros.html#NULL--CAPS"
2646
><code class="literal">NULL</code></a>
2653
<div class="refsect2" lang="en">
2654
<a name="g-object-get-valist"></a><h3>g_object_get_valist ()</h3>
2655
<pre class="programlisting">void g_object_get_valist (<a class="link" href="gobject-The-Base-Object-Type.html#GObject">GObject</a> *object,
2657
href="./../glib/glib/glib-Basic-Types.html#gchar"
2658
>gchar</a> *first_property_name,
2659
va_list var_args);</pre>
2661
Gets properties of an object.
2664
In general, a copy is made of the property contents and the caller
2665
is responsible for freeing the memory in the appropriate manner for
2666
the type, for instance by calling <a
2835
2667
href="./../glib/glib/glib-Memory-Allocation.html#g-free"
2836
><code class="function">g_free()</code></a> or <a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.
2668
><code class="function">g_free()</code></a> or <a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()"><code class="function">g_object_unref()</code></a>.
2839
See <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get"><code class="function">g_object_get()</code></a>.
2671
See <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get" title="g_object_get ()"><code class="function">g_object_get()</code></a>.</p>
2841
2674
<div class="variablelist"><table border="0">
2842
2675
<col align="left" valign="top">
2845
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2846
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2850
<td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
2851
<td>name of the first property to get
2855
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2856
<td>return location for the first property, followed optionally by more
2857
name/return location pairs, followed by <a
2858
href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"
2678
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2679
<td> a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2683
<td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
2684
<td> name of the first property to get
2688
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2689
<td> return location for the first property, followed optionally by more
2690
name/return location pairs, followed by <a
2691
href="./../glib/glib/glib-Standard-Macros.html#NULL--CAPS"
2859
2692
><code class="literal">NULL</code></a>