~ubuntu-branches/debian/sid/glib2.0/sid

« back to all changes in this revision

Viewing changes to docs/reference/gobject/html/gobject-The-Base-Object-Type.html

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2013-05-08 06:25:57 UTC
  • mfrom: (1.27.14) (3.1.181 experimental)
  • Revision ID: package-import@ubuntu.com-20130508062557-i7gbku66mls70gi2
Tags: 2.36.1-2
Merge experimental branch, upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
<link rel="up" href="rn01.html" title="API Reference">
9
9
<link rel="prev" href="GTypeModule.html" title="GTypeModule">
10
10
<link rel="next" href="gobject-Enumeration-and-Flag-Types.html" title="Enumeration and Flag Types">
11
 
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 
11
<meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
</head>
14
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
48
48
struct              <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass">GObjectClass</a>;
49
49
struct              <a class="link" href="gobject-The-Base-Object-Type.html#GObjectConstructParam" title="struct GObjectConstructParam">GObjectConstructParam</a>;
50
50
<span class="returnvalue">void</span>                (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectGetPropertyFunc" title="GObjectGetPropertyFunc ()">*GObjectGetPropertyFunc</a>)           (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
51
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
 
51
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
52
52
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>,
53
53
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);
54
54
<span class="returnvalue">void</span>                (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectSetPropertyFunc" title="GObjectSetPropertyFunc ()">*GObjectSetPropertyFunc</a>)           (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
55
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
 
55
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
56
56
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>,
57
57
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);
58
58
<span class="returnvalue">void</span>                (<a class="link" href="gobject-The-Base-Object-Type.html#GObjectFinalizeFunc" title="GObjectFinalizeFunc ()">*GObjectFinalizeFunc</a>)              (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);
67
67
#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)
68
68
#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)
69
69
<span class="returnvalue">void</span>                <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>     (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
70
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
 
70
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
71
71
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);
72
72
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-class-install-properties" title="g_object_class_install_properties ()">g_object_class_install_properties</a>   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
73
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_pspecs</code></em>,
 
73
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_pspecs</code></em>,
74
74
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> **pspecs</code></em>);
75
75
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></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>        (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
76
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);
 
76
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);
77
77
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></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>      (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
78
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties</code></em>);
 
78
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties</code></em>);
79
79
<span class="returnvalue">void</span>                <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>    (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
80
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
81
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
82
 
<span class="returnvalue">void</span>                <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> (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
 
80
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
 
81
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
 
82
<span class="returnvalue">void</span>                <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> (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
83
83
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);
84
 
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></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>    (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
85
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);
86
 
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></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>  (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
87
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties_p</code></em>);
88
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()">g_object_new</a>                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
89
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
84
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></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>    (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
 
85
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);
 
86
<a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></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>  (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
 
87
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties_p</code></em>);
 
88
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-new" title="g_object_new ()">g_object_new</a>                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
 
89
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
90
90
                                                         <em class="parameter"><code>...</code></em>);
91
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-newv" title="g_object_newv ()">g_object_newv</a>                       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
92
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_parameters</code></em>,
 
91
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-newv" title="g_object_newv ()">g_object_newv</a>                       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
 
92
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_parameters</code></em>,
93
93
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GParameter" title="struct GParameter"><span class="type">GParameter</span></a> *parameters</code></em>);
94
94
struct              <a class="link" href="gobject-The-Base-Object-Type.html#GParameter" title="struct GParameter">GParameter</a>;
95
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()">g_object_ref</a>                        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
96
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()">g_object_unref</a>                      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
97
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>                   (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
 
95
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()">g_object_ref</a>                        (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
 
96
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-unref" title="g_object_unref ()">g_object_unref</a>                      (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
 
97
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>                   (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
98
98
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-clear-object" title="g_clear_object ()">g_clear_object</a>                      (<em class="parameter"><code>volatile <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> **object_ptr</code></em>);
99
99
typedef             <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned">GInitiallyUnowned</a>;
100
100
typedef             <a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnownedClass" title="GInitiallyUnownedClass">GInitiallyUnownedClass</a>;
101
101
#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>
102
 
<a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>                (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
 
102
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></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>                (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
103
103
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-force-floating" title="g_object_force_floating ()">g_object_force_floating</a>             (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);
104
 
<span class="returnvalue">void</span>                (<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()">*GWeakNotify</a>)                      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
 
104
<span class="returnvalue">void</span>                (<a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()">*GWeakNotify</a>)                      (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
105
105
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *where_the_object_was</code></em>);
106
106
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-ref" title="g_object_weak_ref ()">g_object_weak_ref</a>                   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
107
107
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> notify</code></em>,
108
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
 
108
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
109
109
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-unref" title="g_object_weak_unref ()">g_object_weak_unref</a>                 (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
110
110
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> notify</code></em>,
111
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
 
111
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
112
112
<span class="returnvalue">void</span>                <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>           (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
113
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);
 
113
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);
114
114
<span class="returnvalue">void</span>                <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>        (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
115
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);
116
 
<span class="returnvalue">void</span>                (<a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()">*GToggleNotify</a>)                    (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
 
115
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);
 
116
<span class="returnvalue">void</span>                (<a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()">*GToggleNotify</a>)                    (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
117
117
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
118
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_last_ref</code></em>);
 
118
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_last_ref</code></em>);
119
119
<span class="returnvalue">void</span>                <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>             (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
120
120
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()"><span class="type">GToggleNotify</span></a> notify</code></em>,
121
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
 
121
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
122
122
<span class="returnvalue">void</span>                <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>          (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
123
123
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()"><span class="type">GToggleNotify</span></a> notify</code></em>,
124
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
125
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-connect" title="g_object_connect ()">g_object_connect</a>                    (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
126
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
127
 
                                                         <em class="parameter"><code>...</code></em>);
128
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-disconnect" title="g_object_disconnect ()">g_object_disconnect</a>                 (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
129
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
130
 
                                                         <em class="parameter"><code>...</code></em>);
131
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set" title="g_object_set ()">g_object_set</a>                        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
132
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
133
 
                                                         <em class="parameter"><code>...</code></em>);
134
 
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get" title="g_object_get ()">g_object_get</a>                        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
135
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
124
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
 
125
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-connect" title="g_object_connect ()">g_object_connect</a>                    (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
 
126
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
 
127
                                                         <em class="parameter"><code>...</code></em>);
 
128
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-disconnect" title="g_object_disconnect ()">g_object_disconnect</a>                 (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
 
129
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
 
130
                                                         <em class="parameter"><code>...</code></em>);
 
131
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set" title="g_object_set ()">g_object_set</a>                        (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
 
132
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
133
                                                         <em class="parameter"><code>...</code></em>);
 
134
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get" title="g_object_get ()">g_object_get</a>                        (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
 
135
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
136
136
                                                         <em class="parameter"><code>...</code></em>);
137
137
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-notify" title="g_object_notify ()">g_object_notify</a>                     (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
138
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);
 
138
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);
139
139
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-notify-by-pspec" title="g_object_notify_by_pspec ()">g_object_notify_by_pspec</a>            (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
140
140
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);
141
141
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-freeze-notify" title="g_object_freeze_notify ()">g_object_freeze_notify</a>              (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);
142
142
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-thaw-notify" title="g_object_thaw_notify ()">g_object_thaw_notify</a>                (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>);
143
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>                   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
144
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);
 
143
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>                   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
144
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);
145
145
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-data" title="g_object_set_data ()">g_object_set_data</a>                   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
146
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
147
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
 
146
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
 
147
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
148
148
<span class="returnvalue">void</span>                <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>              (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
149
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
150
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
151
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);
152
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>                 (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
153
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);
154
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>                  (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
155
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);
 
149
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
 
150
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
 
151
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);
 
152
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>                 (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
153
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);
 
154
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-dup-data" title="g_object_dup_data ()">g_object_dup_data</a>                   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
155
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
 
156
                                                         <em class="parameter"><code><a href="../glib/glib-Keyed-Data-Lists.html#GDuplicateFunc"><span class="type">GDuplicateFunc</span></a> dup_func</code></em>,
 
157
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
 
158
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-replace-data" title="g_object_replace_data ()">g_object_replace_data</a>               (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
159
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
 
160
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> oldval</code></em>,
 
161
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> newval</code></em>,
 
162
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>,
 
163
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> *old_destroy</code></em>);
 
164
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>                  (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
165
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);
156
166
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata" title="g_object_set_qdata ()">g_object_set_qdata</a>                  (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
157
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
158
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
 
167
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
 
168
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);
159
169
<span class="returnvalue">void</span>                <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>             (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
160
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
161
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
162
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);
163
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>                (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
164
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);
 
170
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
 
171
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
 
172
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);
 
173
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></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>                (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
174
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);
 
