~attente/glib/gbytesicon

« 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): Iain Lane
  • Date: 2013-03-22 15:34:02 UTC
  • mfrom: (172.1.9 experimental)
  • Revision ID: package-import@ubuntu.com-20130322153402-sairsye8us9zxmew
Tags: 2.35.9-2ubuntu1
* Resynchronise with Debian experimental, remaining change:
  - Make python BD :all to facilitate cross building

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
<head>
4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
<title>GObject</title>
6
 
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7
7
<link rel="home" href="index.html" title="GObject Reference Manual">
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-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/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
156
 
                                                         <em class="parameter"><code><a href="./../glib/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/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
158
 
<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-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/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
160
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> oldval</code></em>,
161
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> newval</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
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> *old_destroy</code></em>);
164
 
<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>,
165
 
                                                         <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>);
166
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>,
167
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
168
 
                                                         <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>);
169
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>,
170
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
171
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
172
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>);
173
 
<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>,
174
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>);
175
 
<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-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/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
177
 
                                                         <em class="parameter"><code><a href="./../glib/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/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
179
 
<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-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/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
181
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> oldval</code></em>,
182
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> newval</code></em>,
183
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>,
184
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> *old_destroy</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>);
185
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>,
186
 
                                                         <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>,
187
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>);
188
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>,
189
 
                                                         <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>,
190
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>);
191
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>,
192
 
                                                         <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>,
193
193
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
194
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>,
195
 
                                                         <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>,
196
196
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
197
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>,
198
 
                                                         <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>,
199
199
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
200
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>,
201
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>);
206
206
 
207
207
                    <a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef">GWeakRef</a>;
208
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>,
209
 
                                                         <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>);
210
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>);
211
 
<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>);
212
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>,
213
 
                                                         <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>);
214
214
</pre>
215
215
</div>
216
216
<div class="refsect1">
246
246
any code portion. The main motivation for providing floating references is
247
247
C convenience. In particular, it allows code to be written as:
248
248
</p>
249
 
<div class="informalexample"><pre class="programlisting">
250
 
container = create_container ();
251
 
container_add_child (container, create_child());
252
 
</pre></div>
 
249
<div class="informalexample">
 
250
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
251
    <tbody>
 
252
      <tr>
 
253
        <td class="listing_lines" align="right"><pre>1
 
254
2</pre></td>
 
255
        <td class="listing_code"><pre class="programlisting">container = create_container ();
 
256
container_add_child (container, create_child());</pre></td>
 
257
      </tr>
 
258
    </tbody>
 
259
  </table>
 
260
</div>
 
261
 
253
262
<p>
254
263
If <code class="function"><code class="function">container_add_child()</code></code> will <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a> the
255
264
passed in child, no reference of the newly created child is leaked.
257
266
can only <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref" title="g_object_ref ()"><code class="function">g_object_ref()</code></a> the new child, so to implement this code without
258
267
reference leaks, it would have to be written as:
259
268
</p>
260
 
<div class="informalexample"><pre class="programlisting">
261
 
Child *child;
 
269
<div class="informalexample">
 
270
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
271
    <tbody>
 
272
      <tr>
 
273
        <td class="listing_lines" align="right"><pre>1
 
274
2
 
275
3
 
276
4
 
277
5</pre></td>
 
278
        <td class="listing_code"><pre class="programlisting">Child *child;
262
279
container = create_container ();
263
280
child = create_child ();
264
281
container_add_child (container, child);
265
 
g_object_unref (child);
266
 
</pre></div>
 
282
<span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span> (child);</pre></td>
 
283
      </tr>
 
284
    </tbody>
 
285
  </table>
 
286
</div>
 
287
 
267
288
<p>
268
289
The floating reference can be converted into
269
290
an ordinary reference by calling <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a>.
279
300
</p>
280
301
<p>
281
302
Some object implementations may need to save an objects floating state
282
 
across certain code portions (an example is <a href="http://developer.gnome.org/gtk2/GtkMenu.html"><span class="type">GtkMenu</span></a>), to achieve this,
 
303
across certain code portions (an example is <span class="type">GtkMenu</span>), to achieve this,
283
304
the following sequence can be used:
284
305
</p>
285
306
<p>
286
307
</p>
287
 
<div class="informalexample"><pre class="programlisting">
288
 
/* save floating state */
289
 
gboolean was_floating = g_object_is_floating (object);
290
 
g_object_ref_sink (object);
291
 
/* protected code portion */
 
308
<div class="informalexample">
 
309
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
310
    <tbody>
 
311
      <tr>
 
312
        <td class="listing_lines" align="right"><pre>1
 
313
2
 
314
3
 
315
4
 
316
5
 
317
6
 
318
7
 
319
8
 
320
9
 
321
10</pre></td>
 
322
        <td class="listing_code"><pre class="programlisting"><span class="comment">/*</span><span class="comment"> save floating state </span><span class="comment">*/</span>
 
323
<span class="type">gboolean</span> was_floating = <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-is-floating">g_object_is_floating</a></span> (object);
 
324
<span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-ref-sink">g_object_ref_sink</a></span> (object);
 
325
<span class="comment">/*</span><span class="comment"> protected code portion </span><span class="comment">*/</span>
292
326
...;
293
 
/* restore floating state */
294
 
if (was_floating)
295
 
  g_object_force_floating (object);
296
 
else
297
 
  g_object_unref (object); /* release previously acquired reference */
298
 
</pre></div>
 
327
<span class="comment">/*</span><span class="comment"> restore floating state </span><span class="comment">*/</span>
 
328
<span class="keyword">if</span> (was_floating)
 
329
  <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-force-floating">g_object_force_floating</a></span> (object);
 
330
<span class="keyword">else</span>
 
331
  <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span> (object); <span class="comment">/*</span><span class="comment"> release previously acquired reference </span><span class="comment">*/</span></pre></td>
 
332
      </tr>
 
333
    </tbody>
 
334
  </table>
 
335
</div>
 
336
 
299
337
<p>
300
338
</p>
301
339
</div>
348
386
<p>
349
387
</p>
350
388
<div class="example">
351
 
<a name="idp16097920"></a><p class="title"><b>Example 1. Implementing singletons using a constructor</b></p>
352
 
<div class="example-contents"><pre class="programlisting">
353
 
static MySingleton *the_singleton = NULL;
 
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>
 
390
<div class="example-contents">
 
391
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
392
    <tbody>
 
393
      <tr>
 
394
        <td class="listing_lines" align="right"><pre>1
 
395
2
 
396
3
 
397
4
 
398
5
 
399
6
 
400
7
 
401
8
 
402
9
 
403
10
 
404
11
 
405
12
 
406
13
 
407
14
 
408
15
 
409
16
 
410
17
 
411
18
 
412
19
 
413
20
 
414
21</pre></td>
 
415
        <td class="listing_code"><pre class="programlisting"><span class="type">static</span> MySingleton *the_singleton = <span class="number">NULL</span>;
354
416
 
355
 
static GObject*
356
 
my_singleton_constructor (GType                  type,
357
 
                          guint                  n_construct_params,
358
 
                          GObjectConstructParam *construct_params)
 
417
<span class="type">static</span> <span class="type">GObject</span>*
 
418
my_singleton_constructor (<span class="type">GType</span>                  type,
 
419
                          <span class="type">guint</span>                  n_construct_params,
 
420
                          <span class="type">GObjectConstructParam</span> *construct_params)
359
421
{
360
 
  GObject *object;
361
 
  
362
 
  if (!the_singleton)
 
422
  <span class="type">GObject</span> *object;
 
423
 
 
424
  <span class="keyword">if</span> (!the_singleton)
363
425
    {
364
 
      object = G_OBJECT_CLASS (parent_class)-&gt;constructor (type,
 
426
      object = <span class="preproc">G_OBJECT_CLASS</span> (parent_class)-&gt;constructor (type,
365
427
                                                           n_construct_params,
366
428
                                                           construct_params);
367
429
      the_singleton = MY_SINGLETON (object);
368
430
    }
369
 
  else
370
 
    object = g_object_ref (G_OBJECT (the_singleton));
371
 
 
372
 
  return object;
373
 
}
374
 
</pre></div>
 
431
  <span class="keyword">else</span>
 
432
    object = <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-ref">g_object_ref</a></span> (<span class="preproc">G_OBJECT</span> (the_singleton));
 
433
 
 
434
  <span class="keyword">return</span> object;
 
435
}</pre></td>
 
436
      </tr>
 
437
    </tbody>
 
438
  </table>
 
439
</div>
 
440
 
375
441
</div>
376
442
<p><br class="example-break">
377
443
</p>
378
 
<div class="variablelist"><table border="0">
 
444
<div class="variablelist"><table border="0" class="variablelist">
 
445
<colgroup>
379
446
<col align="left" valign="top">
 
447
<col>
 
448
</colgroup>
380
449
<tbody>
381
450
<tr>
382
451
<td><p><span class="term"><a class="link" href="gobject-Type-Information.html#GTypeClass" title="struct GTypeClass"><span class="type">GTypeClass</span></a> <em class="structfield"><code><a name="GObjectClass.g-type-class"></a>g_type_class</code></em>;</span></p></td>
393
462
<tr>
394
463
<td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.set-property"></a>set_property</code></em> ()</span></p></td>
395
464
<td>the generic setter for all properties of this type. Should be
396
 
overridden for every type with properties. Implementations of <em class="parameter"><code>set_property</code></em>
397
 
don't need to emit property change notification explicitly, this is handled
398
 
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>
399
469
</tr>
400
470
<tr>
401
471
<td><p><span class="term"><em class="structfield"><code><a name="GObjectClass.get-property"></a>get_property</code></em> ()</span></p></td>
452
522
structure used to hand <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a>/<a class="link" href="gobject-Generic-values.html#GValue" title="GValue"><span class="type">GValue</span></a> pairs to the <em class="parameter"><code>constructor</code></em> of
453
523
a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a>.
454
524
</p>
455
 
<div class="variablelist"><table border="0">
 
525
<div class="variablelist"><table border="0" class="variablelist">
 
526
<colgroup>
456
527
<col align="left" valign="top">
 
528
<col>
 
529
</colgroup>
457
530
<tbody>
458
531
<tr>
459
532
<td><p><span class="term"><a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *<em class="structfield"><code><a name="GObjectConstructParam.pspec"></a>pspec</code></em>;</span></p></td>
470
543
<div class="refsect2">
471
544
<a name="GObjectGetPropertyFunc"></a><h3>GObjectGetPropertyFunc ()</h3>
472
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>,
473
 
                                                         <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>,
474
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>,
475
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>
476
549
<p>
477
550
The type of the <em class="parameter"><code>get_property</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a>.
478
551
</p>
479
 
<div class="variablelist"><table border="0">
 
552
<div class="variablelist"><table border="0" class="variablelist">
 
553
<colgroup>
480
554
<col align="left" valign="top">
 
555
<col>
 
556
</colgroup>
481
557
<tbody>
482
558
<tr>
483
559
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
504
580
<div class="refsect2">
505
581
<a name="GObjectSetPropertyFunc"></a><h3>GObjectSetPropertyFunc ()</h3>
506
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>,
507
 
                                                         <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>,
508
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>,
509
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>
510
586
<p>
511
587
The type of the <em class="parameter"><code>set_property</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a>.
512
588
</p>
513
 
<div class="variablelist"><table border="0">
 
589
<div class="variablelist"><table border="0" class="variablelist">
 
590
<colgroup>
514
591
<col align="left" valign="top">
 
592
<col>
 
593
</colgroup>
515
594
<tbody>
516
595
<tr>
517
596
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
541
620
<p>
542
621
The type of the <em class="parameter"><code>finalize</code></em> function of <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a>.
543
622
</p>
544
 
<div class="variablelist"><table border="0">
 
623
<div class="variablelist"><table border="0" class="variablelist">
 
624
<colgroup>
545
625
<col align="left" valign="top">
 
626
<col>
 
627
</colgroup>
546
628
<tbody><tr>
547
629
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
548
630
<td>the <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> being finalized</td>
557
639
<p>
558
640
Check if the passed in type id is a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a> or derived from it.
559
641
</p>
560
 
<div class="variablelist"><table border="0">
 
642
<div class="variablelist"><table border="0" class="variablelist">
 
643
<colgroup>
561
644
<col align="left" valign="top">
 
645
<col>
 
646
</colgroup>
562
647
<tbody>
563
648
<tr>
564
649
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
567
652
<tr>
568
653
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
569
654
<td>
570
 
<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>
571
656
</tr>
572
657
</tbody>
573
658
</table></div>
582
667
Depending on the current debugging level, this function may invoke
583
668
certain runtime checks to identify invalid casts.
584
669
</p>
585
 
<div class="variablelist"><table border="0">
 
670
<div class="variablelist"><table border="0" class="variablelist">
 
671
<colgroup>
586
672
<col align="left" valign="top">
 
673
<col>
 
674
</colgroup>
587
675
<tbody><tr>
588
676
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
589
677
<td>Object which is subject to casting.</td>
598
686
<p>
599
687
Checks whether a valid <a class="link" href="gobject-Type-Information.html#GTypeInstance" title="struct GTypeInstance"><span class="type">GTypeInstance</span></a> pointer is of type <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a>.
600
688
</p>
601
 
<div class="variablelist"><table border="0">
 
689
<div class="variablelist"><table border="0" class="variablelist">
 
690
<colgroup>
602
691
<col align="left" valign="top">
 
692
<col>
 
693
</colgroup>
603
694
<tbody><tr>
604
695
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
605
696
<td>Instance to check for being a <a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a>.</td>
614
705
<p>
615
706
Casts a derived <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> structure into a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> structure.
616
707
</p>
617
 
<div class="variablelist"><table border="0">
 
708
<div class="variablelist"><table border="0" class="variablelist">
 
709
<colgroup>
618
710
<col align="left" valign="top">
 
711
<col>
 
712
</colgroup>
619
713
<tbody><tr>
620
714
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
621
715
<td>a valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a>
632
726
Checks whether <em class="parameter"><code>class</code></em> "is a" valid <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a> structure of type
633
727
<a class="link" href="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS" title="G_TYPE_OBJECT"><code class="literal">G_TYPE_OBJECT</code></a> or derived.
634
728
</p>
635
 
<div class="variablelist"><table border="0">
 
729
<div class="variablelist"><table border="0" class="variablelist">
 
730
<colgroup>
636
731
<col align="left" valign="top">
 
732
<col>
 
733
</colgroup>
637
734
<tbody><tr>
638
735
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
639
736
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObjectClass" title="struct GObjectClass"><span class="type">GObjectClass</span></a>
649
746
<p>
650
747
Get the class structure associated to a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> instance.
651
748
</p>
652
 
<div class="variablelist"><table border="0">
 
749
<div class="variablelist"><table border="0" class="variablelist">
 
750
<colgroup>
653
751
<col align="left" valign="top">
 
752
<col>
 
753
</colgroup>
654
754
<tbody>
655
755
<tr>
656
756
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
671
771
<p>
672
772
Get the type id of an object.
673
773
</p>
674
 
<div class="variablelist"><table border="0">
 
774
<div class="variablelist"><table border="0" class="variablelist">
 
775
<colgroup>
675
776
<col align="left" valign="top">
 
777
<col>
 
778
</colgroup>
676
779
<tbody>
677
780
<tr>
678
781
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
693
796
<p>
694
797
Get the name of an object's type.
695
798
</p>
696
 
<div class="variablelist"><table border="0">
 
799
<div class="variablelist"><table border="0" class="variablelist">
 
800
<colgroup>
697
801
<col align="left" valign="top">
 
802
<col>
 
803
</colgroup>
698
804
<tbody>
699
805
<tr>
700
806
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
716
822
<p>
717
823
Get the type id of a class structure.
718
824
</p>
719
 
<div class="variablelist"><table border="0">
 
825
<div class="variablelist"><table border="0" class="variablelist">
 
826
<colgroup>
720
827
<col align="left" valign="top">
 
828
<col>
 
829
</colgroup>
721
830
<tbody>
722
831
<tr>
723
832
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
739
848
<p>
740
849
Return the name of a class structure's type.
741
850
</p>
742
 
<div class="variablelist"><table border="0">
 
851
<div class="variablelist"><table border="0" class="variablelist">
 
852
<colgroup>
743
853
<col align="left" valign="top">
 
854
<col>
 
855
</colgroup>
744
856
<tbody>
745
857
<tr>
746
858
<td><p><span class="term"><em class="parameter"><code>class</code></em> :</span></p></td>
759
871
<div class="refsect2">
760
872
<a name="g-object-class-install-property"></a><h3>g_object_class_install_property ()</h3>
761
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>,
762
 
                                                         <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>,
763
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>
764
876
<p>
765
877
Installs a new property. This is usually done in the class initializer.
769
881
by installing a property with the same name. This can be useful at times,
770
882
e.g. to change the range of allowed values or the default value.
771
883
</p>
772
 
<div class="variablelist"><table border="0">
 
884
<div class="variablelist"><table border="0" class="variablelist">
 
885
<colgroup>
773
886
<col align="left" valign="top">
 
887
<col>
 
888
</colgroup>
774
889
<tbody>
775
890
<tr>
776
891
<td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
792
907
<div class="refsect2">
793
908
<a name="g-object-class-install-properties"></a><h3>g_object_class_install_properties ()</h3>
794
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>,
795
 
                                                         <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>,
796
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>
797
912
<p>
798
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
813
928
</p>
814
929
<p>
815
930
</p>
816
 
<div class="informalexample"><pre class="programlisting">
817
 
enum {
 
931
<div class="informalexample">
 
932
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
933
    <tbody>
 
934
      <tr>
 
935
        <td class="listing_lines" align="right"><pre>1
 
936
2
 
937
3
 
938
4
 
939
5
 
940
6
 
941
7
 
942
8
 
943
9
 
944
10
 
945
11
 
946
12
 
947
13
 
948
14
 
949
15
 
950
16
 
951
17
 
952
18
 
953
19
 
954
20
 
955
21
 
956
22
 
957
23
 
958
24
 
959
25
 
960
26
 
961
27
 
962
28</pre></td>
 
963
        <td class="listing_code"><pre class="programlisting"><span class="type">enum</span> {
818
964
  PROP_0, PROP_FOO, PROP_BAR, N_PROPERTIES
819
965
};
820
966
 
821
 
static GParamSpec *obj_properties[N_PROPERTIES] = { NULL, };
 
967
<span class="type">static</span> <span class="type">GParamSpec</span> *obj_properties[N_PROPERTIES] = { <span class="number">NULL</span>, };
822
968
 
823
 
static void
 
969
<span class="type">static</span> <span class="type">void</span>
824
970
my_object_class_init (MyObjectClass *klass)
825
971
{
826
 
  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
972
  <span class="type">GObjectClass</span> *gobject_class = <span class="preproc">G_OBJECT_CLASS</span> (klass);
827
973
 
828
974
  obj_properties[PROP_FOO] =
829
 
    g_param_spec_int ("foo", "Foo", "Foo",
830
 
                      -1, G_MAXINT,
831
 
                      0,
832
 
                      G_PARAM_READWRITE);
 
975
    <span class="function"><a href="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-int">g_param_spec_int</a></span> (<span class="number">&quot;foo&quot;</span>, <span class="number">&quot;Foo&quot;</span>, <span class="number">&quot;Foo&quot;</span>,
 
976
                      -<span class="number">1</span>, <span class="number">G_MAXINT</span>,
 
977
                      <span class="number">0</span>,
 
978
                      <span class="number">G_PARAM_READWRITE</span>);
833
979
 
834
980
  obj_properties[PROP_BAR] =
835
 
    g_param_spec_string ("bar", "Bar", "Bar",
836
 
                         NULL,
837
 
                         G_PARAM_READWRITE);
 
981
    <span class="function"><a href="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-string">g_param_spec_string</a></span> (<span class="number">&quot;bar&quot;</span>, <span class="number">&quot;Bar&quot;</span>, <span class="number">&quot;Bar&quot;</span>,
 
982
                         <span class="number">NULL</span>,
 
983
                         <span class="number">G_PARAM_READWRITE</span>);
838
984
 
839
985
  gobject_class-&gt;set_property = my_object_set_property;
840
986
  gobject_class-&gt;get_property = my_object_get_property;
841
 
  g_object_class_install_properties (gobject_class,
 
987
  <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-class-install-properties">g_object_class_install_properties</a></span> (gobject_class,
842
988
                                     N_PROPERTIES,
843
989
                                     obj_properties);
844
 
}
845
 
</pre></div>
 
990
}</pre></td>
 
991
      </tr>
 
992
    </tbody>
 
993
  </table>
 
994
</div>
 
995
 
846
996
<p>
847
997
</p>
848
998
<p>
850
1000
</p>
851
1001
<p>
852
1002
</p>
853
 
<div class="informalexample"><pre class="programlisting">
854
 
void
855
 
my_object_set_foo (MyObject *self, gint foo)
 
1003
<div class="informalexample">
 
1004
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
1005
    <tbody>
 
1006
      <tr>
 
1007
        <td class="listing_lines" align="right"><pre>1
 
1008
2
 
1009
3
 
1010
4
 
1011
5
 
1012
6
 
1013
7
 
1014
8
 
1015
9</pre></td>
 
1016
        <td class="listing_code"><pre class="programlisting"><span class="type">void</span>
 
1017
my_object_set_foo (MyObject *self, <span class="type">gint</span> foo)
856
1018
{
857
 
  if (self-&gt;foo != foo)
 
1019
  <span class="keyword">if</span> (self-&gt;foo != foo)
858
1020
    {
859
1021
      self-&gt;foo = foo;
860
 
      g_object_notify_by_pspec (G_OBJECT (self), obj_properties[PROP_FOO]);
 
1022
      <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-notify-by-pspec">g_object_notify_by_pspec</a></span> (<span class="preproc">G_OBJECT</span> (self), obj_properties[PROP_FOO]);
861
1023
    }
862
 
 }