175
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-dup-qdata" title="g_object_dup_qdata ()">g_object_dup_qdata</a>                  (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
176
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
 
177
                                                         <em class="parameter"><code><a href="../glib/glib-Keyed-Data-Lists.html#GDuplicateFunc"><span class="type">GDuplicateFunc</span></a> dup_func</code></em>,
 
178
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
 
179
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-object-replace-qdata" title="g_object_replace_qdata ()">g_object_replace_qdata</a>              (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
180
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
 
181
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> oldval</code></em>,
 
182
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> newval</code></em>,
 
183
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>,
 
184
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> *old_destroy</code></em>);
165
185
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-property" title="g_object_set_property ()">g_object_set_property</a>               (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
166
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
 
186
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
167
187
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>);
168
188
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-property" title="g_object_get_property ()">g_object_get_property</a>               (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
169
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
 
189
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
170
190
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>);
171
191
<a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></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>                 (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
172
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
192
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
173
193
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
174
194
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-valist" title="g_object_set_valist ()">g_object_set_valist</a>                 (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
175
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
195
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
176
196
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
177
197
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-valist" title="g_object_get_valist ()">g_object_get_valist</a>                 (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
178
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
198
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
179
199
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
180
200
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-object-watch-closure" title="g_object_watch_closure ()">g_object_watch_closure</a>              (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
181
201
                                                         <em class="parameter"><code><a class="link" href="gobject-Closures.html#GClosure" title="struct GClosure"><span class="type">GClosure</span></a> *closure</code></em>);
186
206
 
187
207
                    <a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef">GWeakRef</a>;
188
208
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-weak-ref-init" title="g_weak_ref_init ()">g_weak_ref_init</a>                     (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> *weak_ref</code></em>,
189
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
 
209
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
190
210
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-weak-ref-clear" title="g_weak_ref_clear ()">g_weak_ref_clear</a>                    (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> *weak_ref</code></em>);
191
 
<a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-weak-ref-get" title="g_weak_ref_get ()">g_weak_ref_get</a>                      (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> *weak_ref</code></em>);
 
211
<a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            <a class="link" href="gobject-The-Base-Object-Type.html#g-weak-ref-get" title="g_weak_ref_get ()">g_weak_ref_get</a>                      (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> *weak_ref</code></em>);
192
212
<span class="returnvalue">void</span>                <a class="link" href="gobject-The-Base-Object-Type.html#g-weak-ref-set" title="g_weak_ref_set ()">g_weak_ref_set</a>                      (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> *weak_ref</code></em>,
193
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
 
213
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);
194
214
</pre>
195
215
</div>
196
216
<div class="refsect1">
297
317
6
298
318
7
299
319
8
300
 
9</pre></td>
 
320
9
 
321
10</pre></td>
301
322
        <td class="listing_code"><pre class="programlisting"><span class="comment">/* save floating state */</span>
302
323
<span class="usertype">gboolean</span><span class="normal"> was_floating </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-is-floating">g_object_is_floating</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
303
324
<span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-ref-sink">g_object_ref_sink</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
306
327
<span class="comment">/* restore floating state */</span>
307
328
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">was_floating</span><span class="symbol">)</span>
308
329
<span class="normal">  </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-force-floating">g_object_force_floating</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
309
 
<span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span><span class="normal"> </span><span class="comment">/* release previously acquired reference */</span></pre></td>
 
330
<span class="keyword">else</span>
 
331
<span class="normal">  </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span><span class="normal"> </span><span class="comment">/* release previously acquired reference */</span></pre></td>
310
332
      </tr>
311
333
    </tbody>
312
334
  </table>
364
386
<p>
365
387
</p>
366
388
<div class="example">
367
 
<a name="id587132"></a><p class="title"><b>Example 1. Implementing singletons using a constructor</b></p>
 
389
<a name="id-1.4.5.7.3.5.1"></a><p class="title"><b>Example 1. Implementing singletons using a constructor</b></p>
368
390
<div class="example-contents">
369
391
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
370
392
    <tbody>
390
412
19
391
413
20
392
414
21</pre></td>
393
 
        <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="usertype">MySingleton</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">the_singleton </span><span class="symbol">=</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
 
415
        <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="usertype">MySingleton</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">the_singleton </span><span class="symbol">=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
394
416
 
395
417
<span class="keyword">static</span><span class="normal"> <a href="gobject-The-Base-Object-Type.html#GObject">GObject</a></span><span class="symbol">*</span>
396
418
<span class="function">my_singleton_constructor</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GType</span><span class="normal">                  type</span><span class="symbol">,</span>
440
462
<tr>
441
463
<td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.set-property"></a>set_property</code></em> ()</span></p></td>
442
464
<td>the generic setter for all properties of this type. Should be
443
 
overridden for every type with properties. Implementations of <em class="parameter"><code>set_property</code></em>
444
 
don't need to emit property change notification explicitly, this is handled
445
 
by the type system.</td>
 
465
overridden for every type with properties. If implementations of
 
466
<em class="parameter"><code>set_property</code></em> don't emit property change notification explicitly, this will
 
467
be done implicitly by the type system. However, if the notify signal is
 
468
emitted explicitly, the type system will not emit it a second time.</td>
446
469
</tr>
447
470
<tr>
448
471
<td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.get-property"></a>get_property</code></em> ()</span></p></td>
520
543
<div class="refsect2">
521
544
<a name="GObjectGetPropertyFunc"></a><h3>GObjectGetPropertyFunc ()</h3>
522
545
<pre class="programlisting"><span class="returnvalue">void</span>                (*GObjectGetPropertyFunc)           (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
523
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
 
546
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
524
547
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>,
525
548
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);</pre>
526
549
<p>
557
580
<div class="refsect2">
558
581
<a name="GObjectSetPropertyFunc"></a><h3>GObjectSetPropertyFunc ()</h3>
559
582
<pre class="programlisting"><span class="returnvalue">void</span>                (*GObjectSetPropertyFunc)           (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
560
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
 
583
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
561
584
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>,
562
585
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);</pre>
563
586
<p>
629
652
<tr>
630
653
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
631
654
<td>
632
 
<a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> or <a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><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" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a>.</td>
 
655
<a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> or <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><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" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a>.</td>
633
656
</tr>
634
657
</tbody>
635
658
</table></div>
848
871
<div class="refsect2">
849
872
<a name="g-object-class-install-property"></a><h3>g_object_class_install_property ()</h3>
850
873
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_class_install_property     (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
851
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
 
874
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
852
875
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);</pre>
853
876
<p>
854
877
Installs a new property. This is usually done in the class initializer.
884
907
<div class="refsect2">
885
908
<a name="g-object-class-install-properties"></a><h3>g_object_class_install_properties ()</h3>
886
909
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_class_install_properties   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
887
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_pspecs</code></em>,
 
910
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_pspecs</code></em>,
888
911
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> **pspecs</code></em>);</pre>
889
912
<p>
890
913
Installs new properties from an array of <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a>s. This is
941
964
<span class="normal">  PROP_0</span><span class="symbol">,</span><span class="normal"> PROP_FOO</span><span class="symbol">,</span><span class="normal"> PROP_BAR</span><span class="symbol">,</span><span class="normal"> N_PROPERTIES</span>
942
965
<span class="cbracket">}</span><span class="symbol">;</span>
943
966
 
944
 
<span class="keyword">static</span><span class="normal"> </span><span class="usertype">GParamSpec</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">obj_properties</span><span class="symbol">[</span><span class="normal">N_PROPERTIES</span><span class="symbol">]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">;</span>
 
967
<span class="keyword">static</span><span class="normal"> </span><span class="usertype">GParamSpec</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">obj_properties</span><span class="symbol">[</span><span class="normal">N_PROPERTIES</span><span class="symbol">]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">;</span>
945
968
 
946
969
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
947
970
<span class="function">my_object_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">MyObjectClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">klass</span><span class="symbol">)</span>
950
973
 
951
974
<span class="normal">  obj_properties</span><span class="symbol">[</span><span class="normal">PROP_FOO</span><span class="symbol">]</span><span class="normal"> </span><span class="symbol">=</span>
952
975
<span class="normal">    </span><span class="function"><a href="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-int">g_param_spec_int</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"foo"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Foo"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Foo"</span><span class="symbol">,</span>
953
 
<span class="normal">                      </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">,</span><span class="normal"> <a href="./../glib/glib/glib-Basic-Types.html#G-MAXINT:CAPS">G_MAXINT</a></span><span class="symbol">,</span>
 
976
<span class="normal">                      </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Basic-Types.html#G-MAXINT:CAPS">G_MAXINT</a></span><span class="symbol">,</span>
954
977
<span class="normal">                      </span><span class="number">0</span><span class="symbol">,</span>
955
978
<span class="normal">                      <a href="gobject-GParamSpec.html#G-PARAM-READWRITE:CAPS">G_PARAM_READWRITE</a></span><span class="symbol">);</span>
956
979
 