863
 
</pre></div>
 
1024
 }</pre></td>
 
1025
      </tr>
 
1026
    </tbody>
 
1027
  </table>
 
1028
</div>
 
1029
 
864
1030
<p>
865
1031
</p>
866
 
<div class="variablelist"><table border="0">
 
1032
<div class="variablelist"><table border="0" class="variablelist">
 
1033
<colgroup>
867
1034
<col align="left" valign="top">
 
1035
<col>
 
1036
</colgroup>
868
1037
<tbody>
869
1038
<tr>
870
1039
<td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
889
1058
<div class="refsect2">
890
1059
<a name="g-object-class-find-property"></a><h3>g_object_class_find_property ()</h3>
891
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>,
892
 
                                                         <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>
893
1062
<p>
894
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.
895
1064
</p>
896
 
<div class="variablelist"><table border="0">
 
1065
<div class="variablelist"><table border="0" class="variablelist">
 
1066
<colgroup>
897
1067
<col align="left" valign="top">
 
1068
<col>
 
1069
</colgroup>
898
1070
<tbody>
899
1071
<tr>
900
1072
<td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
908
1080
<tr>
909
1081
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
910
1082
<td>the <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> for the property, or
911
 
<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>
912
1084
</td>
913
1085
</tr>
914
1086
</tbody>
918
1090
<div class="refsect2">
919
1091
<a name="g-object-class-list-properties"></a><h3>g_object_class_list_properties ()</h3>
920
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>,
921
 
                                                         <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>
922
1094
<p>
923
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.
924
1096
</p>
925
 
<div class="variablelist"><table border="0">
 
1097
<div class="variablelist"><table border="0" class="variablelist">
 
1098
<colgroup>
926
1099
<col align="left" valign="top">
 
1100
<col>
 
1101
</colgroup>
927
1102
<tbody>
928
1103
<tr>
929
1104
<td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
948
1123
<div class="refsect2">
949
1124
<a name="g-object-class-override-property"></a><h3>g_object_class_override_property ()</h3>
950
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>,
951
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> property_id</code></em>,
952
 
                                                         <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>
953
1128
<p>
954
1129
Registers <em class="parameter"><code>property_id</code></em> as referring to a property with the
955
1130
name <em class="parameter"><code>name</code></em> in a parent class or in an interface implemented
974
1149
</div>
975
1150
<p>
976
1151
</p>
977
 
<div class="variablelist"><table border="0">
 
1152
<div class="variablelist"><table border="0" class="variablelist">
 
1153
<colgroup>
978
1154
<col align="left" valign="top">
 
1155
<col>
 
1156
</colgroup>
979
1157
<tbody>
980
1158
<tr>
981
1159
<td><p><span class="term"><em class="parameter"><code>oclass</code></em> :</span></p></td>
998
1176
<hr>
999
1177
<div class="refsect2">
1000
1178
<a name="g-object-interface-install-property"></a><h3>g_object_interface_install_property ()</h3>
1001
 
<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>,
1002
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>
1003
1181
<p>
1004
1182
Add a property to an interface; this is only useful for interfaces
1017
1195
<a class="link" href="gobject-Type-Information.html#GTypeInfo" title="struct GTypeInfo"><span class="type">GTypeInfo</span></a>.) It must not be called after after <em class="parameter"><code>class_init</code></em> has
1018
1196
been called for any object types implementing this interface.
1019
1197
</p>
1020
 
<div class="variablelist"><table border="0">
 
1198
<div class="variablelist"><table border="0" class="variablelist">
 
1199
<colgroup>
1021
1200
<col align="left" valign="top">
 
1201
<col>
 
1202
</colgroup>
1022
1203
<tbody>
1023
1204
<tr>
1024
1205
<td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
1036
1217
<hr>
1037
1218
<div class="refsect2">
1038
1219
<a name="g-object-interface-find-property"></a><h3>g_object_interface_find_property ()</h3>
1039
 
<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>,
1040
 
                                                         <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>
1041
1222
<p>
1042
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
1043
1224
interface. Generally, the interface vtable passed in as <em class="parameter"><code>g_iface</code></em>
1045
1226
if you know the interface has already been loaded,
1046
1227
<a class="link" href="gobject-Type-Information.html#g-type-default-interface-peek" title="g_type_default_interface_peek ()"><code class="function">g_type_default_interface_peek()</code></a>.
1047
1228
</p>
1048
 
<div class="variablelist"><table border="0">
 
1229
<div class="variablelist"><table border="0" class="variablelist">
 
1230
<colgroup>
1049
1231
<col align="left" valign="top">
 
1232
<col>
 
1233
</colgroup>
1050
1234
<tbody>
1051
1235
<tr>
1052
1236
<td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
1060
1244
<tr>
1061
1245
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1062
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
1063
 
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
1064
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>
1065
1249
</td>
1066
1250
</tr>
1071
1255
<hr>
1072
1256
<div class="refsect2">
1073
1257
<a name="g-object-interface-list-properties"></a><h3>g_object_interface_list_properties ()</h3>
1074
 
<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>,
1075
 
                                                         <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>
1076
1260
<p>
1077
1261
Lists the properties of an interface.Generally, the interface
1078
1262
vtable passed in as <em class="parameter"><code>g_iface</code></em> will be the default vtable from
1079
1263
<a class="link" href="gobject-Type-Information.html#g-type-default-interface-ref" title="g_type_default_interface_ref ()"><code class="function">g_type_default_interface_ref()</code></a>, or, if you know the interface has
1080
1264
already been loaded, <a class="link" href="gobject-Type-Information.html#g-type-default-interface-peek" title="g_type_default_interface_peek ()"><code class="function">g_type_default_interface_peek()</code></a>.
1081
1265
</p>
1082
 
<div class="variablelist"><table border="0">
 
1266
<div class="variablelist"><table border="0" class="variablelist">
 
1267
<colgroup>
1083
1268
<col align="left" valign="top">
 
1269
<col>
 
1270
</colgroup>
1084
1271
<tbody>
1085
1272
<tr>
1086
1273
<td><p><span class="term"><em class="parameter"><code>g_iface</code></em> :</span></p></td>
1097
1284
<td>a
1098
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>
1099
1286
structures. The paramspecs are owned by GLib, but the
1100
 
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
1101
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>
1102
1289
</td>
1103
1290
</tr>
1108
1295
<hr>
1109
1296
<div class="refsect2">
1110
1297
<a name="g-object-new"></a><h3>g_object_new ()</h3>
1111
 
<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>,
1112
 
                                                         <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>,
1113
1300
                                                         <em class="parameter"><code>...</code></em>);</pre>
1114
1301
<p>
1115
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.
1118
1305
Construction parameters (see <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT:CAPS"><span class="type">G_PARAM_CONSTRUCT</span></a>, <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT-ONLY:CAPS"><span class="type">G_PARAM_CONSTRUCT_ONLY</span></a>)
1119
1306
which are not explicitly specified are set to their default values.
1120
1307
</p>
1121
 
<div class="variablelist"><table border="0">
 
1308
<div class="variablelist"><table border="0" class="variablelist">
 
1309
<colgroup>
1122
1310
<col align="left" valign="top">
 
1311
<col>
 
1312
</colgroup>
1123
1313
<tbody>
1124
1314
<tr>
1125
1315
<td><p><span class="term"><em class="parameter"><code>object_type</code></em> :</span></p></td>
1132
1322
<tr>
1133
1323
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1134
1324
<td>the value of the first property, followed optionally by more
1135
 
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>
1136
1326
</td>
1137
1327
</tr>
1138
1328
<tr>
1146
1336
<hr>
1147
1337
<div class="refsect2">
1148
1338
<a name="g-object-newv"></a><h3>g_object_newv ()</h3>
1149
 
<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>,
1150
 
                                                         <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>,
1151
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>
1152
1342
<p>
1153
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.
1159
1349
<p>
1160
1350
Rename to: g_object_new
1161
1351
</p>
1162
 
<div class="variablelist"><table border="0">
 
1352
<div class="variablelist"><table border="0" class="variablelist">
 
1353
<colgroup>
1163
1354
<col align="left" valign="top">
 
1355
<col>
 
1356
</colgroup>
1164
1357
<tbody>
1165
1358
<tr>
1166
1359
<td><p><span class="term"><em class="parameter"><code>object_type</code></em> :</span></p></td>
1178
1371
<tr>
1179
1372
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1180
1373
<td>a new instance of
1181
 
<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>
1182
1375
</td>
1183
1376
</tr>
1184
1377
</tbody>
1196
1389
The <span class="structname">GParameter</span> struct is an auxiliary structure used
1197
1390
to hand parameter name/value pairs to <a class="link" href="gobject-The-Base-Object-Type.html#g-object-newv" title="g_object_newv ()"><code class="function">g_object_newv()</code></a>.
1198
1391
</p>
1199
 
<div class="variablelist"><table border="0">
 
1392
<div class="variablelist"><table border="0" class="variablelist">
 
1393
<colgroup>
1200
1394
<col align="left" valign="top">
 
1395
<col>
 
1396
</colgroup>
1201
1397
<tbody>
1202
1398
<tr>
1203
 
<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>
1204
1400
<td>the parameter name</td>
1205
1401
</tr>
1206
1402
<tr>
1213
1409
<hr>
1214
1410
<div class="refsect2">
1215
1411
<a name="g-object-ref"></a><h3>g_object_ref ()</h3>
1216
 
<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>
1217
1413
<p>
1218
1414
Increases the reference count of <em class="parameter"><code>object</code></em>.
1219
1415
</p>
1220
 
<div class="variablelist"><table border="0">
 
1416
<div class="variablelist"><table border="0" class="variablelist">
 
1417
<colgroup>
1221
1418
<col align="left" valign="top">
 
1419
<col>
 
1420
</colgroup>
1222
1421
<tbody>
1223
1422
<tr>
1224
1423
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1225
 
<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>
1226
1425
</td>
1227
1426
</tr>
1228
1427
<tr>
1229
1428
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1230
 
<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>
1231
1430
</td>
1232
1431
</tr>
1233
1432
</tbody>
1236
1435
<hr>
1237
1436
<div class="refsect2">
1238
1437
<a name="g-object-unref"></a><h3>g_object_unref ()</h3>
1239
 
<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>
1240
1439
<p>
1241
1440
Decreases the reference count of <em class="parameter"><code>object</code></em>. When its reference count
1242
1441
drops to 0, the object is finalized (i.e. its memory is freed).
1243
1442
</p>
1244
 
<div class="variablelist"><table border="0">
 
1443
<div class="variablelist"><table border="0" class="variablelist">
 
1444
<colgroup>
1245
1445
<col align="left" valign="top">
 
1446
<col>
 
1447
</colgroup>
1246
1448
<tbody><tr>
1247
1449
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1248
 
<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>
1249
1451
</td>
1250
1452
</tr></tbody>
1251
1453
</table></div>
1253
1455
<hr>
1254
1456
<div class="refsect2">
1255
1457
<a name="g-object-ref-sink"></a><h3>g_object_ref_sink ()</h3>
1256
 
<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>
1257
1459
<p>
1258
1460
Increase the reference count of <em class="parameter"><code>object</code></em>, and possibly remove the
1259
1461
<a class="link" href="gobject-The-Base-Object-Type.html#floating-ref">floating</a> reference, if <em class="parameter"><code>object</code></em>
1266
1468
count unchanged.  If the object is not floating, then this call
1267
1469
adds a new normal reference increasing the reference count by one.
1268
1470
</p>
1269
 
<div class="variablelist"><table border="0">
 
1471
<div class="variablelist"><table border="0" class="variablelist">
 
1472
<colgroup>
1270
1473
<col align="left" valign="top">
 
1474
<col>
 
1475
</colgroup>
1271
1476
<tbody>
1272
1477
<tr>
1273
1478
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1274
 
<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>
1275
1480
</td>
1276
1481
</tr>
1277
1482
<tr>
1278
1483
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1279
1484
<td>
1280
 
<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>
1281
1486
</td>
1282
1487
</tr>
1283
1488
</tbody>
1292
1497
Clears a reference to a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>.
1293
1498
</p>
1294
1499
<p>
1295
 
<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>.
1296
1501
</p>
1297
1502
<p>
1298
 
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.
1299
1504
Otherwise, the reference count of the object is decreased and the
1300
 
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>.
1301
1506
</p>
1302
1507
<p>
1303
1508
This function is threadsafe and modifies the pointer atomically,
1307
1512
A macro is also included that allows this function to be used without
1308
1513
pointer casts.
1309
1514
</p>
1310
 
<div class="variablelist"><table border="0">
 
1515
<div class="variablelist"><table border="0" class="variablelist">
 
1516
<colgroup>
1311
1517
<col align="left" valign="top">
 
1518
<col>
 
1519
</colgroup>
1312
1520
<tbody><tr>
1313
1521
<td><p><span class="term"><em class="parameter"><code>object_ptr</code></em> :</span></p></td>
1314
1522
<td>a pointer to a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> reference</td>
1348
1556
<hr>
1349
1557
<div class="refsect2">
1350
1558
<a name="g-object-is-floating"></a><h3>g_object_is_floating ()</h3>
1351
 
<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>
1352
1560
<p>
1353
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>
1354
1562
reference.
1355
1563
</p>
1356
 
<div class="variablelist"><table border="0">
 
1564
<div class="variablelist"><table border="0" class="variablelist">
 
1565
<colgroup>
1357
1566
<col align="left" valign="top">
 
1567
<col>
 
1568
</colgroup>
1358
1569
<tbody>
1359
1570
<tr>
1360
1571
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1361
 
<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>
1362
1573
</td>
1363
1574
</tr>
1364
1575
<tr>
1365
1576
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1366
1577
<td>
1367
 
<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>
1368
1579
</tr>
1369
1580
</tbody>
1370
1581
</table></div>
1381
1592
<a class="link" href="gobject-The-Base-Object-Type.html#GInitiallyUnowned" title="GInitiallyUnowned"><span class="type">GInitiallyUnowned</span></a>s are created with a floating reference which
1382
1593
usually just needs to be sunken by calling <a class="link" href="gobject-The-Base-Object-Type.html#g-object-ref-sink" title="g_object_ref_sink ()"><code class="function">g_object_ref_sink()</code></a>.
1383
1594
</p>
1384
 
<div class="variablelist"><table border="0">
 
1595
<div class="variablelist"><table border="0" class="variablelist">
 
1596
<colgroup>
1385
1597
<col align="left" valign="top">
 
1598
<col>
 
1599
</colgroup>
1386
1600
<tbody><tr>
1387
1601
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1388
1602
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
1394
1608
<hr>
1395
1609
<div class="refsect2">
1396
1610
<a name="GWeakNotify"></a><h3>GWeakNotify ()</h3>
1397
 
<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>,
1398
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>
1399
1613
<p>
1400
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
1402
1616
finalized when the <a class="link" href="gobject-The-Base-Object-Type.html#GWeakNotify" title="GWeakNotify ()"><span class="type">GWeakNotify</span></a> is called, there's not much you could do 
1403
1617
with the object, apart from e.g. using its address as hash-index or the like.
1404
1618
</p>
1405
 
<div class="variablelist"><table border="0">
 
1619
<div class="variablelist"><table border="0" class="variablelist">
 
1620
<colgroup>
1406
1621
<col align="left" valign="top">
 
1622
<col>
 
1623
</colgroup>
1407
1624
<tbody>
1408
1625
<tr>
1409
1626
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1421
1638
<a name="g-object-weak-ref"></a><h3>g_object_weak_ref ()</h3>
1422
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>,
1423
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>,
1424
 
                                                         <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>
1425
1642
<p>
1426
1643
Adds a weak reference callback to an object. Weak references are
1427
1644
used for notification when an object is finalized. They are called
1435
1652
object's last <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> might happen in another thread.
1436
1653
Use <a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> if thread-safety is required.
1437
1654
</p>
1438
 
<div class="variablelist"><table border="0">
 
1655
<div class="variablelist"><table border="0" class="variablelist">
 
1656
<colgroup>
1439
1657
<col align="left" valign="top">
 
1658
<col>
 
1659
</colgroup>
1440
1660
<tbody>
1441
1661
<tr>
1442
1662
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1459
1679
<a name="g-object-weak-unref"></a><h3>g_object_weak_unref ()</h3>
1460
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>,
1461
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>,
1462
 
                                                         <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>
1463
1683
<p>
1464
1684
Removes a weak reference callback to an object.
1465
1685
</p>
1466
 
<div class="variablelist"><table border="0">
 
1686
<div class="variablelist"><table border="0" class="variablelist">
 
1687
<colgroup>
1467
1688
<col align="left" valign="top">
 
1689
<col>
 
1690
</colgroup>
1468
1691
<tbody>
1469
1692
<tr>
1470
1693
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1486
1709
<div class="refsect2">
1487
1710
<a name="g-object-add-weak-pointer"></a><h3>g_object_add_weak_pointer ()</h3>
1488
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>,
1489
 
                                                         <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>
1490
1713
<p>
1491
1714
Adds a weak reference from weak_pointer to <em class="parameter"><code>object</code></em> to indicate that
1492
1715
the pointer located at <em class="parameter"><code>weak_pointer_location</code></em> is only valid during
1493
1716
the lifetime of <em class="parameter"><code>object</code></em>. When the <em class="parameter"><code>object</code></em> is finalized,
1494
 
<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>.
1495
1718
</p>
1496
1719
<p>
1497
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
1499
1722
thread if the object's last <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> might happen in another
1500
1723
thread. Use <a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> if thread-safety is required.
1501
1724
</p>
1502
 
<div class="variablelist"><table border="0">
 
1725
<div class="variablelist"><table border="0" class="variablelist">
 
1726
<colgroup>
1503
1727
<col align="left" valign="top">
 
1728
<col>
 
1729
</colgroup>
1504
1730
<tbody>
1505
1731
<tr>
1506
1732
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1518
1744
<div class="refsect2">
1519
1745
<a name="g-object-remove-weak-pointer"></a><h3>g_object_remove_weak_pointer ()</h3>
1520
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>,
1521
 
                                                         <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>
1522
1748
<p>
1523
1749
Removes a weak reference from <em class="parameter"><code>object</code></em> that was previously added
1524
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
1525
1751
to match the one used with <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>.
1526
1752
</p>
1527
 
<div class="variablelist"><table border="0">
 
1753
<div class="variablelist"><table border="0" class="variablelist">
 
1754
<colgroup>
1528
1755
<col align="left" valign="top">
 
1756
<col>
 
1757
</colgroup>
1529
1758
<tbody>
1530
1759
<tr>
1531
1760
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1542
1771
<hr>
1543
1772
<div class="refsect2">
1544
1773
<a name="GToggleNotify"></a><h3>GToggleNotify ()</h3>
1545
 
<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>,
1546
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>,
1547
 
                                                         <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>
1548
1777
<p>
1549
1778
A callback function used for notification when the state
1550
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>.
1551
1780
</p>
1552
 
<div class="variablelist"><table border="0">
 
1781
<div class="variablelist"><table border="0" class="variablelist">
 
1782
<colgroup>
1553
1783
<col align="left" valign="top">
 
1784
<col>
 
1785
</colgroup>
1554
1786
<tbody>
1555
1787
<tr>
1556
1788
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
1564
1796
<tr>
1565
1797
<td><p><span class="term"><em class="parameter"><code>is_last_ref</code></em> :</span></p></td>
1566
1798
<td>
1567
 
<a href="./../glib/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the toggle reference is now the
1568
 
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
1569
1801
reference was the last reference and there are now other
1570
1802
references.</td>
1571
1803
</tr>
1577
1809
<a name="g-object-add-toggle-ref"></a><h3>g_object_add_toggle_ref ()</h3>
1578
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>,
1579
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>,
1580
 
                                                         <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>
1581
1813
<p>
1582
1814
Increases the reference count of the object by one and sets a
1583
1815
callback to be called when all other references to the object are
1612
1844
this reason, you should only ever use a toggle reference if there
1613
1845
is important state in the proxy object.
1614
1846
</p>
1615
 
<div class="variablelist"><table border="0">
 
1847
<div class="variablelist"><table border="0" class="variablelist">
 
1848
<colgroup>
1616
1849
<col align="left" valign="top">
 
1850
<col>
 
1851
</colgroup>
1617
1852
<tbody>
1618
1853
<tr>
1619
1854
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1640
1875
<a name="g-object-remove-toggle-ref"></a><h3>g_object_remove_toggle_ref ()</h3>
1641
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>,
1642
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>,
1643
 
                                                         <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>
1644
1879
<p>
1645
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
1646
1881
reference count of the object is decreased by one.
1647
1882
</p>
1648
 
<div class="variablelist"><table border="0">
 
1883
<div class="variablelist"><table border="0" class="variablelist">
 
1884
<colgroup>
1649
1885
<col align="left" valign="top">
 
1886
<col>
 
1887
</colgroup>
1650
1888
<tbody>
1651
1889
<tr>
1652
1890
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1671
1909
<hr>
1672
1910
<div class="refsect2">
1673
1911
<a name="g-object-connect"></a><h3>g_object_connect ()</h3>
1674
 
<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>,
1675
 
                                                         <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>,
1676
1914
                                                         <em class="parameter"><code>...</code></em>);</pre>
1677
1915
<p>
1678
1916
A convenience function to connect multiple signals at once.
1681
1919
The signal specs expected by this function have the form
1682
1920
"modifier::signal_name", where modifier can be one of the following:
1683
1921
</p>
1684
 
<div class="variablelist"><table border="0">
 