957
980
<span class="normal">  obj_properties</span><span class="symbol">[</span><span class="normal">PROP_BAR</span><span class="symbol">]</span><span class="normal"> </span><span class="symbol">=</span>
958
981
<span class="normal">    </span><span class="function"><a href="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-string">g_param_spec_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"bar"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Bar"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Bar"</span><span class="symbol">,</span>
959
 
<span class="normal">                         <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
 
982
<span class="normal">                         <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
960
983
<span class="normal">                         <a href="gobject-GParamSpec.html#G-PARAM-READWRITE:CAPS">G_PARAM_READWRITE</a></span><span class="symbol">);</span>
961
984
 
962
985
<span class="normal">  gobject_class</span><span class="symbol">-&gt;</span><span class="normal">set_property </span><span class="symbol">=</span><span class="normal"> my_object_set_property</span><span class="symbol">;</span>
1035
1058
<div class="refsect2">
1036
1059
<a name="g-object-class-find-property"></a><h3>g_object_class_find_property ()</h3>
1037
1060
<pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></a> *        g_object_class_find_property        (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
1038
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);</pre>
 
1061
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);</pre>
1039
1062
<p>
1040
1063
Looks up the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> for a property of a class.
1041
1064
</p>
1057
1080
<tr>
1058
1081
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1059
1082
<td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> for the property, or
1060
 
<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the class doesn't have a property of that name. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
1083
<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the class doesn't have a property of that name. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1061
1084
</td>
1062
1085
</tr>
1063
1086
</tbody>
1067
1090
<div class="refsect2">
1068
1091
<a name="g-object-class-list-properties"></a><h3>g_object_class_list_properties ()</h3>
1069
1092
<pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></a> **       g_object_class_list_properties      (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
1070
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties</code></em>);</pre>
 