1922
<div class="variablelist"><table border="0" class="variablelist">
 
1923
<colgroup>
1685
1924
<col align="left" valign="top">
 
1925
<col>
 
1926
</colgroup>
1686
1927
<tbody>
1687
1928
<tr>
1688
1929
<td><p><span class="term">signal</span></p></td>
1738
1979
</p>
1739
1980
<p>
1740
1981
</p>
1741
 
<div class="informalexample"><pre class="programlisting">
1742
 
  menu-&gt;toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW,
1743
 
                                                   "type", GTK_WINDOW_POPUP,
1744
 
                                                   "child", menu,
1745
 
                                                   NULL),
1746
 
                                     "signal::event", gtk_menu_window_event, menu,
1747
 
                                     "signal::size_request", gtk_menu_window_size_request, menu,
1748
 
                                     "signal::destroy", gtk_widget_destroyed, &amp;menu-&gt;toplevel,
1749
 
                                     NULL);
1750
 
</pre></div>
 
1982
<div class="informalexample">
 
1983
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
1984
    <tbody>
 
1985
      <tr>
 
1986
        <td class="listing_lines" align="right"><pre>1
 
1987
2
 
1988
3
 
1989
4
 
1990
5
 
1991
6
 
1992
7
 
1993
8</pre></td>
 
1994
        <td class="listing_code"><pre class="programlisting">menu-&gt;toplevel = <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-connect">g_object_connect</a></span> (<span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a></span> (<span class="number">GTK_TYPE_WINDOW</span>,
 
1995
                                                   <span class="number">&quot;type&quot;</span>, <span class="number">GTK_WINDOW_POPUP</span>,
 
1996
                                                   <span class="number">&quot;child&quot;</span>, menu,
 
1997
                                                   <span class="number">NULL</span>),
 
1998
                                     <span class="number">&quot;signal::event&quot;</span>, gtk_menu_window_event, menu,
 
1999
                                     <span class="number">&quot;signal::size_request&quot;</span>, gtk_menu_window_size_request, menu,
 
2000
                                     <span class="number">&quot;signal::destroy&quot;</span>, <span class="function">gtk_widget_destroyed</span>, &amp;menu-&gt;toplevel,
 
2001
                                     <span class="number">NULL</span>);</pre></td>
 
2002
      </tr>
 
2003
    </tbody>
 
2004
  </table>
 
2005
</div>
 
2006
 
1751
2007
<p>
1752
2008
</p>
1753
 
<div class="variablelist"><table border="0">
 
2009
<div class="variablelist"><table border="0" class="variablelist">
 
2010
<colgroup>
1754
2011
<col align="left" valign="top">
 
2012
<col>
 
2013
</colgroup>
1755
2014
<tbody>
1756
2015
<tr>
1757
2016
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1767
2026
<td>
1768
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
1769
2028
first signal, followed optionally by more signal
1770
 
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>
1771
2030
</td>
1772
2031
</tr>
1773
2032
<tr>
1782
2041
<hr>
1783
2042
<div class="refsect2">
1784
2043
<a name="g-object-disconnect"></a><h3>g_object_disconnect ()</h3>
1785
 
<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>,
1786
 
                                                         <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>,
1787
2046
                                                         <em class="parameter"><code>...</code></em>);</pre>
1788
2047
<p>
1789
2048
A convenience function to disconnect multiple signals at once.
1794
2053
callback and data, or "any_signal::signal_name", which only
1795
2054
disconnects the signal named "signal_name".
1796
2055
</p>
1797
 
<div class="variablelist"><table border="0">
 
2056
<div class="variablelist"><table border="0" class="variablelist">
 
2057
<colgroup>
1798
2058
<col align="left" valign="top">
 
2059
<col>
 
2060
</colgroup>
1799
2061
<tbody>
1800
2062
<tr>
1801
2063
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1811
2073
<td>
1812
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,
1813
2075
followed optionally by more signal spec/callback/data triples,
1814
 
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>
1815
2077
</td>
1816
2078
</tr>
1817
2079
</tbody>
1820
2082
<hr>
1821
2083
<div class="refsect2">
1822
2084
<a name="g-object-set"></a><h3>g_object_set ()</h3>
1823
 
<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>,
1824
 
                                                         <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>,
1825
2087
                                                         <em class="parameter"><code>...</code></em>);</pre>
1826
2088
<p>
1827
2089
Sets properties on an object.
1828
2090
</p>
1829
 
<div class="variablelist"><table border="0">
 
2091
<div class="variablelist"><table border="0" class="variablelist">
 
2092
<colgroup>
1830
2093
<col align="left" valign="top">
 
2094
<col>
 
2095
</colgroup>
1831
2096
<tbody>
1832
2097
<tr>
1833
2098
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1841
2106
<tr>
1842
2107
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1843
2108
<td>value for the first property, followed optionally by more
1844
 
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>
1845
2110
</td>
1846
2111
</tr>
1847
2112
</tbody>
1850
2115
<hr>
1851
2116
<div class="refsect2">
1852
2117
<a name="g-object-get"></a><h3>g_object_get ()</h3>
1853
 
<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>,
1854
 
                                                         <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>,
1855
2120
                                                         <em class="parameter"><code>...</code></em>);</pre>
1856
2121
<p>
1857
2122
Gets properties of an object.
1859
2124
<p>
1860
2125
In general, a copy is made of the property contents and the caller
1861
2126
is responsible for freeing the memory in the appropriate manner for
1862
 
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>.
1863
2128
</p>
1864
2129
<p>
1865
2130
</p>
1866
2131
<div class="example">
1867
 
<a name="idp20071680"></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>
1868
2133
<div class="example-contents">
1869
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
1870
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>,
1889
2154
</div>
1890
2155
<p><br class="example-break">
1891
2156
</p>
1892
 
<div class="variablelist"><table border="0">
 
2157
<div class="variablelist"><table border="0" class="variablelist">
 
2158
<colgroup>
1893
2159
<col align="left" valign="top">
 
2160
<col>
 
2161
</colgroup>
1894
2162
<tbody>
1895
2163
<tr>
1896
2164
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1904
2172
<tr>
1905
2173
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
1906
2174
<td>return location for the first property, followed optionally by more
1907
 
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>
1908
2176
</td>
1909
2177
</tr>
1910
2178
</tbody>
1914
2182
<div class="refsect2">
1915
2183
<a name="g-object-notify"></a><h3>g_object_notify ()</h3>
1916
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>,
1917
 
                                                         <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>
1918
2186
<p>
1919
2187
Emits a "notify" signal for the property <em class="parameter"><code>property_name</code></em> on <em class="parameter"><code>object</code></em>.
1920
2188
</p>
1923
2191
that registered the property, you should use <a class="link" href="gobject-The-Base-Object-Type.html#g-object-notify-by-pspec" title="g_object_notify_by_pspec ()"><code class="function">g_object_notify_by_pspec()</code></a>
1924
2192
instead.
1925
2193
</p>
1926
 
<div class="variablelist"><table border="0">
 
2194
<div class="variablelist"><table border="0" class="variablelist">
 
2195
<colgroup>
1927
2196
<col align="left" valign="top">
 
2197
<col>
 
2198
</colgroup>
1928
2199
<tbody>
1929
2200
<tr>
1930
2201
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
1958
2229
</p>
1959
2230
<p>
1960
2231
</p>
1961
 
<div class="informalexample"><pre class="programlisting">
1962
 
  enum
 
2232
<div class="informalexample">
 
2233
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
2234
    <tbody>
 
2235
      <tr>
 
2236
        <td class="listing_lines" align="right"><pre>1
 
2237
2
 
2238
3
 
2239
4
 
2240
5
 
2241
6
 
2242
7
 
2243
8
 
2244
9
 
2245
10
 
2246
11
 
2247
12
 
2248
13
 
2249
14
 
2250
15
 
2251
16
 
2252
17
 
2253
18
 
2254
19
 
2255
20</pre></td>
 
2256
        <td class="listing_code"><pre class="programlisting"><span class="type">enum</span>
1963
2257
  {
1964
2258
    PROP_0,
1965
2259
    PROP_FOO,
1966
2260
    PROP_LAST
1967
2261
  };
1968
2262
 
1969
 
  static GParamSpec *properties[PROP_LAST];
 
2263
  <span class="type">static</span> <span class="type">GParamSpec</span> *properties[PROP_LAST];
1970
2264
 
1971
 
  static void
 
2265
  <span class="type">static</span> <span class="type">void</span>
1972
2266
  my_object_class_init (MyObjectClass *klass)
1973
2267
  {
1974
 
    properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
1975
 
                                             0, 100,
1976
 
                                             50,
1977
 
                                             G_PARAM_READWRITE);
1978
 
    g_object_class_install_property (gobject_class,
 
2268
    properties[PROP_FOO] = <span class="function"><a href="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-int">g_param_spec_int</a></span> (<span class="number">&quot;foo&quot;</span>, <span class="number">&quot;Foo&quot;</span>, <span class="number">&quot;The foo&quot;</span>,
 
2269
                                             <span class="number">0</span>, <span class="number">100</span>,
 
2270
                                             <span class="number">50</span>,
 
2271
                                             <span class="number">G_PARAM_READWRITE</span>);
 
2272
    <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-class-install-property">g_object_class_install_property</a></span> (gobject_class,
1979
2273
                                     PROP_FOO,
1980
2274
                                     properties[PROP_FOO]);
1981
 
  }
1982
 
</pre></div>
 
2275
  }</pre></td>
 
2276
      </tr>
 
2277
    </tbody>
 
2278
  </table>
 
2279
</div>
 
2280
 
1983
2281
<p>
1984
2282
</p>
1985
2283
<p>
1987
2285
</p>
1988
2286
<p>
1989
2287
</p>
1990
 
<div class="informalexample"><pre class="programlisting">
1991
 
  g_object_notify_by_pspec (self, properties[PROP_FOO]);
1992
 
</pre></div>
 
2288
<div class="informalexample">
 
2289
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
2290
    <tbody>
 
2291
      <tr>
 
2292
        <td class="listing_lines" align="right"><pre>1</pre></td>
 
2293
        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-notify-by-pspec">g_object_notify_by_pspec</a></span> (self, properties[PROP_FOO]);</pre></td>
 
2294
      </tr>
 
2295
    </tbody>
 
2296
  </table>
 
2297
</div>
 
2298
 
1993
2299
<p>
1994
2300
</p>
1995
 
<div class="variablelist"><table border="0">
 
2301
<div class="variablelist"><table border="0" class="variablelist">
 
2302
<colgroup>
1996
2303
<col align="left" valign="top">
 
2304
<col>
 
2305
</colgroup>
1997
2306
<tbody>
1998
2307
<tr>
1999
2308
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2024
2333
This is necessary for accessors that modify multiple properties to prevent
2025
2334
premature notification while the object is still being modified.
2026
2335
</p>
2027
 
<div class="variablelist"><table border="0">
 
2336
<div class="variablelist"><table border="0" class="variablelist">
 
2337
<colgroup>
2028
2338
<col align="left" valign="top">
 
2339
<col>
 
2340
</colgroup>
2029
2341
<tbody><tr>
2030
2342
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2031
2343
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2049
2361
<p>
2050
2362
It is an error to call this function when the freeze count is zero.
2051
2363
</p>
2052
 
<div class="variablelist"><table border="0">
 
2364
<div class="variablelist"><table border="0" class="variablelist">
 
2365
<colgroup>
2053
2366
<col align="left" valign="top">
 
2367
<col>
 
2368
</colgroup>
2054
2369
<tbody><tr>
2055
2370
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2056
2371
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2061
2376
<hr>
2062
2377
<div class="refsect2">
2063
2378
<a name="g-object-get-data"></a><h3>g_object_get_data ()</h3>
2064
 
<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>,
2065
 
                                                         <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>
2066
2381
<p>
2067
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>).
2068
2383
</p>
2069
 
<div class="variablelist"><table border="0">
 
2384
<div class="variablelist"><table border="0" class="variablelist">
 
2385
<colgroup>
2070
2386
<col align="left" valign="top">
 
2387
<col>
 
2388
</colgroup>
2071
2389
<tbody>
2072
2390
<tr>
2073
2391
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2080
2398
</tr>
2081
2399
<tr>
2082
2400
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2083
 
<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>
2084
2402
</td>
2085
2403
</tr>
2086
2404
</tbody>
2090
2408
<div class="refsect2">
2091
2409
<a name="g-object-set-data"></a><h3>g_object_set_data ()</h3>
2092
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>,
2093
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
2094
 
                                                         <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>
2095
2413
<p>
2096
2414
Each object carries around a table of associations from
2097
2415
strings to pointers.  This function lets you set an association.
2100
2418
If the object already had an association with that name,
2101
2419
the old association will be destroyed.
2102
2420
</p>
2103
 
<div class="variablelist"><table border="0">
 
2421
<div class="variablelist"><table border="0" class="variablelist">
 
2422
<colgroup>
2104
2423
<col align="left" valign="top">
 
2424
<col>
 
2425
</colgroup>
2105
2426
<tbody>
2106
2427
<tr>
2107
2428
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2123
2444
<div class="refsect2">
2124
2445
<a name="g-object-set-data-full"></a><h3>g_object_set_data_full ()</h3>
2125
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>,
2126
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
2127
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
2128
 
                                                         <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>
2129
2450
<p>
2130
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
2131
2452
for when the association is destroyed, either by setting it
2132
2453
to a different value or when the object is destroyed.
2133
2454
</p>
2134
2455
<p>
2135
 
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>.
2136
2457
</p>
2137
 
<div class="variablelist"><table border="0">
 
2458
<div class="variablelist"><table border="0" class="variablelist">
 
2459
<colgroup>
2138
2460
<col align="left" valign="top">
 
2461
<col>
 
2462
</colgroup>
2139
2463
<tbody>
2140
2464
<tr>
2141
2465
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2160
2484
<hr>
2161
2485
<div class="refsect2">
2162
2486
<a name="g-object-steal-data"></a><h3>g_object_steal_data ()</h3>
2163
 
<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>,
2164
 
                                                         <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>
2165
2489
<p>
2166
2490
Remove a specified datum from the object's data associations,
2167
2491
without invoking the association's destroy handler.
2168
2492
</p>
2169
 
<div class="variablelist"><table border="0">
 
2493
<div class="variablelist"><table border="0" class="variablelist">
 
2494
<colgroup>
2170
2495
<col align="left" valign="top">
 
2496
<col>
 
2497
</colgroup>
2171
2498
<tbody>
2172
2499
<tr>
2173
2500
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2180
2507
</tr>
2181
2508
<tr>
2182
2509
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2183
 
<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>
 
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>
2184
2511
</td>
2185
2512
</tr>
2186
2513
</tbody>
2189
2516
<hr>
2190
2517
<div class="refsect2">
2191
2518
<a name="g-object-dup-data"></a><h3>g_object_dup_data ()</h3>
2192
 
<pre class="programlisting"><a href="./../glib/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>,
2193
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
2194
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Keyed-Data-Lists.html#GDuplicateFunc"><span class="type">GDuplicateFunc</span></a> dup_func</code></em>,
2195
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 
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>
2196
2523
<p>
2197
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
2198
2525
a 'duplicate' of the value. <em class="parameter"><code>dup_func</code></em> defines the
2201
2528
</p>
2202
2529
<p>
2203
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>
2204
 
will be called with a <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> argument.
 
2531
will be called with a <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> argument.
2205
2532
</p>
2206
2533
<p>
2207
2534
Note that <em class="parameter"><code>dup_func</code></em> is called while user data of <em class="parameter"><code>object</code></em>
2212
2539
threads are using object data on the same key on the same
2213
2540
object.
2214
2541
</p>
2215
 
<div class="variablelist"><table border="0">
 
2542
<div class="variablelist"><table border="0" class="variablelist">
 
2543
<colgroup>
2216
2544
<col align="left" valign="top">
 
2545
<col>
 
2546
</colgroup>
2217
2547
<tbody>
2218
2548
<tr>
2219
2549
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2236
2566
<tr>
2237
2567
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2238
2568
<td>the result of calling <em class="parameter"><code>dup_func</code></em> on the value
2239
 
associated with <em class="parameter"><code>key</code></em> on <em class="parameter"><code>object</code></em>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set.
2240
 
If <em class="parameter"><code>dup_func</code></em> is <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the value is returned
 
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
2241
2571
unmodified.</td>
2242
2572
</tr>
2243
2573
</tbody>
2247
2577
<hr>
2248
2578
<div class="refsect2">
2249
2579
<a name="g-object-replace-data"></a><h3>g_object_replace_data ()</h3>
2250
 
<pre class="programlisting"><a href="./../glib/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>,
2251
 
                                                         <em class="parameter"><code>const <a href="./../glib/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *key</code></em>,
2252
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> oldval</code></em>,
2253
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> newval</code></em>,
2254
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>,
2255
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> *old_destroy</code></em>);</pre>
 
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>
2256
2586
<p>
2257
2587
Compares the user data for the key <em class="parameter"><code>key</code></em> on <em class="parameter"><code>object</code></em> with
2258
2588
<em class="parameter"><code>oldval</code></em>, and if they are the same, replaces <em class="parameter"><code>oldval</code></em> with
2271
2601
should not destroy the object in the normal way.
2272
2602
</p>
2273
2603
<p>
2274
 
Return: <a href="./../glib/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
2275
 
 by <em class="parameter"><code>newval</code></em>, <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
 
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.
2276
2606
</p>
2277
 
<div class="variablelist"><table border="0">
 
2607
<div class="variablelist"><table border="0" class="variablelist">
 
2608
<colgroup>
2278
2609
<col align="left" valign="top">
 
2610
<col>
 
2611
</colgroup>
2279
2612
<tbody>
2280
2613
<tr>
2281
2614
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2312
2645
<hr>
2313
2646
<div class="refsect2">
2314
2647
<a name="g-object-get-qdata"></a><h3>g_object_get_qdata ()</h3>
2315
 
<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>,
2316
 
                                                         <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>
2317
2650
<p>
2318
2651
This function gets back user data pointers stored via
2319
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>.
2320
2653
</p>
2321
 
<div class="variablelist"><table border="0">
 
2654
<div class="variablelist"><table border="0" class="variablelist">
 
2655
<colgroup>
2322
2656
<col align="left" valign="top">
 
2657
<col>
 
2658
</colgroup>
2323
2659
<tbody>
2324
2660
<tr>
2325
2661
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2327
2663
</tr>
2328
2664
<tr>
2329
2665
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2330
 
<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>
2331
2667
</tr>
2332
2668
<tr>
2333
2669
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2334
 
<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>
2335
2671
</td>
2336
2672
</tr>
2337
2673
</tbody>
2341
2677
<div class="refsect2">
2342
2678
<a name="g-object-set-qdata"></a><h3>g_object_set_qdata ()</h3>
2343
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>,
2344
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
2345
 
                                                         <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>
2346
2682
<p>
2347
2683
This sets an opaque, named pointer on an object.
2348
 