1093
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties</code></em>);</pre>
1071
1094
<p>
1072
1095
Get an array of <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a>* for all properties of a class.
1073
1096
</p>
1100
1123
<div class="refsect2">
1101
1124
<a name="g-object-class-override-property"></a><h3>g_object_class_override_property ()</h3>
1102
1125
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_class_override_property    (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> *oclass</code></em>,
1103
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
1104
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
 
1126
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
 
1127
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
1105
1128
<p>
1106
1129
Registers <em class="parameter"><code>property_id</code></em> as referring to a property with the
1107
1130
name <em class="parameter"><code>name</code></em> in a parent class or in an interface implemented
1153
1176
<hr>
1154
1177
<div class="refsect2">
1155
1178
<a name="g-object-interface-install-property"></a><h3>g_object_interface_install_property ()</h3>
1156
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_interface_install_property (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
 
1179
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_interface_install_property (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
1157
1180
                                                         <em class="parameter"><code><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec</code></em>);</pre>
1158
1181
<p>
1159
1182
Add a property to an interface; this is only useful for interfaces
1194
1217
<hr>
1195
1218
<div class="refsect2">
1196
1219
<a name="g-object-interface-find-property"></a><h3>g_object_interface_find_property ()</h3>
1197
 
<pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></a> *        g_object_interface_find_property    (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
1198
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);</pre>
 
1220
<pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></a> *        g_object_interface_find_property    (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
 
1221
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);</pre>
1199
1222
<p>
1200
1223
Find the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> with the given name for an
1201
1224
interface. Generally, the interface vtable passed in as <em class="parameter"><code>g_iface</code></em>
1221
1244
<tr>
1222
1245
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1223
1246
<td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> for the property of the
1224
 
interface with the name <em class="parameter"><code>property_name</code></em>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no
 
1247
interface with the name <em class="parameter"><code>property_name</code></em>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no
1225
1248
such property exists. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1226
1249
</td>
1227
1250
</tr>
1232
1255
<hr>
1233
1256
<div class="refsect2">
1234
1257
<a name="g-object-interface-list-properties"></a><h3>g_object_interface_list_properties ()</h3>
1235
 
<pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></a> **       g_object_interface_list_properties  (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
1236
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties_p</code></em>);</pre>
 
1258
<pre class="programlisting"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="returnvalue">GParamSpec</span></a> **       g_object_interface_list_properties  (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> g_iface</code></em>,
 
1259
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_properties_p</code></em>);</pre>
1237
1260
<p>
1238
1261
Lists the properties of an interface.Generally, the interface
1239
1262
vtable passed in as <em class="parameter"><code>g_iface</code></em> will be the default vtable from
1261
1284
<td>a
1262
1285
pointer to an array of pointers to <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a>
1263
1286
structures. The paramspecs are owned by GLib, but the
1264
 
array should be freed with <a href="./../glib/glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when you are done with
 
1287
array should be freed with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when you are done with
1265
1288
it. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_properties_p][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span>
1266
1289
</td>
1267
1290
</tr>
1272
1295
<hr>
1273
1296
<div class="refsect2">
1274
1297
<a name="g-object-new"></a><h3>g_object_new ()</h3>
1275
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_new                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
1276
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
1298
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_new                        (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
 
1299
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
1277
1300
                                                         <em class="parameter"><code>...</code></em>);</pre>
1278
1301
<p>
1279
1302
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.
1299
1322
<tr>
1300
1323
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1301
1324
<td>the value of the first property, followed optionally by more
1302
 
name/value pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 
1325
name/value pairs, followed by <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
1303
1326
</td>
1304
1327
</tr>
1305
1328
<tr>
1313
1336
<hr>
1314
1337
<div class="refsect2">
1315
1338
<a name="g-object-newv"></a><h3>g_object_newv ()</h3>
1316
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_newv                       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
1317
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_parameters</code></em>,
 
1339
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_newv                       (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
 
1340
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_parameters</code></em>,
1318
1341
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GParameter" title="struct GParameter"><span class="type">GParameter</span></a> *parameters</code></em>);</pre>
1319
1342
<p>
1320
1343
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.
1348
1371
<tr>
1349
1372
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1350
1373
<td>a new instance of
1351
 
<em class="parameter"><code>object_type</code></em>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.Object][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 
1374
<em class="parameter"><code>object_type</code></em>. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.Object][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
1352
1375
</td>
1353
1376
</tr>
1354
1377
</tbody>
1373
1396
</colgroup>
1374
1397
<tbody>
1375
1398
<tr>
1376
 
<td><p><span class="term">const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GParameter.name"></a>name</code></em>;</span></p></td>
 
1399
<td><p><span class="term">const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GParameter.name"></a>name</code></em>;</span></p></td>
1377
1400
<td>the parameter name</td>
1378
1401
</tr>
1379
1402
<tr>
1386
1409
<hr>
1387
1410
<div class="refsect2">
1388
1411
<a name="g-object-ref"></a><h3>g_object_ref ()</h3>
1389
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_ref                        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
 
1412
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_ref                        (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
1390
1413
<p>
1391
1414
Increases the reference count of <em class="parameter"><code>object</code></em>.
1392
1415
</p>
1398
1421
<tbody>
1399
1422
<tr>
1400
1423
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1401
 
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.Object]</span>
 
1424
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.Object]</span>
1402
1425
</td>
1403
1426
</tr>
1404
1427
<tr>
1405
1428
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1406
 
<td>the same <em class="parameter"><code>object</code></em>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.Object][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
1429
<td>the same <em class="parameter"><code>object</code></em>. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.Object][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1407
1430
</td>
1408
1431
</tr>
1409
1432
</tbody>
1412
1435
<hr>
1413
1436
<div class="refsect2">
1414
1437
<a name="g-object-unref"></a><h3>g_object_unref ()</h3>
1415
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_unref                      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
 
1438
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_unref                      (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
1416
1439
<p>
1417
1440
Decreases the reference count of <em class="parameter"><code>object</code></em>. When its reference count
1418
1441
drops to 0, the object is finalized (i.e. its memory is freed).
1424
1447
</colgroup>
1425
1448
<tbody><tr>
1426
1449
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1427
 
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.Object]</span>
 
1450
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.Object]</span>
1428
1451
</td>
1429
1452
</tr></tbody>
1430
1453
</table></div>
1432
1455
<hr>
1433
1456
<div class="refsect2">
1434
1457
<a name="g-object-ref-sink"></a><h3>g_object_ref_sink ()</h3>
1435
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_ref_sink                   (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
 
1458
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_ref_sink                   (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
1436
1459
<p>
1437
1460
Increase the reference count of <em class="parameter"><code>object</code></em>, and possibly remove the
1438
1461
<a class="link" href="gobject-The-Base-Object-Type.html#floating-ref">floating</a> reference, if <em class="parameter"><code>object</code></em>
1453
1476
<tbody>
1454
1477
<tr>
1455
1478
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1456
 
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.Object]</span>
 
1479
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.Object]</span>
1457
1480
</td>
1458
1481
</tr>
1459
1482
<tr>
1460
1483
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1461
1484
<td>
1462
 
<em class="parameter"><code>object</code></em>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.Object][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
1485
<em class="parameter"><code>object</code></em>. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.Object][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
1463
1486
</td>
1464
1487
</tr>
1465
1488
</tbody>
1474
1497
Clears a reference to a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>.
1475
1498
</p>
1476
1499
<p>
1477
 
<em class="parameter"><code>object_ptr</code></em> must not be <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
 
1500
<em class="parameter"><code>object_ptr</code></em> must not be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
1478
1501
</p>
1479
1502
<p>
1480
 
If the reference is <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then this function does nothing.
 
1503
If the reference is <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then this function does nothing.
1481
1504
Otherwise, the reference count of the object is decreased and the
1482
 
pointer is set to <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
 
1505
pointer is set to <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
1483
1506
</p>
1484
1507
<p>
1485
1508
This function is threadsafe and modifies the pointer atomically,
1533
1556
<hr>
1534
1557
<div class="refsect2">
1535
1558
<a name="g-object-is-floating"></a><h3>g_object_is_floating ()</h3>
1536
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_object_is_floating                (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
 
1559
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_object_is_floating                (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
1537
1560
<p>
1538
1561
Checks whether <em class="parameter"><code>object</code></em> has a <a class="link" href="gobject-The-Base-Object-Type.html#floating-ref">floating</a>
1539
1562
reference.
1546
1569
<tbody>
1547
1570
<tr>
1548
1571
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1549
 
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.Object]</span>
 
1572
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.Object]</span>
1550
1573
</td>
1551
1574
</tr>
1552
1575
<tr>
1553
1576
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1554
1577
<td>
1555
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>object</code></em> has a floating reference</td>
 
1578
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>object</code></em> has a floating reference</td>
1556
1579
</tr>
1557
1580
</tbody>
1558
1581
</table></div>
1585
1608
<hr>
1586
1609
<div class="refsect2">
1587
1610
<a name="GWeakNotify"></a><h3>GWeakNotify ()</h3>
1588
 
<pre class="programlisting"><span class="returnvalue">void</span>                (*GWeakNotify)                      (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
 
1611
<pre class="programlisting"><span class="returnvalue">void</span>                (*GWeakNotify)                      (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
1589
1612
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *where_the_object_was</code></em>);</pre>
1590
1613
<p>
1591
1614
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
1615
1638
<a name="g-object-weak-ref"></a><h3>g_object_weak_ref ()</h3>
1616
1639
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_weak_ref                   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1617
1640
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> notify</code></em>,
1618
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
 
1641
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
1619
1642
<p>
1620
1643
Adds a weak reference callback to an object. Weak references are
1621
1644
used for notification when an object is finalized. They are called
1656
1679
<a name="g-object-weak-unref"></a><h3>g_object_weak_unref ()</h3>
1657
1680
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_weak_unref                 (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1658
1681
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> notify</code></em>,
1659
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
 
1682
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
1660
1683
<p>
1661
1684
Removes a weak reference callback to an object.
1662
1685
</p>
1686
1709
<div class="refsect2">
1687
1710
<a name="g-object-add-weak-pointer"></a><h3>g_object_add_weak_pointer ()</h3>
1688
1711
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_add_weak_pointer           (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1689
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);</pre>
 
1712
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);</pre>
1690
1713
<p>
1691
1714
Adds a weak reference from weak_pointer to <em class="parameter"><code>object</code></em> to indicate that
1692
1715
the pointer located at <em class="parameter"><code>weak_pointer_location</code></em> is only valid during
1693
1716
the lifetime of <em class="parameter"><code>object</code></em>. When the <em class="parameter"><code>object</code></em> is finalized,
1694
 
<em class="parameter"><code>weak_pointer</code></em> will be set to <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
 
1717
<em class="parameter"><code>weak_pointer</code></em> will be set to <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
1695
1718
</p>
1696
1719
<p>
1697
1720
Note that as with <a class="link" href="gobject-The-Base-Object-Type.html#g-object-weak-ref" title="g_object_weak_ref ()"><code class="function">g_object_weak_ref()</code></a>, the weak references created by
1721
1744
<div class="refsect2">
1722
1745
<a name="g-object-remove-weak-pointer"></a><h3>g_object_remove_weak_pointer ()</h3>
1723
1746
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_remove_weak_pointer        (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1724
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);</pre>
 
1747
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *weak_pointer_location</code></em>);</pre>
1725
1748
<p>
1726
1749
Removes a weak reference from <em class="parameter"><code>object</code></em> that was previously added
1727
1750
using <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-weak-pointer" title="g_object_add_weak_pointer ()"><code class="function">g_object_add_weak_pointer()</code></a>. The <em class="parameter"><code>weak_pointer_location</code></em> has
1748
1771
<hr>
1749
1772
<div class="refsect2">
1750
1773
<a name="GToggleNotify"></a><h3>GToggleNotify ()</h3>
1751
 
<pre class="programlisting"><span class="returnvalue">void</span>                (*GToggleNotify)                    (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
 
1774
<pre class="programlisting"><span class="returnvalue">void</span>                (*GToggleNotify)                    (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
1752
1775
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1753
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_last_ref</code></em>);</pre>
 
1776
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> is_last_ref</code></em>);</pre>
1754
1777
<p>
1755
1778
A callback function used for notification when the state
1756
1779
of a toggle reference changes. See <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref" title="g_object_add_toggle_ref ()"><code class="function">g_object_add_toggle_ref()</code></a>.
1773
1796
<tr>
1774
1797
<td><p><span class="term"><em class="parameter"><code>is_last_ref</code></em> :</span></p></td>
1775
1798
<td>
1776
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the toggle reference is now the
1777
 
last reference to the object. <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the toggle
 
1799
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the toggle reference is now the
 
1800
last reference to the object. <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the toggle
1778
1801
reference was the last reference and there are now other
1779
1802
references.</td>
1780
1803
</tr>
1786
1809
<a name="g-object-add-toggle-ref"></a><h3>g_object_add_toggle_ref ()</h3>
1787
1810
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_add_toggle_ref             (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1788
1811
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()"><span class="type">GToggleNotify</span></a> notify</code></em>,
1789
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
 
1812
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
1790
1813
<p>
1791
1814
Increases the reference count of the object by one and sets a
1792
1815
callback to be called when all other references to the object are
1852
1875
<a name="g-object-remove-toggle-ref"></a><h3>g_object_remove_toggle_ref ()</h3>
1853
1876
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_remove_toggle_ref          (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
1854
1877
                                                         <em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GToggleNotify" title="GToggleNotify ()"><span class="type">GToggleNotify</span></a> notify</code></em>,
1855
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
 
1878
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
1856
1879
<p>
1857
1880
Removes a reference added with <a class="link" href="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref" title="g_object_add_toggle_ref ()"><code class="function">g_object_add_toggle_ref()</code></a>. The
1858
1881
reference count of the object is decreased by one.
1886
1909
<hr>
1887
1910
<div class="refsect2">
1888
1911
<a name="g-object-connect"></a><h3>g_object_connect ()</h3>
1889
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_connect                    (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
1890
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
 
1912
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_connect                    (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
 
1913
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
1891
1914
                                                         <em class="parameter"><code>...</code></em>);</pre>
1892
1915
<p>
1893
1916
A convenience function to connect multiple signals at once.
1971
1994
        <td class="listing_code"><pre class="programlisting"><span class="normal">menu</span><span class="symbol">-&gt;</span><span class="normal">toplevel </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-connect">g_object_connect</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">GTK_TYPE_WINDOW</span><span class="symbol">,</span>
1972
1995
<span class="normal">                           </span><span class="string">"type"</span><span class="symbol">,</span><span class="normal"> GTK_WINDOW_POPUP</span><span class="symbol">,</span>
1973
1996
<span class="normal">                           </span><span class="string">"child"</span><span class="symbol">,</span><span class="normal"> menu</span><span class="symbol">,</span>
1974
 
<span class="normal">                           <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">),</span>
 
1997
<span class="normal">                           <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">),</span>
1975
1998
<span class="normal">                     </span><span class="string">"signal::event"</span><span class="symbol">,</span><span class="normal"> gtk_menu_window_event</span><span class="symbol">,</span><span class="normal"> menu</span><span class="symbol">,</span>
1976
1999
<span class="normal">                     </span><span class="string">"signal::size_request"</span><span class="symbol">,</span><span class="normal"> gtk_menu_window_size_request</span><span class="symbol">,</span><span class="normal"> menu</span><span class="symbol">,</span>
1977
2000
<span class="normal">                     </span><span class="string">"signal::destroy"</span><span class="symbol">,</span><span class="normal"> gtk_widget_destroyed</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">menu</span><span class="symbol">-&gt;</span><span class="normal">toplevel</span><span class="symbol">,</span>
1978
 
<span class="normal">                     <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span></pre></td>
 
2001
<span class="normal">                     <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span></pre></td>
1979
2002
      </tr>
1980
2003
    </tbody>
1981
2004
  </table>
2003
2026
<td>
2004
2027
<a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> for the first signal, followed by data for the
2005
2028
first signal, followed optionally by more signal
2006
 
spec/callback/data triples, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 
2029
spec/callback/data triples, followed by <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2007
2030
</td>
2008
2031
</tr>
2009
2032
<tr>
2018
2041
<hr>
2019
2042
<div class="refsect2">
2020
2043
<a name="g-object-disconnect"></a><h3>g_object_disconnect ()</h3>
2021
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_disconnect                 (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
2022
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
 
2044
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_disconnect                 (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
 
2045
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *signal_spec</code></em>,
2023
2046
                                                         <em class="parameter"><code>...</code></em>);</pre>
2024
2047
<p>
2025
2048
A convenience function to disconnect multiple signals at once.
2050
2073
<td>
2051
2074
<a class="link" href="gobject-Closures.html#GCallback" title="GCallback ()"><span class="type">GCallback</span></a> for the first signal, followed by data for the first signal,
2052
2075
followed optionally by more signal spec/callback/data triples,
2053
 
followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 
2076
followed by <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2054
2077
</td>
2055
2078
</tr>
2056
2079
</tbody>
2059
2082
<hr>
2060
2083
<div class="refsect2">
2061
2084
<a name="g-object-set"></a><h3>g_object_set ()</h3>
2062
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_set                        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
2063
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
2085
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_set                        (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
 
2086
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
2064
2087
                                                         <em class="parameter"><code>...</code></em>);</pre>
2065
2088
<p>
2066
2089
Sets properties on an object.
2083
2106
<tr>
2084
2107
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
2085
2108
<td>value for the first property, followed optionally by more
2086
 
name/value pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 
2109
name/value pairs, followed by <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2087
2110
</td>
2088
2111
</tr>
2089
2112
</tbody>
2092
2115
<hr>
2093
2116
<div class="refsect2">
2094
2117
<a name="g-object-get"></a><h3>g_object_get ()</h3>
2095
 
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_get                        (<em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
2096
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
2118
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_get                        (<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>,
 
2119
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
2097
2120
                                                         <em class="parameter"><code>...</code></em>);</pre>
2098
2121
<p>
2099
2122
Gets properties of an object.
2101
2124
<p>
2102
2125
In general, a copy is made of the property contents and the caller
2103
2126
is responsible for freeing the memory in the appropriate manner for
2104
 
the type, for instance by calling <a href="./../glib/glib/glib-Memory-Allocation.html#g-free"><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>.
 
2127
the type, for instance by calling <a href="../glib/glib-Memory-Allocation.html#g-free"><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>.
2105
2128
</p>
2106
2129
<p>
2107
2130
</p>
2108
2131
<div class="example">
2109
 
<a name="id613836"></a><p class="title"><b>Example 2. Using g_object_get()</b></p>
 
2132
<a name="id-1.4.5.7.49.6.1"></a><p class="title"><b>Example 2. Using g_object_get()</b></p>
2110
2133
<div class="example-contents">
2111
2134
An example of using <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> to get the contents
2112
2135
of three properties - one of type <a class="link" href="gobject-Type-Information.html#G-TYPE-INT:CAPS" title="G_TYPE_INT"><span class="type">G_TYPE_INT</span></a>,
2149
2172
<tr>
2150
2173
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
2151
2174
<td>return location for the first property, followed optionally by more
2152
 
name/return location pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 
2175
name/return location pairs, followed by <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2153
2176
</td>
2154
2177
</tr>
2155
2178
</tbody>
2159
2182
<div class="refsect2">
2160
2183
<a name="g-object-notify"></a><h3>g_object_notify ()</h3>
2161
2184
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_notify                     (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2162
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);</pre>
 
2185
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>);</pre>
2163
2186
<p>
2164
2187
Emits a "notify" signal for the property <em class="parameter"><code>property_name</code></em> on <em class="parameter"><code>object</code></em>.
2165
2188
</p>
2302
2325
Increases the freeze count on <em class="parameter"><code>object</code></em>. If the freeze count is
2303
2326
non-zero, the emission of "notify" signals on <em class="parameter"><code>object</code></em> is
2304
2327
stopped. The signals are queued until the freeze count is decreased
2305
 
to zero.
 
2328
to zero. Duplicate notifications are squashed so that at most one
 
2329
<a class="link" href="gobject-The-Base-Object-Type.html#GObject-notify" title='The "notify" signal'><span class="type">"notify"</span></a> signal is emitted for each property modified while the
 
2330
object is frozen.
2306
2331
</p>
2307
2332
<p>
2308
2333
This is necessary for accessors that modify multiple properties to prevent
2327
2352
<p>
2328
2353
Reverts the effect of a previous call to
2329
2354
<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>
2330
 
and when it reaches zero, all queued "notify" signals are emitted.
 
2355
and when it reaches zero, queued "notify" signals are emitted.
 
2356
</p>
 
2357
<p>
 
2358
Duplicate notifications for each property are squashed so that at most one
 
2359
<a class="link" href="gobject-The-Base-Object-Type.html#GObject-notify" title='The "notify" signal'><span class="type">"notify"</span></a> signal is emitted for each property.
2331
2360
</p>
2332
2361
<p>
2333
2362
It is an error to call this function when the freeze count is zero.
2347
2376
<hr>
2348
2377
<div class="refsect2">
2349
2378
<a name="g-object-get-data"></a><h3>g_object_get_data ()</h3>
2350
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_get_data                   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2351
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
 
2379
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_get_data                   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
2380
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
2352
2381
<p>
2353
2382
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>).
2354
2383
</p>
2369
2398
</tr>
2370
2399
<tr>
2371
2400
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2372
 
<td>the data if found, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such data exists. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
2401
<td>the data if found, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such data exists. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2373
2402
</td>
2374
2403
</tr>
2375
2404
</tbody>
2379
2408
<div class="refsect2">
2380
2409
<a name="g-object-set-data"></a><h3>g_object_set_data ()</h3>
2381
2410
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_set_data                   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2382
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
2383
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
 
2411
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
 
2412
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
2384
2413
<p>
2385
2414
Each object carries around a table of associations from
2386
2415
strings to pointers.  This function lets you set an association.
2415
2444
<div class="refsect2">
2416
2445
<a name="g-object-set-data-full"></a><h3>g_object_set_data_full ()</h3>
2417
2446
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_set_data_full              (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2418
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
2419
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
2420
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);</pre>
 
2447
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
 
2448
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
 
2449
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);</pre>
2421
2450
<p>
2422
2451
Like <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> except it adds notification
2423
2452
for when the association is destroyed, either by setting it
2424
2453
to a different value or when the object is destroyed.
2425
2454
</p>
2426
2455
<p>
2427
 
Note that the <em class="parameter"><code>destroy</code></em> callback is not called if <em class="parameter"><code>data</code></em> is <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
 
2456
Note that the <em class="parameter"><code>destroy</code></em> callback is not called if <em class="parameter"><code>data</code></em> is <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
2428
2457
</p>
2429
2458
<div class="variablelist"><table border="0" class="variablelist">
2430
2459
<colgroup>
2455
2484
<hr>
2456
2485
<div class="refsect2">
2457
2486
<a name="g-object-steal-data"></a><h3>g_object_steal_data ()</h3>
2458
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_steal_data                 (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2459
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
 
2487
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_steal_data                 (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
2488
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>);</pre>
2460
2489
<p>
2461
2490
Remove a specified datum from the object's data associations,
2462
2491
without invoking the association's destroy handler.
2478
2507
</tr>
2479
2508
<tr>
2480
2509
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2481
 
<td>the data if found, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such data exists. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2482
 
</td>
2483
 
</tr>
2484
 
</tbody>
2485
 
</table></div>
 
2510
<td>the data if found, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such data exists. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 
2511
</td>
 
2512
</tr>
 
2513
</tbody>
 
2514
</table></div>
 
2515
</div>
 
2516
<hr>
 
2517
<div class="refsect2">
 
2518
<a name="g-object-dup-data"></a><h3>g_object_dup_data ()</h3>
 
2519
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_dup_data                   (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
2520
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
 
2521
                                                         <em class="parameter"><code><a href="../glib/glib-Keyed-Data-Lists.html#GDuplicateFunc"><span class="type">GDuplicateFunc</span></a> dup_func</code></em>,
 
2522
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 
2523
<p>
 
2524
This is a variant of <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-data" title="g_object_get_data ()"><code class="function">g_object_get_data()</code></a> which returns
 
2525
a 'duplicate' of the value. <em class="parameter"><code>dup_func</code></em> defines the
 
2526
meaning of 'duplicate' in this context, it could e.g.
 
2527
take a reference on a ref-counted object.
 
2528
</p>
 
2529
<p>
 
2530
If the <em class="parameter"><code>key</code></em> is not set on the object then <em class="parameter"><code>dup_func</code></em>
 
2531
will be called with a <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> argument.
 
2532
</p>
 
2533
<p>
 
2534
Note that <em class="parameter"><code>dup_func</code></em> is called while user data of <em class="parameter"><code>object</code></em>
 
2535
is locked.
 
2536
</p>
 
2537
<p>
 
2538
This function can be useful to avoid races when multiple
 
2539
threads are using object data on the same key on the same
 
2540
object.
 
2541
</p>
 
2542
<div class="variablelist"><table border="0" class="variablelist">
 
2543
<colgroup>
 
2544
<col align="left" valign="top">
 
2545
<col>
 
2546
</colgroup>
 
2547
<tbody>
 
2548
<tr>
 
2549
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
 
2550
<td>the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to store user data on</td>
 
2551
</tr>
 
2552
<tr>
 
2553
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
2554
<td>a string, naming the user data pointer</td>
 
2555
</tr>
 
2556
<tr>
 
2557
<td><p><span class="term"><em class="parameter"><code>dup_func</code></em> :</span></p></td>
 
2558
<td>function to dup the value. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2559
</td>
 
2560
</tr>
 
2561
<tr>
 
2562
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
2563
<td>passed as user_data to <em class="parameter"><code>dup_func</code></em>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2564
</td>
 
2565
</tr>
 
2566
<tr>
 
2567
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2568
<td>the result of calling <em class="parameter"><code>dup_func</code></em> on the value
 
2569
associated with <em class="parameter"><code>key</code></em> on <em class="parameter"><code>object</code></em>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set.
 
2570
If <em class="parameter"><code>dup_func</code></em> is <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the value is returned
 
2571
unmodified.</td>
 
2572
</tr>
 
2573
</tbody>
 
2574
</table></div>
 
2575
<p class="since">Since 2.34</p>
 
2576
</div>
 
2577
<hr>
 
2578
<div class="refsect2">
 
2579
<a name="g-object-replace-data"></a><h3>g_object_replace_data ()</h3>
 
2580
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_object_replace_data               (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
2581
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
 
2582
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> oldval</code></em>,
 
2583
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> newval</code></em>,
 
2584
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>,
 
2585
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> *old_destroy</code></em>);</pre>
 
2586
<p>
 
2587
Compares the user data for the key <em class="parameter"><code>key</code></em> on <em class="parameter"><code>object</code></em> with
 
2588
<em class="parameter"><code>oldval</code></em>, and if they are the same, replaces <em class="parameter"><code>oldval</code></em> with
 
2589
<em class="parameter"><code>newval</code></em>.
 
2590
</p>
 
2591
<p>
 
2592
This is like a typical atomic compare-and-exchange
 
2593
operation, for user data on an object.
 
2594
</p>
 
2595
<p>
 
2596
If the previous value was replaced then ownership of the
 
2597
old value (<em class="parameter"><code>oldval</code></em>) is passed to the caller, including
 
2598
the registred destroy notify for it (passed out in <em class="parameter"><code>old_destroy</code></em>).
 
2599
Its up to the caller to free this as he wishes, which may
 
2600
or may not include using <em class="parameter"><code>old_destroy</code></em> as sometimes replacement
 
2601
should not destroy the object in the normal way.
 
2602
</p>
 
2603
<p>
 
2604
Return: <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the existing value for <em class="parameter"><code>key</code></em> was replaced
 
2605
 by <em class="parameter"><code>newval</code></em>, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
 
2606
</p>
 
2607
<div class="variablelist"><table border="0" class="variablelist">
 
2608
<colgroup>
 
2609
<col align="left" valign="top">
 
2610
<col>
 
2611
</colgroup>
 
2612
<tbody>
 
2613
<tr>
 
2614
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
 
2615
<td>the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to store user data on</td>
 
2616
</tr>
 
2617
<tr>
 
2618
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
 
2619
<td>a string, naming the user data pointer</td>
 
2620
</tr>
 
2621
<tr>
 
2622
<td><p><span class="term"><em class="parameter"><code>oldval</code></em> :</span></p></td>
 
2623
<td>the old value to compare against. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2624
</td>
 
2625
</tr>
 
2626
<tr>
 
2627
<td><p><span class="term"><em class="parameter"><code>newval</code></em> :</span></p></td>
 
2628
<td>the new value. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2629
</td>
 
2630
</tr>
 
2631
<tr>
 
2632
<td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
 
2633
<td>a destroy notify for the new value. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2634
</td>
 
2635
</tr>
 
2636
<tr>
 
2637
<td><p><span class="term"><em class="parameter"><code>old_destroy</code></em> :</span></p></td>
 
2638
<td>destroy notify for the existing value. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2639
</td>
 
2640
</tr>
 
2641
</tbody>
 
2642
</table></div>
 
2643
<p class="since">Since 2.34</p>
2486
2644
</div>
2487
2645
<hr>
2488
2646
<div class="refsect2">
2489
2647
<a name="g-object-get-qdata"></a><h3>g_object_get_qdata ()</h3>
2490
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_get_qdata                  (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2491
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);</pre>
 
2648
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_get_qdata                  (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
2649
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);</pre>
2492
2650
<p>
2493
2651
This function gets back user data pointers stored via
2494
2652
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata" title="g_object_set_qdata ()"><code class="function">g_object_set_qdata()</code></a>.
2505
2663
</tr>
2506
2664
<tr>
2507
2665
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2508
 
<td>A <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
 
2666
<td>A <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
2509
2667
</tr>
2510
2668
<tr>
2511
2669
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2512
 
<td>The user data pointer set, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
 
2670
<td>The user data pointer set, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
2513
2671
</td>
2514
2672
</tr>
2515
2673
</tbody>
2519
2677
<div class="refsect2">
2520
2678
<a name="g-object-set-qdata"></a><h3>g_object_set_qdata ()</h3>
2521
2679
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_set_qdata                  (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2522
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
2523
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
 
2680
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
 
2681
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre>
2524
2682
<p>
2525
2683
This sets an opaque, named pointer on an object.
2526
 
The name is specified through a <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> (retrived e.g. via
2527
 
<a href="./../glib/glib/glib-Quarks.html#g-quark-from-static-string"><code class="function">g_quark_from_static_string()</code></a>), and the pointer
 
2684
The name is specified through a <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> (retrived e.g. via
 
2685
<a href="../glib/glib-Quarks.html#g-quark-from-static-string"><code class="function">g_quark_from_static_string()</code></a>), and the pointer
2528
2686
can be gotten back from the <em class="parameter"><code>object</code></em> with <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-qdata" title="g_object_get_qdata ()"><code class="function">g_object_get_qdata()</code></a>
2529
2687
until the <em class="parameter"><code>object</code></em> is finalized.
2530
2688
Setting a previously set user data pointer, overrides (frees)
2531
 
the old pointer set, using <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> as pointer essentially
 
2689
the old pointer set, using <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> as pointer essentially
2532
2690
removes the data stored.
2533
2691
</p>
2534
2692
<div class="variablelist"><table border="0" class="variablelist">
2543
2701
</tr>
2544
2702
<tr>
2545
2703
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2546
 
<td>A <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
 
2704
<td>A <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
2547
2705
</tr>
2548
2706
<tr>
2549
2707
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2556
2714
<div class="refsect2">
2557
2715
<a name="g-object-set-qdata-full"></a><h3>g_object_set_qdata_full ()</h3>
2558
2716
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_set_qdata_full             (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2559
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
2560
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
2561
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);</pre>
 
2717
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
 
2718
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
 
2719
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);</pre>
2562
2720
<p>
2563
2721
This function works like <a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata" title="g_object_set_qdata ()"><code class="function">g_object_set_qdata()</code></a>, but in addition,
2564
2722
a void (*destroy) (gpointer) function may be specified which is
2578
2736
</tr>
2579
2737
<tr>
2580
2738
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2581
 
<td>A <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
 
2739
<td>A <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
2582
2740
</tr>
2583
2741
<tr>
2584
2742
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2595
2753
<hr>
2596
2754
<div class="refsect2">
2597
2755
<a name="g-object-steal-qdata"></a><h3>g_object_steal_qdata ()</h3>
2598
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_steal_qdata                (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2599
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);</pre>
 
2756
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_steal_qdata                (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
2757
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);</pre>
2600
2758
<p>
2601
2759
This function gets back user data pointers stored via
2602
2760
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata" title="g_object_set_qdata ()"><code class="function">g_object_set_qdata()</code></a> and removes the <em class="parameter"><code>data</code></em> from object
2637
2795
<span class="normal">                         </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">new_string</span><span class="symbol">)</span>
2638
2796
<span class="cbracket">{</span>
2639
2797
<span class="normal">  </span><span class="comment">// the quark, naming the object data</span>
2640
 
<span class="normal">  </span><span class="usertype">GQuark</span><span class="normal"> quark_string_list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-Quarks.html#g-quark-from-static-string">g_quark_from_static_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"my-string-list"</span><span class="symbol">);</span>
 
2798
<span class="normal">  </span><span class="usertype">GQuark</span><span class="normal"> quark_string_list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="../glib/glib-Quarks.html#g-quark-from-static-string">g_quark_from_static_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"my-string-list"</span><span class="symbol">);</span>
2641
2799
<span class="normal">  </span><span class="comment">// retrive the old string list</span>
2642
2800
<span class="normal">  </span><span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-steal-qdata">g_object_steal_qdata</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">,</span><span class="normal"> quark_string_list</span><span class="symbol">);</span>
2643
2801
 
2644
2802
<span class="normal">  </span><span class="comment">// prepend new string</span>
2645
 
<span class="normal">  list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-Doubly-Linked-Lists.html#g-list-prepend">g_list_prepend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">list</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">new_string</span><span class="symbol">));</span>
 
2803
<span class="normal">  list </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="../glib/glib-Doubly-Linked-Lists.html#g-list-prepend">g_list_prepend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">list</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="../glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">new_string</span><span class="symbol">));</span>
2646
2804
<span class="normal">  </span><span class="comment">// this changed 'list', so we need to set it again</span>
2647
2805
<span class="normal">  </span><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-set-qdata-full">g_object_set_qdata_full</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">,</span><span class="normal"> quark_string_list</span><span class="symbol">,</span><span class="normal"> list</span><span class="symbol">,</span><span class="normal"> free_string_list</span><span class="symbol">);</span>
2648
2806
<span class="cbracket">}</span>
2652
2810
<span class="normal">  </span><span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">node</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">list </span><span class="symbol">=</span><span class="normal"> data</span><span class="symbol">;</span>
2653
2811
 
2654
2812
<span class="normal">  </span><span class="keyword">for</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">node </span><span class="symbol">=</span><span class="normal"> list</span><span class="symbol">;</span><span class="normal"> node</span><span class="symbol">;</span><span class="normal"> node </span><span class="symbol">=</span><span class="normal"> node</span><span class="symbol">-&gt;</span><span class="normal">next</span><span class="symbol">)</span>
2655
 
<span class="normal">    </span><span class="function"><a href="./../glib/glib/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">node</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">);</span>
2656
 
<span class="normal">  </span><span class="function"><a href="./../glib/glib/glib-Doubly-Linked-Lists.html#g-list-free">g_list_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">list</span><span class="symbol">);</span>
 
2813
<span class="normal">    </span><span class="function"><a href="../glib/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">node</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">);</span>
 
2814
<span class="normal">  </span><span class="function"><a href="../glib/glib-Doubly-Linked-Lists.html#g-list-free">g_list_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">list</span><span class="symbol">);</span>
2657
2815
<span class="cbracket">}</span></pre></td>
2658
2816
      </tr>
2659
2817
    </tbody>
2678
2836
</tr>
2679
2837
<tr>
2680
2838
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2681
 
<td>A <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
2682
 
</tr>
2683
 
<tr>
2684
 
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2685
 
<td>The user data pointer set, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
2686
 
</td>
2687
 
</tr>
2688
 
</tbody>
2689
 
</table></div>
 
2839
<td>A <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
 
2840
</tr>
 
2841
<tr>
 
2842
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2843
<td>The user data pointer set, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
 
2844
</td>
 
2845
</tr>
 
2846
</tbody>
 
2847
</table></div>
 
2848
</div>
 
2849
<hr>
 
2850
<div class="refsect2">
 
2851
<a name="g-object-dup-qdata"></a><h3>g_object_dup_qdata ()</h3>
 
2852
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_object_dup_qdata                  (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
2853
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
 
2854
                                                         <em class="parameter"><code><a href="../glib/glib-Keyed-Data-Lists.html#GDuplicateFunc"><span class="type">GDuplicateFunc</span></a> dup_func</code></em>,
 
2855
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 
2856
<p>
 
2857
This is a variant of <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-qdata" title="g_object_get_qdata ()"><code class="function">g_object_get_qdata()</code></a> which returns
 
2858
a 'duplicate' of the value. <em class="parameter"><code>dup_func</code></em> defines the
 
2859
meaning of 'duplicate' in this context, it could e.g.
 
2860
take a reference on a ref-counted object.
 
2861
</p>
 
2862
<p>
 
2863
If the <em class="parameter"><code>quark</code></em> is not set on the object then <em class="parameter"><code>dup_func</code></em>
 
2864
will be called with a <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> argument.
 
2865
</p>
 
2866
<p>
 
2867
Note that <em class="parameter"><code>dup_func</code></em> is called while user data of <em class="parameter"><code>object</code></em>
 
2868
is locked.
 
2869
</p>
 
2870
<p>
 
2871
This function can be useful to avoid races when multiple
 
2872
threads are using object data on the same key on the same
 
2873
object.
 
2874
</p>
 
2875
<div class="variablelist"><table border="0" class="variablelist">
 
2876
<colgroup>
 
2877
<col align="left" valign="top">
 
2878
<col>
 
2879
</colgroup>
 
2880
<tbody>
 
2881
<tr>
 
2882
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
 
2883
<td>the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to store user data on</td>
 
2884
</tr>
 
2885
<tr>
 
2886
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
 
2887
<td>a <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
 
2888
</tr>
 
2889
<tr>
 
2890
<td><p><span class="term"><em class="parameter"><code>dup_func</code></em> :</span></p></td>
 
2891
<td>function to dup the value. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2892
</td>
 
2893
</tr>
 
2894
<tr>
 
2895
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
2896
<td>passed as user_data to <em class="parameter"><code>dup_func</code></em>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2897
</td>
 
2898
</tr>
 
2899
<tr>
 
2900
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2901
<td>the result of calling <em class="parameter"><code>dup_func</code></em> on the value
 
2902
associated with <em class="parameter"><code>quark</code></em> on <em class="parameter"><code>object</code></em>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set.
 
2903
If <em class="parameter"><code>dup_func</code></em> is <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the value is returned
 
2904
unmodified.</td>
 
2905
</tr>
 
2906
</tbody>
 
2907
</table></div>
 
2908
<p class="since">Since 2.34</p>
 
2909
</div>
 
2910
<hr>
 
2911
<div class="refsect2">
 
2912
<a name="g-object-replace-qdata"></a><h3>g_object_replace_qdata ()</h3>
 
2913
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            g_object_replace_qdata              (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
 
2914
                                                         <em class="parameter"><code><a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
 
2915
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> oldval</code></em>,
 
2916
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> newval</code></em>,
 
2917
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>,
 
2918
                                                         <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> *old_destroy</code></em>);</pre>
 
2919
<p>
 
2920
Compares the user data for the key <em class="parameter"><code>quark</code></em> on <em class="parameter"><code>object</code></em> with
 
2921
<em class="parameter"><code>oldval</code></em>, and if they are the same, replaces <em class="parameter"><code>oldval</code></em> with
 
2922
<em class="parameter"><code>newval</code></em>.
 
2923
</p>
 
2924
<p>
 
2925
This is like a typical atomic compare-and-exchange
 
2926
operation, for user data on an object.
 
2927
</p>
 
2928
<p>
 
2929
If the previous value was replaced then ownership of the
 
2930
old value (<em class="parameter"><code>oldval</code></em>) is passed to the caller, including
 
2931
the registred destroy notify for it (passed out in <em class="parameter"><code>old_destroy</code></em>).
 
2932
Its up to the caller to free this as he wishes, which may
 
2933
or may not include using <em class="parameter"><code>old_destroy</code></em> as sometimes replacement
 
2934
should not destroy the object in the normal way.
 
2935
</p>
 
2936
<p>
 
2937
Return: <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the existing value for <em class="parameter"><code>quark</code></em> was replaced
 
2938
 by <em class="parameter"><code>newval</code></em>, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
 
2939
</p>
 
2940
<div class="variablelist"><table border="0" class="variablelist">
 
2941
<colgroup>
 
2942
<col align="left" valign="top">
 
2943
<col>
 
2944
</colgroup>
 
2945
<tbody>
 
2946
<tr>
 
2947
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
 
2948
<td>the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to store user data on</td>
 
2949
</tr>
 
2950
<tr>
 
2951
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
 
2952
<td>a <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
 
2953
</tr>
 
2954
<tr>
 
2955
<td><p><span class="term"><em class="parameter"><code>oldval</code></em> :</span></p></td>
 
2956
<td>the old value to compare against. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2957
</td>
 
2958
</tr>
 
2959
<tr>
 
2960
<td><p><span class="term"><em class="parameter"><code>newval</code></em> :</span></p></td>
 
2961
<td>the new value. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2962
</td>
 
2963
</tr>
 
2964
<tr>
 
2965
<td><p><span class="term"><em class="parameter"><code>destroy</code></em> :</span></p></td>
 
2966
<td>a destroy notify for the new value. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2967
</td>
 
2968
</tr>
 
2969
<tr>
 
2970
<td><p><span class="term"><em class="parameter"><code>old_destroy</code></em> :</span></p></td>
 
2971
<td>destroy notify for the existing value. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
2972
</td>
 
2973
</tr>
 
2974
</tbody>
 
2975
</table></div>
 
2976
<p class="since">Since 2.34</p>
2690
2977
</div>
2691
2978
<hr>
2692
2979
<div class="refsect2">
2693
2980
<a name="g-object-set-property"></a><h3>g_object_set_property ()</h3>
2694
2981
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_set_property               (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2695
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
 
2982
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
2696
2983
                                                         <em class="parameter"><code>const <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
2697
2984
<p>
2698
2985
Sets a property on an object.
2723
3010
<div class="refsect2">
2724
3011
<a name="g-object-get-property"></a><h3>g_object_get_property ()</h3>
2725
3012
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_get_property               (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2726
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
 
3013
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *property_name</code></em>,
2727
3014
                                                         <em class="parameter"><code><a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
2728
3015
<p>
2729
3016
Gets a property of an object. <em class="parameter"><code>value</code></em> must have been initialized to the
2764
3051
<div class="refsect2">
2765
3052
<a name="g-object-new-valist"></a><h3>g_object_new_valist ()</h3>
2766
3053
<pre class="programlisting"><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> *           g_object_new_valist                 (<em class="parameter"><code><a class="link" href="gobject-Type-Information.html#GType" title="GType"><span class="type">GType</span></a> object_type</code></em>,
2767
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
3054
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
2768
3055
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
2769
3056
<p>
2770
3057
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.
2790
3077
<tr>
2791
3078
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2792
3079
<td>the value of the first property, followed optionally by more
2793
 
name/value pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 
3080
name/value pairs, followed by <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2794
3081
</td>
2795
3082
</tr>
2796
3083
<tr>
2805
3092
<div class="refsect2">
2806
3093
<a name="g-object-set-valist"></a><h3>g_object_set_valist ()</h3>
2807
3094
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_set_valist                 (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2808
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
3095
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
2809
3096
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
2810
3097
<p>
2811
3098
Sets properties on an object.
2828
3115
<tr>
2829
3116
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2830
3117
<td>value for the first property, followed optionally by more
2831
 
name/value pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 
3118
name/value pairs, followed by <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2832
3119
</td>
2833
3120
</tr>
2834
3121
</tbody>
2838
3125
<div class="refsect2">
2839
3126
<a name="g-object-get-valist"></a><h3>g_object_get_valist ()</h3>
2840
3127
<pre class="programlisting"><span class="returnvalue">void</span>                g_object_get_valist                 (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
2841
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
 
3128
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
2842
3129
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
2843
3130
<p>
2844
3131
Gets properties of an object.
2846
3133
<p>
2847
3134
In general, a copy is made of the property contents and the caller
2848
3135
is responsible for freeing the memory in the appropriate manner for
2849
 
the type, for instance by calling <a href="./../glib/glib/glib-Memory-Allocation.html#g-free"><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>.
 
3136
the type, for instance by calling <a href="../glib/glib-Memory-Allocation.html#g-free"><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>.
2850
3137
</p>
2851
3138
<p>
2852
3139
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>.
2869
3156
<tr>
2870
3157
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2871
3158
<td>return location for the first property, followed optionally by more
2872
 
name/return location pairs, followed by <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
 
3159
name/return location pairs, followed by <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
2873
3160
</td>
2874
3161
</tr>
2875
3162
</tbody>
2969
3256
</pre>
2970
3257
<p>
2971
3258
A structure containing a weak reference to a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>.  It can either
2972
 
be empty (i.e. point to <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>), or point to an object for as long as
 
3259
be empty (i.e. point to <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>), or point to an object for as long as
2973
3260
at least one "strong" reference to that object exists. Before the
2974
3261
object's <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass.dispose"><span class="type">GObjectClass.dispose</span></a> method is called, every <a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a>
2975
 
associated with becomes empty (i.e. points to <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>).
 
3262
associated with becomes empty (i.e. points to <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>).
2976
3263
</p>
2977
3264
<p>
2978
3265
Like <a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a>, <a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> can be statically allocated, stack- or
2987
3274
<p>
2988
3275
If the object's <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass.dispose"><span class="type">GObjectClass.dispose</span></a> method results in additional
2989
3276
references to the object being held, any <a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a>s taken
2990
 
before it was disposed will continue to point to <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.  If
 
3277
before it was disposed will continue to point to <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.  If
2991
3278
<a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a>s are taken after the object is disposed and
2992
3279
re-referenced, they will continue to point to it until its refcount
2993
3280
goes back to zero, at which point they too will be invalidated.
2997
3284
<div class="refsect2">
2998
3285
<a name="g-weak-ref-init"></a><h3>g_weak_ref_init ()</h3>
2999
3286
<pre class="programlisting"><span class="returnvalue">void</span>                g_weak_ref_init                     (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> *weak_ref</code></em>,
3000
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
 
3287
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
3001
3288
<p>
3002
3289
Initialise a non-statically-allocated <a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a>.
3003
3290
</p>
3025
3312
</tr>
3026
3313
<tr>
3027
3314
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
3028
 
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
3315
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
3029
3316
</td>
3030
3317
</tr>
3031
3318
</tbody>
3061
3348
<hr>
3062
3349
<div class="refsect2">
3063
3350
<a name="g-weak-ref-get"></a><h3>g_weak_ref_get ()</h3>
3064
 
<pre class="programlisting"><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_weak_ref_get                      (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> *weak_ref</code></em>);</pre>
 
3351
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>            g_weak_ref_get                      (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> *weak_ref</code></em>);</pre>
3065
3352
<p>
3066
3353
If <em class="parameter"><code>weak_ref</code></em> is not empty, atomically acquire a strong
3067
3354
reference to the object it points to, and return that reference.
3089
3376
<tr>
3090
3377
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
3091
3378
<td>the object pointed to
3092
 
by <em class="parameter"><code>weak_ref</code></em>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it was empty. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GObject.Object]</span>
 
3379
by <em class="parameter"><code>weak_ref</code></em>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it was empty. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GObject.Object]</span>
3093
3380
</td>
3094
3381
</tr>
3095
3382
</tbody>
3100
3387
<div class="refsect2">
3101
3388
<a name="g-weak-ref-set"></a><h3>g_weak_ref_set ()</h3>
3102
3389
<pre class="programlisting"><span class="returnvalue">void</span>                g_weak_ref_set                      (<em class="parameter"><code><a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> *weak_ref</code></em>,
3103
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
 
3390
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> object</code></em>);</pre>
3104
3391
<p>
3105
3392
Change the object to which <em class="parameter"><code>weak_ref</code></em> points, or set it to
3106
 
<a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
 
3393
<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
3107
3394
</p>
3108
3395
<p>
3109
3396
You must own a strong reference on <em class="parameter"><code>object</code></em> while calling this
3121
3408
</tr>
3122
3409
<tr>
3123
3410
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
3124
 
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
 
3411
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
3125
3412
</td>
3126
3413
</tr>
3127
3414
</tbody>
3135
3422
<a name="GObject-notify"></a><h3>The <code class="literal">"notify"</code> signal</h3>
3136
3423
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>    *gobject,
3137
3424
                                                        <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec,
3138
 
                                                        <a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)      : <a class="link" href="gobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS"><code class="literal">No Hooks</code></a></pre>
 
3425
                                                        <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>    user_data)      : <a class="link" href="gobject-Signals.html#G-SIGNAL-NO-HOOKS:CAPS"><code class="literal">No Hooks</code></a></pre>
3139
3426
<p>
3140
3427
The notify signal is emitted on an object when one of its
3141
3428
properties has been changed. Note that getting this signal
3197
3484
</div>
3198
3485
<div class="footer">
3199
3486
<hr>
3200
 
          Generated by GTK-Doc V1.18</div>
 
3487
          Generated by GTK-Doc V1.18.1</div>
3201
3488
</body>
3202
3489
</html>
 
 
b'\\ No newline at end of file'