The name is specified through a <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> (retrived e.g. via
2349
 
<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
2350
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>
2351
2687
until the <em class="parameter"><code>object</code></em> is finalized.
2352
2688
Setting a previously set user data pointer, overrides (frees)
2353
 
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
2354
2690
removes the data stored.
2355
2691
</p>
2356
 
<div class="variablelist"><table border="0">
 
2692
<div class="variablelist"><table border="0" class="variablelist">
 
2693
<colgroup>
2357
2694
<col align="left" valign="top">
 
2695
<col>
 
2696
</colgroup>
2358
2697
<tbody>
2359
2698
<tr>
2360
2699
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2362
2701
</tr>
2363
2702
<tr>
2364
2703
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2365
 
<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>
2366
2705
</tr>
2367
2706
<tr>
2368
2707
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2375
2714
<div class="refsect2">
2376
2715
<a name="g-object-set-qdata-full"></a><h3>g_object_set_qdata_full ()</h3>
2377
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>,
2378
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
2379
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>,
2380
 
                                                         <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>
2381
2720
<p>
2382
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,
2383
2722
a void (*destroy) (gpointer) function may be specified which is
2385
2724
the data is being overwritten by a call to <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>
2386
2725
with the same <em class="parameter"><code>quark</code></em>.
2387
2726
</p>
2388
 
<div class="variablelist"><table border="0">
 
2727
<div class="variablelist"><table border="0" class="variablelist">
 
2728
<colgroup>
2389
2729
<col align="left" valign="top">
 
2730
<col>
 
2731
</colgroup>
2390
2732
<tbody>
2391
2733
<tr>
2392
2734
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2394
2736
</tr>
2395
2737
<tr>
2396
2738
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2397
 
<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>
2398
2740
</tr>
2399
2741
<tr>
2400
2742
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
2411
2753
<hr>
2412
2754
<div class="refsect2">
2413
2755
<a name="g-object-steal-qdata"></a><h3>g_object_steal_qdata ()</h3>
2414
 
<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>,
2415
 
                                                         <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>
2416
2758
<p>
2417
2759
This function gets back user data pointers stored via
2418
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
2421
2763
Usually, calling this function is only required to update
2422
2764
user data pointers with a destroy notifier, for example:
2423
2765
</p>
2424
 
<div class="informalexample"><pre class="programlisting">
2425
 
void
2426
 
object_add_to_user_list (GObject     *object,
2427
 
                         const gchar *new_string)
2428
 
{
2429
 
  // the quark, naming the object data
2430
 
  GQuark quark_string_list = g_quark_from_static_string ("my-string-list");
2431
 
  // retrive the old string list
2432
 
  GList *list = g_object_steal_qdata (object, quark_string_list);
2433
 
 
2434
 
  // prepend new string
2435
 
  list = g_list_prepend (list, g_strdup (new_string));
2436
 
  // this changed 'list', so we need to set it again
2437
 
  g_object_set_qdata_full (object, quark_string_list, list, free_string_list);
2438
 
}
2439
 
static void
2440
 
free_string_list (gpointer data)
2441
 
{
2442
 
  GList *node, *list = data;
2443
 
 
2444
 
  for (node = list; node; node = node-&gt;next)
2445
 
    g_free (node-&gt;data);
2446
 
  g_list_free (list);
2447
 
}
2448
 
</pre></div>
 
2766
<div class="informalexample">
 
2767
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
2768
    <tbody>
 
2769
      <tr>
 
2770
        <td class="listing_lines" align="right"><pre>1
 
2771
2
 
2772
3
 
2773
4
 
2774
5
 
2775
6
 
2776
7
 
2777
8
 
2778
9
 
2779
10
 
2780
11
 
2781
12
 
2782
13
 
2783
14
 
2784
15
 
2785
16
 
2786
17
 
2787
18
 
2788
19
 
2789
20
 
2790
21
 
2791
22
 
2792
23</pre></td>
 
2793
        <td class="listing_code"><pre class="programlisting"><span class="type">void</span>
 
2794
object_add_to_user_list (<span class="type">GObject</span>     *object,
 
2795
                         <span class="type">const</span> <span class="type">gchar</span> *new_string)
 
2796
{
 
2797
  <span class="comment">// the quark, naming the object data</span>
 
2798
  <span class="type">GQuark</span> quark_string_list = <span class="function"><a href="../glib/glib-Quarks.html#g-quark-from-static-string">g_quark_from_static_string</a></span> (<span class="number">&quot;my-string-list&quot;</span>);
 
2799
  <span class="comment">// retrive the old string list</span>
 
2800
  <span class="type">GList</span> *list = <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-steal-qdata">g_object_steal_qdata</a></span> (object, quark_string_list);
 
2801
 
 
2802
  <span class="comment">// prepend new string</span>
 
2803
  list = <span class="function"><a href="../glib/glib-Doubly-Linked-Lists.html#g-list-prepend">g_list_prepend</a></span> (list, <span class="function"><a href="../glib/glib-String-Utility-Functions.html#g-strdup">g_strdup</a></span> (new_string));
 
2804
  <span class="comment">// this changed 'list', so we need to set it again</span>
 
2805
  <span class="function"><a href="gobject-The-Base-Object-Type.html#g-object-set-qdata-full">g_object_set_qdata_full</a></span> (object, quark_string_list, list, free_string_list);
 
2806
}
 
2807
<span class="type">static</span> <span class="type">void</span>
 
2808
free_string_list (<span class="type">gpointer</span> data)
 
2809
{
 
2810
  <span class="type">GList</span> *node, *list = data;
 
2811
 
 
2812
  <span class="keyword">for</span> (node = list; node; node = node-&gt;next)
 
2813
    <span class="function"><a href="../glib/glib-Memory-Allocation.html#g-free">g_free</a></span> (node-&gt;data);
 
2814
  <span class="function"><a href="../glib/glib-Doubly-Linked-Lists.html#g-list-free">g_list_free</a></span> (list);
 
2815
}</pre></td>
 
2816
      </tr>
 
2817
    </tbody>
 
2818
  </table>
 
2819
</div>
 
2820
 
2449
2821
<p>
2450
2822
Using <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> in the above example, instead of
2451
2823
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-steal-qdata" title="g_object_steal_qdata ()"><code class="function">g_object_steal_qdata()</code></a> would have left the destroy function set,
2452
2824
and thus the partial string list would have been freed upon
2453
2825
<a class="link" href="gobject-The-Base-Object-Type.html#g-object-set-qdata-full" title="g_object_set_qdata_full ()"><code class="function">g_object_set_qdata_full()</code></a>.
2454
2826
</p>
2455
 
<div class="variablelist"><table border="0">
 
2827
<div class="variablelist"><table border="0" class="variablelist">
 
2828
<colgroup>
2456
2829
<col align="left" valign="top">
 
2830
<col>
 
2831
</colgroup>
2457
2832
<tbody>
2458
2833
<tr>
2459
2834
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2461
2836
</tr>
2462
2837
<tr>
2463
2838
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2464
 
<td>A <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
 
2839
<td>A <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
2465
2840
</tr>
2466
2841
<tr>
2467
2842
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2468
 
<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>
 
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>
2469
2844
</td>
2470
2845
</tr>
2471
2846
</tbody>
2474
2849
<hr>
2475
2850
<div class="refsect2">
2476
2851
<a name="g-object-dup-qdata"></a><h3>g_object_dup_qdata ()</h3>
2477
 
<pre class="programlisting"><a href="./../glib/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>,
2478
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
2479
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Keyed-Data-Lists.html#GDuplicateFunc"><span class="type">GDuplicateFunc</span></a> dup_func</code></em>,
2480
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
 
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>
2481
2856
<p>
2482
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
2483
2858
a 'duplicate' of the value. <em class="parameter"><code>dup_func</code></em> defines the
2486
2861
</p>
2487
2862
<p>
2488
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>
2489
 
will be called with a <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> argument.
 
2864
will be called with a <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> argument.
2490
2865
</p>
2491
2866
<p>
2492
2867
Note that <em class="parameter"><code>dup_func</code></em> is called while user data of <em class="parameter"><code>object</code></em>
2497
2872
threads are using object data on the same key on the same
2498
2873
object.
2499
2874
</p>
2500
 
<div class="variablelist"><table border="0">
 
2875
<div class="variablelist"><table border="0" class="variablelist">
 
2876
<colgroup>
2501
2877
<col align="left" valign="top">
 
2878
<col>
 
2879
</colgroup>
2502
2880
<tbody>
2503
2881
<tr>
2504
2882
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2506
2884
</tr>
2507
2885
<tr>
2508
2886
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2509
 
<td>a <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
 
2887
<td>a <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
2510
2888
</tr>
2511
2889
<tr>
2512
2890
<td><p><span class="term"><em class="parameter"><code>dup_func</code></em> :</span></p></td>
2521
2899
<tr>
2522
2900
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2523
2901
<td>the result of calling <em class="parameter"><code>dup_func</code></em> on the value
2524
 
associated with <em class="parameter"><code>quark</code></em> on <em class="parameter"><code>object</code></em>, or <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not set.
2525
 
If <em class="parameter"><code>dup_func</code></em> is <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the value is returned
 
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
2526
2904
unmodified.</td>
2527
2905
</tr>
2528
2906
</tbody>
2532
2910
<hr>
2533
2911
<div class="refsect2">
2534
2912
<a name="g-object-replace-qdata"></a><h3>g_object_replace_qdata ()</h3>
2535
 
<pre class="programlisting"><a href="./../glib/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>,
2536
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> quark</code></em>,
2537
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> oldval</code></em>,
2538
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> newval</code></em>,
2539
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy</code></em>,
2540
 
                                                         <em class="parameter"><code><a href="./../glib/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> *old_destroy</code></em>);</pre>
 
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>
2541
2919
<p>
2542
2920
Compares the user data for the key <em class="parameter"><code>quark</code></em> on <em class="parameter"><code>object</code></em> with
2543
2921
<em class="parameter"><code>oldval</code></em>, and if they are the same, replaces <em class="parameter"><code>oldval</code></em> with
2556
2934
should not destroy the object in the normal way.
2557
2935
</p>
2558
2936
<p>
2559
 
Return: <a href="./../glib/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
2560
 
 by <em class="parameter"><code>newval</code></em>, <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
 
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.
2561
2939
</p>
2562
 
<div class="variablelist"><table border="0">
 
2940
<div class="variablelist"><table border="0" class="variablelist">
 
2941
<colgroup>
2563
2942
<col align="left" valign="top">
 
2943
<col>
 
2944
</colgroup>
2564
2945
<tbody>
2565
2946
<tr>
2566
2947
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2568
2949
</tr>
2569
2950
<tr>
2570
2951
<td><p><span class="term"><em class="parameter"><code>quark</code></em> :</span></p></td>
2571
 
<td>a <a href="./../glib/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
 
2952
<td>a <a href="../glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a>, naming the user data pointer</td>
2572
2953
</tr>
2573
2954
<tr>
2574
2955
<td><p><span class="term"><em class="parameter"><code>oldval</code></em> :</span></p></td>
2598
2979
<div class="refsect2">
2599
2980
<a name="g-object-set-property"></a><h3>g_object_set_property ()</h3>
2600
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>,
2601
 
                                                         <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>,
2602
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>
2603
2984
<p>
2604
2985
Sets a property on an object.
2605
2986
</p>
2606
 
<div class="variablelist"><table border="0">
 
2987
<div class="variablelist"><table border="0" class="variablelist">
 
2988
<colgroup>
2607
2989
<col align="left" valign="top">
 
2990
<col>
 
2991
</colgroup>
2608
2992
<tbody>
2609
2993
<tr>
2610
2994
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2626
3010
<div class="refsect2">
2627
3011
<a name="g-object-get-property"></a><h3>g_object_get_property ()</h3>
2628
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>,
2629
 
                                                         <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>,
2630
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>
2631
3015
<p>
2632
3016
Gets a property of an object. <em class="parameter"><code>value</code></em> must have been initialized to the
2641
3025
Note that <a class="link" href="gobject-The-Base-Object-Type.html#g-object-get-property" title="g_object_get_property ()"><code class="function">g_object_get_property()</code></a> is really intended for language
2642
3026
bindings, <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> is much more convenient for C programming.
2643
3027
</p>
2644
 
<div class="variablelist"><table border="0">
 
3028
<div class="variablelist"><table border="0" class="variablelist">
 
3029
<colgroup>
2645
3030
<col align="left" valign="top">
 
3031
<col>
 
3032
</colgroup>
2646
3033
<tbody>
2647
3034
<tr>
2648
3035
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2664
3051
<div class="refsect2">
2665
3052
<a name="g-object-new-valist"></a><h3>g_object_new_valist ()</h3>
2666
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>,
2667
 
                                                         <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>,
2668
3055
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
2669
3056
<p>
2670
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.
2673
3060
Construction parameters (see <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT:CAPS"><span class="type">G_PARAM_CONSTRUCT</span></a>, <a class="link" href="gobject-GParamSpec.html#G-PARAM-CONSTRUCT-ONLY:CAPS"><span class="type">G_PARAM_CONSTRUCT_ONLY</span></a>)
2674
3061
which are not explicitly specified are set to their default values.
2675
3062
</p>
2676
 
<div class="variablelist"><table border="0">
 
3063
<div class="variablelist"><table border="0" class="variablelist">
 
3064
<colgroup>
2677
3065
<col align="left" valign="top">
 
3066
<col>
 
3067
</colgroup>
2678
3068
<tbody>
2679
3069
<tr>
2680
3070
<td><p><span class="term"><em class="parameter"><code>object_type</code></em> :</span></p></td>
2687
3077
<tr>
2688
3078
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2689
3079
<td>the value of the first property, followed optionally by more
2690
 
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>
2691
3081
</td>
2692
3082
</tr>
2693
3083
<tr>
2702
3092
<div class="refsect2">
2703
3093
<a name="g-object-set-valist"></a><h3>g_object_set_valist ()</h3>
2704
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>,
2705
 
                                                         <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>,
2706
3096
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
2707
3097
<p>
2708
3098
Sets properties on an object.
2709
3099
</p>
2710
 
<div class="variablelist"><table border="0">
 
3100
<div class="variablelist"><table border="0" class="variablelist">
 
3101
<colgroup>
2711
3102
<col align="left" valign="top">
 
3103
<col>
 
3104
</colgroup>
2712
3105
<tbody>
2713
3106
<tr>
2714
3107
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2722
3115
<tr>
2723
3116
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2724
3117
<td>value for the first property, followed optionally by more
2725
 
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>
2726
3119
</td>
2727
3120
</tr>
2728
3121
</tbody>
2732
3125
<div class="refsect2">
2733
3126
<a name="g-object-get-valist"></a><h3>g_object_get_valist ()</h3>
2734
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>,
2735
 
                                                         <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>,
2736
3129
                                                         <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
2737
3130
<p>
2738
3131
Gets properties of an object.
2740
3133
<p>
2741
3134
In general, a copy is made of the property contents and the caller
2742
3135
is responsible for freeing the memory in the appropriate manner for
2743
 
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>.
2744
3137
</p>
2745
3138
<p>
2746
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>.
2747
3140
</p>
2748
 
<div class="variablelist"><table border="0">
 
3141
<div class="variablelist"><table border="0" class="variablelist">
 
3142
<colgroup>
2749
3143
<col align="left" valign="top">
 
3144
<col>
 
3145
</colgroup>
2750
3146
<tbody>
2751
3147
<tr>
2752
3148
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2760
3156
<tr>
2761
3157
<td><p><span class="term"><em class="parameter"><code>var_args</code></em> :</span></p></td>
2762
3158
<td>return location for the first property, followed optionally by more
2763
 
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>
2764
3160
</td>
2765
3161
</tr>
2766
3162
</tbody>
2782
3178
<em class="parameter"><code>closure</code></em>.  Usually, this function will be called on closures that
2783
3179
use this <em class="parameter"><code>object</code></em> as closure data.
2784
3180
</p>
2785
 
<div class="variablelist"><table border="0">
 
3181
<div class="variablelist"><table border="0" class="variablelist">
 
3182
<colgroup>
2786
3183
<col align="left" valign="top">
 
3184
<col>
 
3185
</colgroup>
2787
3186
<tbody>
2788
3187
<tr>
2789
3188
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2808
3207
<p>
2809
3208
This functions should only be called from object system implementations.
2810
3209
</p>
2811
 
<div class="variablelist"><table border="0">
 
3210
<div class="variablelist"><table border="0" class="variablelist">
 
3211
<colgroup>
2812
3212
<col align="left" valign="top">
 
3213
<col>
 
3214
</colgroup>
2813
3215
<tbody><tr>
2814
3216
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2815
3217
<td>a <a class="link" href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>
2825
3227
This macro should be used to emit a standard warning about unexpected 
2826
3228
properties in <code class="function">set_property()</code> and <code class="function">get_property()</code> implementations.
2827
3229
</p>
2828
 
<div class="variablelist"><table border="0">
 
3230
<div class="variablelist"><table border="0" class="variablelist">
 
3231
<colgroup>
2829
3232
<col align="left" valign="top">
 
3233
<col>
 
3234
</colgroup>
2830
3235
<tbody>
2831
3236
<tr>
2832
3237
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2851
3256
</pre>
2852
3257
<p>
2853
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
2854
 
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
2855
3260
at least one "strong" reference to that object exists. Before the
2856
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>
2857
 
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>).
2858
3263
</p>
2859
3264
<p>
2860
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
2869
3274
<p>
2870
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
2871
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
2872
 
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
2873
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
2874
3279
re-referenced, they will continue to point to it until its refcount
2875
3280
goes back to zero, at which point they too will be invalidated.
2879
3284
<div class="refsect2">
2880
3285
<a name="g-weak-ref-init"></a><h3>g_weak_ref_init ()</h3>
2881
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>,
2882
 
                                                         <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>
2883
3288
<p>
2884
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>.
2885
3290
</p>
2893
3298
<a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> in static storage because it will already be
2894
3299
properly initialised.  Just use <a class="link" href="gobject-The-Base-Object-Type.html#g-weak-ref-set" title="g_weak_ref_set ()"><code class="function">g_weak_ref_set()</code></a> directly.
2895
3300
</p>
2896
 
<div class="variablelist"><table border="0">
 
3301
<div class="variablelist"><table border="0" class="variablelist">
 
3302
<colgroup>
2897
3303
<col align="left" valign="top">
 
3304
<col>
 
3305
</colgroup>
2898
3306
<tbody>
2899
3307
<tr>
2900
3308
<td><p><span class="term"><em class="parameter"><code>weak_ref</code></em> :</span></p></td>
2904
3312
</tr>
2905
3313
<tr>
2906
3314
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2907
 
<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>
2908
3316
</td>
2909
3317
</tr>
2910
3318
</tbody>
2923
3331
You should only call this on a <a class="link" href="gobject-The-Base-Object-Type.html#GWeakRef" title="GWeakRef"><span class="type">GWeakRef</span></a> that previously had
2924
3332
<a class="link" href="gobject-The-Base-Object-Type.html#g-weak-ref-init" title="g_weak_ref_init ()"><code class="function">g_weak_ref_init()</code></a> called on it.
2925
3333
</p>
2926
 
<div class="variablelist"><table border="0">
 
3334
<div class="variablelist"><table border="0" class="variablelist">
 
3335
<colgroup>
2927
3336
<col align="left" valign="top">
 
3337
<col>
 
3338
</colgroup>
2928
3339
<tbody><tr>
2929
3340
<td><p><span class="term"><em class="parameter"><code>weak_ref</code></em> :</span></p></td>
2930
3341
<td>location of a weak reference, which
2937
3348
<hr>
2938
3349
<div class="refsect2">
2939
3350
<a name="g-weak-ref-get"></a><h3>g_weak_ref_get ()</h3>
2940
 
<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>
2941
3352
<p>
2942
3353
If <em class="parameter"><code>weak_ref</code></em> is not empty, atomically acquire a strong
2943
3354
reference to the object it points to, and return that reference.
2951
3362
The caller should release the resulting reference in the usual way,
2952
3363
by using <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>.
2953
3364
</p>
2954
 
<div class="variablelist"><table border="0">
 
3365
<div class="variablelist"><table border="0" class="variablelist">
 
3366
<colgroup>
2955
3367
<col align="left" valign="top">
 
3368
<col>
 
3369
</colgroup>
2956
3370
<tbody>
2957
3371
<tr>
2958
3372
<td><p><span class="term"><em class="parameter"><code>weak_ref</code></em> :</span></p></td>
2962
3376
<tr>
2963
3377
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
2964
3378
<td>the object pointed to
2965
 
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>
2966
3380
</td>
2967
3381
</tr>
2968
3382
</tbody>
2973
3387
<div class="refsect2">
2974
3388
<a name="g-weak-ref-set"></a><h3>g_weak_ref_set ()</h3>
2975
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>,
2976
 
                                                         <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>
2977
3391
<p>
2978
3392
Change the object to which <em class="parameter"><code>weak_ref</code></em> points, or set it to
2979
 
<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>.
2980
3394
</p>
2981
3395
<p>
2982
3396
You must own a strong reference on <em class="parameter"><code>object</code></em> while calling this
2983
3397
function.
2984
3398
</p>
2985
 
<div class="variablelist"><table border="0">
 
3399
<div class="variablelist"><table border="0" class="variablelist">
 
3400
<colgroup>
2986
3401
<col align="left" valign="top">
 
3402
<col>
 
3403
</colgroup>
2987
3404
<tbody>
2988
3405
<tr>
2989
3406
<td><p><span class="term"><em class="parameter"><code>weak_ref</code></em> :</span></p></td>
2991
3408
</tr>
2992
3409
<tr>
2993
3410
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
2994
 
<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>
2995
3412
</td>
2996
3413
</tr>
2997
3414
</tbody>
3005
3422
<a name="GObject-notify"></a><h3>The <code class="literal">"notify"</code> signal</h3>
3006
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,
3007
3424
                                                        <a class="link" href="gobject-GParamSpec.html#GParamSpec" title="struct GParamSpec"><span class="type">GParamSpec</span></a> *pspec,
3008
 
                                                        <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>
3009
3426
<p>
3010
3427
The notify signal is emitted on an object when one of its
3011
3428
properties has been changed. Note that getting this signal
3018
3435
single property, by specifying the property name as a detail in the
3019
3436
<a class="link" href="gobject-Signals.html#g-signal-connect" title="g_signal_connect()"><code class="function">g_signal_connect()</code></a> call, like this:
3020
3437
</p>
3021
 
<div class="informalexample"><pre class="programlisting">
3022
 
g_signal_connect (text_view-&gt;buffer, "notify::paste-target-list",
3023
 
                  G_CALLBACK (gtk_text_view_target_list_notify),
3024
 
                  text_view)
3025
 
</pre></div>
 
3438
<div class="informalexample">
 
3439
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
 
3440
    <tbody>
 
3441
      <tr>
 
3442
        <td class="listing_lines" align="right"><pre>1
 
3443
2
 
3444
3</pre></td>
 
3445
        <td class="listing_code"><pre class="programlisting"><span class="preproc">g_signal_connect</span> (text_view-&gt;buffer, <span class="number">&quot;notify::paste-target-list&quot;</span>,
 
3446
                  <span class="preproc">G_CALLBACK</span> (gtk_text_view_target_list_notify),
 
3447
                  text_view)</pre></td>
 
3448
      </tr>
 
3449
    </tbody>
 
3450
  </table>
 
3451
</div>
 
3452
 
3026
3453
<p>
3027
3454
It is important to note that you must use
3028
3455
<a class="link" href="gobject-GParamSpec.html#canonical-parameter-name">canonical</a> parameter names as
3029
3456
detail strings for the notify signal.
3030
3457
</p>
3031
 
<div class="variablelist"><table border="0">
 
3458
<div class="variablelist"><table border="0" class="variablelist">
 
3459
<colgroup>
3032
3460
<col align="left" valign="top">
 
3461
<col>
 
3462
</colgroup>
3033
3463
<tbody>
3034
3464
<tr>
3035
3465
<td><p><span class="term"><em class="parameter"><code>gobject</code></em> :</span></p></td>
3054
3484
</div>
3055
3485
<div class="footer">
3056
3486
<hr>
3057
 
          Generated by GTK-Doc V1.18</div>
 
3487
          Generated by GTK-Doc V1.18.1</div>
3058
3488
</body>
3059
3489
</html>
 
 
b'\\ No newline at end of file'