|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /usr/share/gtk-doc/html/gobject/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>GParamSpec</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
<link rel="start" href="index.html" title="GObject Reference Manual">
<link rel="up" href="rn01.html" title="API Reference">
<link rel="prev" href="gobject-Varargs-Value-Collection.html" title="Varargs Value Collection">
<link rel="next" href="gobject-Signals.html" title="Signals">
<meta name="generator" content="GTK-Doc V1.6 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="preface" href="pr01.html" title="Introduction">
<link rel="part" href="pt01.html" title="Part I. Concepts">
<link rel="chapter" href="ch01.html" title="Background">
<link rel="chapter" href="ch02.html" title="The Glib Dynamic Type System">
<link rel="chapter" href="chapter-gobject.html" title="The GObject base class">
<link rel="chapter" href="chapter-signal.html" title="The GObject messaging system">
<link rel="reference" href="rn01.html" title="API Reference">
<link rel="reference" href="rn02.html" title="Tools Reference">
<link rel="part" href="pt02.html" title="Part IV. Tutorial">
<link rel="chapter" href="howto-gobject.html" title="How To define and implement a new GObject?">
<link rel="chapter" href="howto-interface.html" title="How To define and implement Interfaces?">
<link rel="chapter" href="howto-signals.html" title="Howto create and use signals">
<link rel="part" href="pt03.html" title="Part V. Related Tools">
<link rel="chapter" href="tools-gob.html" title="GObject builder">
<link rel="chapter" href="tools-ginspector.html" title="Graphical inspection of Gobjects">
<link rel="chapter" href="tools-refdb.html" title="Debugging reference count problems">
<link rel="chapter" href="tools-gtkdoc.html" title="Writing API docs">
<link rel="index" href="ix01.html" title="Index">
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
<link rel="index" href="ix03.html" title="Index of new symbols in 2.2">
<link rel="index" href="ix04.html" title="Index of new symbols in 2.4">
<link rel="index" href="ix05.html" title="Index of new symbols in 2.6">
<link rel="index" href="ix06.html" title="Index of new symbols in 2.8">
<link rel="index" href="ix07.html" title="Index of new symbols in 2.10">
<link rel="index" href="ix08.html" title="Index of new symbols in 2.12">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gobject-Varargs-Value-Collection.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="rn01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GObject Reference Manual</th>
<td><a accesskey="n" href="gobject-Signals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2742834" class="shortcut">Top</a>
 | 
<a href="#id2744940" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="gobject-GParamSpec"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id2742834"></a><span class="refentrytitle">GParamSpec</span>
</h2>
<p>GParamSpec — Metadata for parameter specifications</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
#include <glib-object.h>
#define <a href="gobject-GParamSpec.html#G-TYPE-IS-PARAM:CAPS">G_TYPE_IS_PARAM</a> (type)
#define <a href="gobject-GParamSpec.html#G-PARAM-SPEC:CAPS">G_PARAM_SPEC</a> (pspec)
#define <a href="gobject-GParamSpec.html#G-IS-PARAM-SPEC:CAPS">G_IS_PARAM_SPEC</a> (pspec)
#define <a href="gobject-GParamSpec.html#G-PARAM-SPEC-CLASS:CAPS">G_PARAM_SPEC_CLASS</a> (pclass)
#define <a href="gobject-GParamSpec.html#G-IS-PARAM-SPEC-CLASS:CAPS">G_IS_PARAM_SPEC_CLASS</a> (pclass)
#define <a href="gobject-GParamSpec.html#G-PARAM-SPEC-GET-CLASS:CAPS">G_PARAM_SPEC_GET_CLASS</a> (pspec)
#define <a href="gobject-GParamSpec.html#G-PARAM-SPEC-TYPE:CAPS">G_PARAM_SPEC_TYPE</a> (pspec)
#define <a href="gobject-GParamSpec.html#G-PARAM-SPEC-TYPE-NAME:CAPS">G_PARAM_SPEC_TYPE_NAME</a> (pspec)
#define <a href="gobject-GParamSpec.html#G-PARAM-SPEC-VALUE-TYPE:CAPS">G_PARAM_SPEC_VALUE_TYPE</a> (pspec)
<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>;
<a href="gobject-GParamSpec.html#GParamSpecClass">GParamSpecClass</a>;
enum <a href="gobject-GParamSpec.html#GParamFlags">GParamFlags</a>;
#define <a href="gobject-GParamSpec.html#G-PARAM-READWRITE:CAPS">G_PARAM_READWRITE</a>
#define <a href="gobject-GParamSpec.html#G-PARAM-MASK:CAPS">G_PARAM_MASK</a>
#define <a href="gobject-GParamSpec.html#G-PARAM-USER-SHIFT:CAPS">G_PARAM_USER_SHIFT</a>
<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* <a href="gobject-GParamSpec.html#g-param-spec-ref">g_param_spec_ref</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
void <a href="gobject-GParamSpec.html#g-param-spec-unref">g_param_spec_unref</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
void <a href="gobject-GParamSpec.html#g-param-spec-sink">g_param_spec_sink</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* <a href="gobject-GParamSpec.html#g-param-spec-ref-sink">g_param_spec_ref_sink</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
void <a href="gobject-GParamSpec.html#g-param-value-set-default">g_param_value_set_default</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a href="gobject-Generic-values.html#GValue">GValue</a> *value);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gobject-GParamSpec.html#g-param-value-defaults">g_param_value_defaults</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a href="gobject-Generic-values.html#GValue">GValue</a> *value);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gobject-GParamSpec.html#g-param-value-validate">g_param_value_validate</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a href="gobject-Generic-values.html#GValue">GValue</a> *value);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> <a href="gobject-GParamSpec.html#g-param-value-convert">g_param_value_convert</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
const <a href="gobject-Generic-values.html#GValue">GValue</a> *src_value,
<a href="gobject-Generic-values.html#GValue">GValue</a> *dest_value,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> strict_validation);
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> <a href="gobject-GParamSpec.html#g-param-values-cmp">g_param_values_cmp</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
const <a href="gobject-Generic-values.html#GValue">GValue</a> *value1,
const <a href="gobject-Generic-values.html#GValue">GValue</a> *value2);
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>* <a href="gobject-GParamSpec.html#g-param-spec-get-name">g_param_spec_get_name</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>* <a href="gobject-GParamSpec.html#g-param-spec-get-nick">g_param_spec_get_nick</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>* <a href="gobject-GParamSpec.html#g-param-spec-get-blurb">g_param_spec_get_blurb</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> <a href="gobject-GParamSpec.html#g-param-spec-get-qdata">g_param_spec_get_qdata</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a
href="../glib/glib-Quarks.html#GQuark"
>GQuark</a> quark);
void <a href="gobject-GParamSpec.html#g-param-spec-set-qdata">g_param_spec_set_qdata</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a
href="../glib/glib-Quarks.html#GQuark"
>GQuark</a> quark,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> data);
void <a href="gobject-GParamSpec.html#g-param-spec-set-qdata-full">g_param_spec_set_qdata_full</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a
href="../glib/glib-Quarks.html#GQuark"
>GQuark</a> quark,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> data,
<a
href="../glib/glib-Datasets.html#GDestroyNotify"
>GDestroyNotify</a> destroy);
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> <a href="gobject-GParamSpec.html#g-param-spec-steal-qdata">g_param_spec_steal_qdata</a> (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a
href="../glib/glib-Quarks.html#GQuark"
>GQuark</a> quark);
<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* <a href="gobject-GParamSpec.html#g-param-spec-get-redirect-target">g_param_spec_get_redirect_target</a>
(<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> <a href="gobject-GParamSpec.html#g-param-spec-internal">g_param_spec_internal</a> (<a href="gobject-Type-Information.html#GType">GType</a> param_type,
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *name,
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *nick,
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *blurb,
<a href="gobject-GParamSpec.html#GParamFlags">GParamFlags</a> flags);
<a href="gobject-GParamSpec.html#GParamSpecTypeInfo">GParamSpecTypeInfo</a>;
<a href="gobject-Type-Information.html#GType">GType</a> <a href="gobject-GParamSpec.html#g-param-type-register-static">g_param_type_register_static</a> (const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *name,
const <a href="gobject-GParamSpec.html#GParamSpecTypeInfo">GParamSpecTypeInfo</a> *pspec_info);
<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a>;
<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a>* <a href="gobject-GParamSpec.html#g-param-spec-pool-new">g_param_spec_pool_new</a> (<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> type_prefixing);
void <a href="gobject-GParamSpec.html#g-param-spec-pool-insert">g_param_spec_pool_insert</a> (<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a> *pool,
<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a href="gobject-Type-Information.html#GType">GType</a> owner_type);
void <a href="gobject-GParamSpec.html#g-param-spec-pool-remove">g_param_spec_pool_remove</a> (<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a> *pool,
<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);
<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* <a href="gobject-GParamSpec.html#g-param-spec-pool-lookup">g_param_spec_pool_lookup</a> (<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a> *pool,
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *param_name,
<a href="gobject-Type-Information.html#GType">GType</a> owner_type,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> walk_ancestors);
<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>** <a href="gobject-GParamSpec.html#g-param-spec-pool-list">g_param_spec_pool_list</a> (<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a> *pool,
<a href="gobject-Type-Information.html#GType">GType</a> owner_type,
<a
href="../glib/glib-Basic-Types.html#guint"
>guint</a> *n_pspecs_p);
<a
href="../glib/glib-Doubly-Linked-Lists.html#GList"
>GList</a>* <a href="gobject-GParamSpec.html#g-param-spec-pool-list-owned">g_param_spec_pool_list_owned</a> (<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a> *pool,
<a href="gobject-Type-Information.html#GType">GType</a> owner_type);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2744940"></a><h2>Description</h2>
<p>
<a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> is an object structure that encapsulates the metadata
required to specify parameters, such as e.g. <a href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> properties.
</p>
<p>
Parameter names need to start with a letter (a-z or A-Z). Subsequent
characters can be letters, numbers or a '-'.
All other characters are replaced by a '-' during construction.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2744978"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2744988"></a><h3>
<a name="G-TYPE-IS-PARAM:CAPS"></a>G_TYPE_IS_PARAM()</h3>
<a class="indexterm" name="id2745002"></a><pre class="programlisting">#define G_TYPE_IS_PARAM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_PARAM)
</pre>
<p>
Returns whether <em class="parameter"><code>type</code></em> "is a" <a href="gobject-Type-Information.html#G-TYPE-PARAM:CAPS"><code class="literal">G_TYPE_PARAM</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>type</code></em> :</span></td>
<td>a <a href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> ID
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2745060"></a><h3>
<a name="G-PARAM-SPEC:CAPS"></a>G_PARAM_SPEC()</h3>
<a class="indexterm" name="id2745073"></a><pre class="programlisting">#define G_PARAM_SPEC(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
</pre>
<p>
Casts a derived <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> object (e.g. of type <a href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecInt"><span class="type">GParamSpecInt</span></a>) into
a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> object.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2745140"></a><h3>
<a name="G-IS-PARAM-SPEC:CAPS"></a>G_IS_PARAM_SPEC()</h3>
<a class="indexterm" name="id2745154"></a><pre class="programlisting">#define G_IS_PARAM_SPEC(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM))
</pre>
<p>
Checks whether <em class="parameter"><code>pspec</code></em> "is a" valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> structure of type <a href="gobject-Type-Information.html#G-TYPE-PARAM:CAPS"><code class="literal">G_TYPE_PARAM</code></a>
or derived.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2745221"></a><h3>
<a name="G-PARAM-SPEC-CLASS:CAPS"></a>G_PARAM_SPEC_CLASS()</h3>
<a class="indexterm" name="id2745234"></a><pre class="programlisting">#define G_PARAM_SPEC_CLASS(pclass) (G_TYPE_CHECK_CLASS_CAST ((pclass), G_TYPE_PARAM, GParamSpecClass))
</pre>
<p>
Casts a derived <a href="gobject-GParamSpec.html#GParamSpecClass"><span class="type">GParamSpecClass</span></a> structure into a <a href="gobject-GParamSpec.html#GParamSpecClass"><span class="type">GParamSpecClass</span></a> structure.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>pclass</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpecClass"><span class="type">GParamSpecClass</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2745294"></a><h3>
<a name="G-IS-PARAM-SPEC-CLASS:CAPS"></a>G_IS_PARAM_SPEC_CLASS()</h3>
<a class="indexterm" name="id2745308"></a><pre class="programlisting">#define G_IS_PARAM_SPEC_CLASS(pclass) (G_TYPE_CHECK_CLASS_TYPE ((pclass), G_TYPE_PARAM))
</pre>
<p>
Checks whether <em class="parameter"><code>pclass</code></em> "is a" valid <a href="gobject-GParamSpec.html#GParamSpecClass"><span class="type">GParamSpecClass</span></a> structure of type
<a href="gobject-Type-Information.html#G-TYPE-PARAM:CAPS"><code class="literal">G_TYPE_PARAM</code></a> or derived.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>pclass</code></em> :</span></td>
<td>a <a href="gobject-GParamSpec.html#GParamSpecClass"><span class="type">GParamSpecClass</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2745376"></a><h3>
<a name="G-PARAM-SPEC-GET-CLASS:CAPS"></a>G_PARAM_SPEC_GET_CLASS()</h3>
<a class="indexterm" name="id2745389"></a><pre class="programlisting">#define G_PARAM_SPEC_GET_CLASS(pspec) (G_TYPE_INSTANCE_GET_CLASS ((pspec), G_TYPE_PARAM, GParamSpecClass))
</pre>
<p>
Retrieves the <a href="gobject-GParamSpec.html#GParamSpecClass"><span class="type">GParamSpecClass</span></a> of a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2745448"></a><h3>
<a name="G-PARAM-SPEC-TYPE:CAPS"></a>G_PARAM_SPEC_TYPE()</h3>
<a class="indexterm" name="id2745462"></a><pre class="programlisting">#define G_PARAM_SPEC_TYPE(pspec) (G_TYPE_FROM_INSTANCE (pspec))
</pre>
<p>
Retrieves the <a href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of this <em class="parameter"><code>pspec</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2745518"></a><h3>
<a name="G-PARAM-SPEC-TYPE-NAME:CAPS"></a>G_PARAM_SPEC_TYPE_NAME()</h3>
<a class="indexterm" name="id2745531"></a><pre class="programlisting">#define G_PARAM_SPEC_TYPE_NAME(pspec) (g_type_name (G_PARAM_SPEC_TYPE (pspec)))
</pre>
<p>
Retrieves the <a href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> name of this <em class="parameter"><code>pspec</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2745587"></a><h3>
<a name="G-PARAM-SPEC-VALUE-TYPE:CAPS"></a>G_PARAM_SPEC_VALUE_TYPE()</h3>
<a class="indexterm" name="id2745602"></a><pre class="programlisting">#define G_PARAM_SPEC_VALUE_TYPE(pspec) (G_PARAM_SPEC (pspec)->value_type)
</pre>
<p>
Retrieves the <a href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> to initialize a <a href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> for this parameter.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2745661"></a><h3>
<a name="GParamSpec"></a>GParamSpec</h3>
<a class="indexterm" name="id2745673"></a><pre class="programlisting">typedef struct {
GTypeInstance g_type_instance;
gchar *name;
GParamFlags flags;
GType value_type;
GType owner_type; /* class or interface using this property */
} GParamSpec;
</pre>
<p>
All fields of the <span class="structname">GParamSpec</span> struct are private and
should not be used directly, except for the following:
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><a href="gobject-Type-Information.html#GTypeInstance">GTypeInstance</a> <em class="structfield"><code>g_type_instance</code></em>;</span></td>
<td>private <a href="gobject-Type-Information.html#GTypeInstance"><span class="type">GTypeInstance</span></a> portion
</td>
</tr>
<tr>
<td>
<span class="term"><a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *<em class="structfield"><code>name</code></em>;</span></td>
<td> name of this parameter
</td>
</tr>
<tr>
<td>
<span class="term"><a href="gobject-GParamSpec.html#GParamFlags">GParamFlags</a> <em class="structfield"><code>flags</code></em>;</span></td>
<td> <a href="gobject-GParamSpec.html#GParamFlags"><span class="type">GParamFlags</span></a> flags for this parameter
</td>
</tr>
<tr>
<td>
<span class="term"><a href="gobject-Type-Information.html#GType">GType</a> <em class="structfield"><code>value_type</code></em>;</span></td>
<td> the <a href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type for this parameter
</td>
</tr>
<tr>
<td>
<span class="term"><a href="gobject-Type-Information.html#GType">GType</a> <em class="structfield"><code>owner_type</code></em>;</span></td>
<td> <a href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> type that uses (introduces) this paremeter
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2745836"></a><h3>
<a name="GParamSpecClass"></a>GParamSpecClass</h3>
<a class="indexterm" name="id2745848"></a><pre class="programlisting">typedef struct {
GTypeClass g_type_class;
GType value_type;
void (*finalize) (GParamSpec *pspec);
/* GParam methods */
void (*value_set_default) (GParamSpec *pspec,
GValue *value);
gboolean (*value_validate) (GParamSpec *pspec,
GValue *value);
gint (*values_cmp) (GParamSpec *pspec,
const GValue *value1,
const GValue *value2);
} GParamSpecClass;
</pre>
<p>
The class structure for the <span class="structname">GParamSpec</span> type.
Normally, <span class="structname">GParamSpec</span> classes are filled by
<a href="gobject-GParamSpec.html#g-param-type-register-static"><code class="function">g_param_type_register_static()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><a href="gobject-Type-Information.html#GTypeClass">GTypeClass</a> <em class="structfield"><code>g_type_class</code></em>;</span></td>
<td>the parent class
</td>
</tr>
<tr>
<td>
<span class="term"><a href="gobject-Type-Information.html#GType">GType</a> <em class="structfield"><code>value_type</code></em>;</span></td>
<td>the <a href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> type for this parameter
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>finalize</code></em> ()</span></td>
<td>The instance finalization function (optional), should chain
up to the finalize method of the parent class.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>value_set_default</code></em> ()</span></td>
<td>Resets a <em class="parameter"><code>value</code></em> to the default value for this type
(recommended, the default is <a href="gobject-Generic-values.html#g-value-reset"><code class="function">g_value_reset()</code></a>), see
<a href="gobject-GParamSpec.html#g-param-value-set-default"><code class="function">g_param_value_set_default()</code></a>.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>value_validate</code></em> ()</span></td>
<td>Ensures that the contents of <em class="parameter"><code>value</code></em> comply with the
specifications set out by this type (optional), see
<code class="function">g_param_value_set_validate()</code>.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>values_cmp</code></em> ()</span></td>
<td>Compares <em class="parameter"><code>value1</code></em> with <em class="parameter"><code>value2</code></em> according to this type
(recommended, the default is <code class="function">memcmp()</code>), see <a href="gobject-GParamSpec.html#g-param-values-cmp"><code class="function">g_param_values_cmp()</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2746084"></a><h3>
<a name="GParamFlags"></a>enum GParamFlags</h3>
<a class="indexterm" name="id2746096"></a><pre class="programlisting">typedef enum
{
G_PARAM_READABLE = 1 << 0,
G_PARAM_WRITABLE = 1 << 1,
G_PARAM_CONSTRUCT = 1 << 2,
G_PARAM_CONSTRUCT_ONLY = 1 << 3,
G_PARAM_LAX_VALIDATION = 1 << 4,
G_PARAM_STATIC_NAME = 1 << 5,
#ifndef G_DISABLE_DEPRECATED
G_PARAM_PRIVATE = G_PARAM_STATIC_NAME,
#endif
G_PARAM_STATIC_NICK = 1 << 6,
G_PARAM_STATIC_BLURB = 1 << 7
} GParamFlags;
</pre>
<p>
Through the <a href="gobject-GParamSpec.html#GParamFlags"><span class="type">GParamFlags</span></a> flag values, certain aspects of parameters
can be configured.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><a name="G-PARAM-READABLE:CAPS"></a><code class="literal">G_PARAM_READABLE</code></span></td>
<td> the parameter is readable
</td>
</tr>
<tr>
<td>
<span class="term"><a name="G-PARAM-WRITABLE:CAPS"></a><code class="literal">G_PARAM_WRITABLE</code></span></td>
<td> the parameter is writable
</td>
</tr>
<tr>
<td>
<span class="term"><a name="G-PARAM-CONSTRUCT:CAPS"></a><code class="literal">G_PARAM_CONSTRUCT</code></span></td>
<td> the parameter will be set upon object construction
</td>
</tr>
<tr>
<td>
<span class="term"><a name="G-PARAM-CONSTRUCT-ONLY:CAPS"></a><code class="literal">G_PARAM_CONSTRUCT_ONLY</code></span></td>
<td>the parameter will only be set upon object construction
</td>
</tr>
<tr>
<td>
<span class="term"><a name="G-PARAM-LAX-VALIDATION:CAPS"></a><code class="literal">G_PARAM_LAX_VALIDATION</code></span></td>
<td>upon parameter conversion (see <a href="gobject-GParamSpec.html#g-param-value-convert"><code class="function">g_param_value_convert()</code></a>)
strict validation is not required
</td>
</tr>
<tr>
<td>
<span class="term"><a name="G-PARAM-STATIC-NAME:CAPS"></a><code class="literal">G_PARAM_STATIC_NAME</code></span></td>
<td> the string used as name when constructing the
parameter is guaranteed to remain valid and
unmodified for the lifetime of the parameter.
Since 2.8
</td>
</tr>
<tr>
<td>
<span class="term"><a name="G-PARAM-STATIC-BLURB:CAPS"></a><code class="literal">G_PARAM_STATIC_BLURB</code></span></td>
<td> the string used as blurb when constructing the
parameter is guaranteed to remain valid and
unmodified for the lifetime of the parameter.
Since 2.8
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2746317"></a><h3>
<a name="G-PARAM-READWRITE:CAPS"></a>G_PARAM_READWRITE</h3>
<a class="indexterm" name="id2746330"></a><pre class="programlisting">#define G_PARAM_READWRITE (G_PARAM_READABLE | G_PARAM_WRITABLE)
</pre>
<p>
<a href="gobject-GParamSpec.html#GParamFlags"><span class="type">GParamFlags</span></a> value alias for <a href="gobject-GParamSpec.html#G-PARAM-READABLE:CAPS"><code class="literal">G_PARAM_READABLE</code></a> | <a href="gobject-GParamSpec.html#G-PARAM-WRITABLE:CAPS"><code class="literal">G_PARAM_WRITABLE</code></a>.
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2746378"></a><h3>
<a name="G-PARAM-MASK:CAPS"></a>G_PARAM_MASK</h3>
<a class="indexterm" name="id2746390"></a><pre class="programlisting">#define G_PARAM_MASK (0x000000ff)
</pre>
<p>
Mask containing the bits of <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>.flags which are reserved for GLib.
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2746415"></a><h3>
<a name="G-PARAM-USER-SHIFT:CAPS"></a>G_PARAM_USER_SHIFT</h3>
<a class="indexterm" name="id2746428"></a><pre class="programlisting">#define G_PARAM_USER_SHIFT (8)
</pre>
<p>
Minimum shift count to be used for user defined flags, to be stored in
<a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>.flags.
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2746453"></a><h3>
<a name="g-param-spec-ref"></a>g_param_spec_ref ()</h3>
<a class="indexterm" name="id2746465"></a><pre class="programlisting"><a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* g_param_spec_ref (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
<p>
Increments the reference count of <em class="parameter"><code>pspec</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td> a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>the <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> that was passed into this function
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2746544"></a><h3>
<a name="g-param-spec-unref"></a>g_param_spec_unref ()</h3>
<a class="indexterm" name="id2746557"></a><pre class="programlisting">void g_param_spec_unref (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
<p>
Decrements the reference count of a <em class="parameter"><code>pspec</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2746617"></a><h3>
<a name="g-param-spec-sink"></a>g_param_spec_sink ()</h3>
<a class="indexterm" name="id2746631"></a><pre class="programlisting">void g_param_spec_sink (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
<p>
The initial reference count of a newly created <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> is 1, even
though no one has explicitly called <a href="gobject-GParamSpec.html#g-param-spec-ref"><code class="function">g_param_spec_ref()</code></a> on it yet. So the
initial reference count is flagged as "floating", until someone calls
<code class="literal">g_param_spec_ref (pspec); g_param_spec_sink (pspec);</code>
in sequence on it, taking over the initial reference count (thus
ending up with a <em class="parameter"><code>pspec</code></em> that has a reference count of 1 still, but is
not flagged "floating" anymore).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2746721"></a><h3>
<a name="g-param-spec-ref-sink"></a>g_param_spec_ref_sink ()</h3>
<a class="indexterm" name="id2746736"></a><pre class="programlisting"><a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* g_param_spec_ref_sink (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
<p>
Convenience function to ref and sink a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>the <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> that was passed into this function
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.10
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2746823"></a><h3>
<a name="g-param-value-set-default"></a>g_param_value_set_default ()</h3>
<a class="indexterm" name="id2746836"></a><pre class="programlisting">void g_param_value_set_default (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a href="gobject-Generic-values.html#GValue">GValue</a> *value);</pre>
<p>
Sets <em class="parameter"><code>value</code></em> to its default value as specified in <em class="parameter"><code>pspec</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>value</code></em> :</span></td>
<td>a <a href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of correct type for <em class="parameter"><code>pspec</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2746937"></a><h3>
<a name="g-param-value-defaults"></a>g_param_value_defaults ()</h3>
<a class="indexterm" name="id2746951"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> g_param_value_defaults (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a href="gobject-Generic-values.html#GValue">GValue</a> *value);</pre>
<p>
Checks whether <em class="parameter"><code>value</code></em> contains the default value as specified in <em class="parameter"><code>pspec</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td> a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>value</code></em> :</span></td>
<td> a <a href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of correct type for <em class="parameter"><code>pspec</code></em>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>whether <em class="parameter"><code>value</code></em> contains the canonical defualt for this <em class="parameter"><code>pspec</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2747076"></a><h3>
<a name="g-param-value-validate"></a>g_param_value_validate ()</h3>
<a class="indexterm" name="id2747089"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> g_param_value_validate (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a href="gobject-Generic-values.html#GValue">GValue</a> *value);</pre>
<p>
Ensures that the contents of <em class="parameter"><code>value</code></em> comply with the specifications
set out by <em class="parameter"><code>pspec</code></em>. For example, a <a href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecInt"><span class="type">GParamSpecInt</span></a> might require
that integers stored in <em class="parameter"><code>value</code></em> may not be smaller than -42 and not be
greater than +42. If <em class="parameter"><code>value</code></em> contains an integer outside of this range,
it is modified accordingly, so the resulting value will fit into the
range -42 .. +42.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td> a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>value</code></em> :</span></td>
<td> a <a href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of correct type for <em class="parameter"><code>pspec</code></em>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>whether modifying <em class="parameter"><code>value</code></em> was necessary to ensure validity
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2747233"></a><h3>
<a name="g-param-value-convert"></a>g_param_value_convert ()</h3>
<a class="indexterm" name="id2747246"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> g_param_value_convert (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
const <a href="gobject-Generic-values.html#GValue">GValue</a> *src_value,
<a href="gobject-Generic-values.html#GValue">GValue</a> *dest_value,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> strict_validation);</pre>
<p>
Transforms <em class="parameter"><code>src_value</code></em> into <em class="parameter"><code>dest_value</code></em> if possible, and then validates
<em class="parameter"><code>dest_value</code></em>, in order for it to conform to <em class="parameter"><code>pspec</code></em>.
If <em class="parameter"><code>strict_validation</code></em> is <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> this function will only succeed if
the transformed <em class="parameter"><code>dest_value</code></em> complied to <em class="parameter"><code>pspec</code></em> without modifications.
See also <a href="gobject-Generic-values.html#g-value-type-transformable"><code class="function">g_value_type_transformable()</code></a>, <a href="gobject-Generic-values.html#g-value-transform"><code class="function">g_value_transform()</code></a> and
<a href="gobject-GParamSpec.html#g-param-value-validate"><code class="function">g_param_value_validate()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td> a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>src_value</code></em> :</span></td>
<td> souce <a href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>dest_value</code></em> :</span></td>
<td> destination <a href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of correct type for <em class="parameter"><code>pspec</code></em>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>strict_validation</code></em> :</span></td>
<td>
<a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> requires <em class="parameter"><code>dest_value</code></em> to conform to <em class="parameter"><code>pspec</code></em> without modifications
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if transformation and validation were successful,
<a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise and <em class="parameter"><code>dest_value</code></em> is left untouched.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2747534"></a><h3>
<a name="g-param-values-cmp"></a>g_param_values_cmp ()</h3>
<a class="indexterm" name="id2747547"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> g_param_values_cmp (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
const <a href="gobject-Generic-values.html#GValue">GValue</a> *value1,
const <a href="gobject-Generic-values.html#GValue">GValue</a> *value2);</pre>
<p>
Compares <em class="parameter"><code>value1</code></em> with <em class="parameter"><code>value2</code></em> according to <em class="parameter"><code>pspec</code></em>, and return -1, 0 or +1,
if <em class="parameter"><code>value1</code></em> is found to be less than, equal to or greater than <em class="parameter"><code>value2</code></em>,
respectively.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td> a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>value1</code></em> :</span></td>
<td> a <a href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of correct type for <em class="parameter"><code>pspec</code></em>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>value2</code></em> :</span></td>
<td> a <a href="gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of correct type for <em class="parameter"><code>pspec</code></em>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>-1, 0 or +1, for a less than, equal to or greater than result
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2747715"></a><h3>
<a name="g-param-spec-get-name"></a>g_param_spec_get_name ()</h3>
<a class="indexterm" name="id2747728"></a><pre class="programlisting">const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>* g_param_spec_get_name (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
<p>
Returns the name of a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>the name of <em class="parameter"><code>pspec</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2747808"></a><h3>
<a name="g-param-spec-get-nick"></a>g_param_spec_get_nick ()</h3>
<a class="indexterm" name="id2747821"></a><pre class="programlisting">const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>* g_param_spec_get_nick (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
<p>
Returns the nickname of a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>the nickname of <em class="parameter"><code>pspec</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2747901"></a><h3>
<a name="g-param-spec-get-blurb"></a>g_param_spec_get_blurb ()</h3>
<a class="indexterm" name="id2747915"></a><pre class="programlisting">const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>* g_param_spec_get_blurb (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
<p>
Returns the short description of a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>the short description of <em class="parameter"><code>pspec</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2747995"></a><h3>
<a name="g-param-spec-get-qdata"></a>g_param_spec_get_qdata ()</h3>
<a class="indexterm" name="id2748008"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> g_param_spec_get_qdata (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a
href="../glib/glib-Quarks.html#GQuark"
>GQuark</a> quark);</pre>
<p>
Gets back user data pointers stored via <a href="gobject-GParamSpec.html#g-param-spec-set-qdata"><code class="function">g_param_spec_set_qdata()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a valid <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>quark</code></em> :</span></td>
<td>a <a
href="../glib/glib-Quarks.html#GQuark"
><span class="type">GQuark</span></a>, naming the user data pointer
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>the user data pointer set, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2748124"></a><h3>
<a name="g-param-spec-set-qdata"></a>g_param_spec_set_qdata ()</h3>
<a class="indexterm" name="id2748138"></a><pre class="programlisting">void g_param_spec_set_qdata (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a
href="../glib/glib-Quarks.html#GQuark"
>GQuark</a> quark,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> data);</pre>
<p>
Sets an opaque, named pointer on a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>. The name is specified
through a <a
href="../glib/glib-Quarks.html#GQuark"
><span class="type">GQuark</span></a> (retrieved e.g. via <a
href="../glib/glib-Quarks.html#g-quark-from-static-string"
><code class="function">g_quark_from_static_string()</code></a>), and
the pointer can be gotten back from the <em class="parameter"><code>pspec</code></em> with <a href="gobject-GParamSpec.html#g-param-spec-get-qdata"><code class="function">g_param_spec_get_qdata()</code></a>.
Setting a previously set user data pointer, overrides (frees)
the old pointer set, using <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> as pointer essentially
removes the data stored.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>the <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> to set store a user data pointer
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>quark</code></em> :</span></td>
<td>a <a
href="../glib/glib-Quarks.html#GQuark"
><span class="type">GQuark</span></a>, naming the user data pointer
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>data</code></em> :</span></td>
<td>an opaque user data pointer
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2748302"></a><h3>
<a name="g-param-spec-set-qdata-full"></a>g_param_spec_set_qdata_full ()</h3>
<a class="indexterm" name="id2748316"></a><pre class="programlisting">void g_param_spec_set_qdata_full (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a
href="../glib/glib-Quarks.html#GQuark"
>GQuark</a> quark,
<a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> data,
<a
href="../glib/glib-Datasets.html#GDestroyNotify"
>GDestroyNotify</a> destroy);</pre>
<p>
This function works like <a href="gobject-GParamSpec.html#g-param-spec-set-qdata"><code class="function">g_param_spec_set_qdata()</code></a>, but in addition,
a <code class="literal">void (*destroy) (gpointer)</code> function may be
specified which is called with <em class="parameter"><code>data</code></em> as argument when the <em class="parameter"><code>pspec</code></em> is
finalized, or the data is being overwritten by a call to
<a href="gobject-GParamSpec.html#g-param-spec-set-qdata"><code class="function">g_param_spec_set_qdata()</code></a> with the same <em class="parameter"><code>quark</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td> the <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> to set store a user data pointer
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>quark</code></em> :</span></td>
<td> a <a
href="../glib/glib-Quarks.html#GQuark"
><span class="type">GQuark</span></a>, naming the user data pointer
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>data</code></em> :</span></td>
<td> an opaque user data pointer
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>destroy</code></em> :</span></td>
<td>function to invoke with <em class="parameter"><code>data</code></em> as argument, when <em class="parameter"><code>data</code></em> needs to
be freed
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2748506"></a><h3>
<a name="g-param-spec-steal-qdata"></a>g_param_spec_steal_qdata ()</h3>
<a class="indexterm" name="id2748519"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> g_param_spec_steal_qdata (<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a
href="../glib/glib-Quarks.html#GQuark"
>GQuark</a> quark);</pre>
<p>
Gets back user data pointers stored via <a href="gobject-GParamSpec.html#g-param-spec-set-qdata"><code class="function">g_param_spec_set_qdata()</code></a> and
removes the <em class="parameter"><code>data</code></em> from <em class="parameter"><code>pspec</code></em> without invoking it's <code class="function">destroy()</code> function
(if any was set).
Usually, calling this function is only required to update
user data pointers with a destroy notifier.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>the <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> to get a stored user data pointer from
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>quark</code></em> :</span></td>
<td>a <a
href="../glib/glib-Quarks.html#GQuark"
><span class="type">GQuark</span></a>, naming the user data pointer
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>the user data pointer set, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2748660"></a><h3>
<a name="g-param-spec-get-redirect-target"></a>g_param_spec_get_redirect_target ()</h3>
<a class="indexterm" name="id2748676"></a><pre class="programlisting"><a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* g_param_spec_get_redirect_target
(<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
<p>
If the paramspec redirects operations to another paramspec,
returns that paramspec. Redirect is used typically for
providing a new implementation of a property in a derived
type while preserving all the properties from the parent
type. Redirection is established by creating a property
of type <a href="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecOverride"><span class="type">GParamSpecOverride</span></a>. See <code class="function">g_object_override_property()</code>
for an example of the use of this capability.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>paramspec to which requests on this paramspec should
be redirected, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if none.
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2748784"></a><h3>
<a name="g-param-spec-internal"></a>g_param_spec_internal ()</h3>
<a class="indexterm" name="id2748797"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> g_param_spec_internal (<a href="gobject-Type-Information.html#GType">GType</a> param_type,
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *name,
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *nick,
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *blurb,
<a href="gobject-GParamSpec.html#GParamFlags">GParamFlags</a> flags);</pre>
<p>
Creates a new <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> instance.
</p>
<p>
A property name consists of segments consisting of ASCII letters and
digits, separated by either the '-' or '_' character. The first
character of a property name must be a letter. Names which violate these
rules lead to undefined behaviour.
</p>
<p>
When creating and looking up a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>, either separator can be used,
but they cannot be mixed. Using '-' is considerably more efficient and in
fact required when using property names as detail strings for signals.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>param_type</code></em> :</span></td>
<td>the <a href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> for the property; must be derived from <a href="gobject-Type-Information.html#G-TYPE-PARAM:CAPS"><span class="type">G_TYPE_PARAM</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em> :</span></td>
<td>the canonical name of the property
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>nick</code></em> :</span></td>
<td>the nickname of the property
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>blurb</code></em> :</span></td>
<td>a short description of the property
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>flags</code></em> :</span></td>
<td>a combination of <a href="gobject-GParamSpec.html#GParamFlags"><span class="type">GParamFlags</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>a newly allocated <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> instance
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2749004"></a><h3>
<a name="GParamSpecTypeInfo"></a>GParamSpecTypeInfo</h3>
<a class="indexterm" name="id2749017"></a><pre class="programlisting">typedef struct {
/* type system portion */
guint16 instance_size; /* obligatory */
guint16 n_preallocs; /* optional */
void (*instance_init) (GParamSpec *pspec); /* optional */
/* class portion */
GType value_type; /* obligatory */
void (*finalize) (GParamSpec *pspec); /* optional */
void (*value_set_default) (GParamSpec *pspec, /* recommended */
GValue *value);
gboolean (*value_validate) (GParamSpec *pspec, /* optional */
GValue *value);
gint (*values_cmp) (GParamSpec *pspec, /* recommended */
const GValue *value1,
const GValue *value2);
} GParamSpecTypeInfo;
</pre>
<p>
This structure is used to provide the type system with the information
required to initialize and destruct (finalize) a parameter's class and
instances thereof.
The initialized structure is passed to the <a href="gobject-GParamSpec.html#g-param-type-register-static"><code class="function">g_param_type_register_static()</code></a>
The type system will perform a deep copy of this structure, so it's memory
does not need to be persistent across invocation of
<a href="gobject-GParamSpec.html#g-param-type-register-static"><code class="function">g_param_type_register_static()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><a
href="../glib/glib-Basic-Types.html#guint16"
>guint16</a> <em class="structfield"><code>instance_size</code></em>;</span></td>
<td>Size of the instance (object) structure.
</td>
</tr>
<tr>
<td>
<span class="term"><a
href="../glib/glib-Basic-Types.html#guint16"
>guint16</a> <em class="structfield"><code>n_preallocs</code></em>;</span></td>
<td>Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the <a
href="../glib/glib-Memory-Slices.html"
>slice allocator</a> now.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>instance_init</code></em> ()</span></td>
<td>Location of the instance initialization function (optional).
</td>
</tr>
<tr>
<td>
<span class="term"><a href="gobject-Type-Information.html#GType">GType</a> <em class="structfield"><code>value_type</code></em>;</span></td>
<td>The <a href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> of values conforming to this <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>finalize</code></em> ()</span></td>
<td>The instance finalization function (optional).
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>value_set_default</code></em> ()</span></td>
<td>Resets a <em class="parameter"><code>value</code></em> to the default value for <em class="parameter"><code>pspec</code></em>
(recommended, the default is <a href="gobject-Generic-values.html#g-value-reset"><code class="function">g_value_reset()</code></a>), see
<a href="gobject-GParamSpec.html#g-param-value-set-default"><code class="function">g_param_value_set_default()</code></a>.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>value_validate</code></em> ()</span></td>
<td>Ensures that the contents of <em class="parameter"><code>value</code></em> comply with the
specifications set out by <em class="parameter"><code>pspec</code></em> (optional), see
<code class="function">g_param_value_set_validate()</code>.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>values_cmp</code></em> ()</span></td>
<td>Compares <em class="parameter"><code>value1</code></em> with <em class="parameter"><code>value2</code></em> according to <em class="parameter"><code>pspec</code></em>
(recommended, the default is <code class="function">memcmp()</code>), see <a href="gobject-GParamSpec.html#g-param-values-cmp"><code class="function">g_param_values_cmp()</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2749334"></a><h3>
<a name="g-param-type-register-static"></a>g_param_type_register_static ()</h3>
<a class="indexterm" name="id2749348"></a><pre class="programlisting"><a href="gobject-Type-Information.html#GType">GType</a> g_param_type_register_static (const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *name,
const <a href="gobject-GParamSpec.html#GParamSpecTypeInfo">GParamSpecTypeInfo</a> *pspec_info);</pre>
<p>
Registers <em class="parameter"><code>name</code></em> as the name of a new static type derived from
<a href="gobject-Type-Information.html#G-TYPE-PARAM:CAPS"><span class="type">G_TYPE_PARAM</span></a>. The type system uses the information contained in the
<a href="gobject-GParamSpec.html#GParamSpecTypeInfo"><span class="type">GParamSpecTypeInfo</span></a> structure pointed to by <em class="parameter"><code>info</code></em> to manage the <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>
type and its instances.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em> :</span></td>
<td>0-terminated string used as the name of the new <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> type.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec_info</code></em> :</span></td>
<td>The <a href="gobject-GParamSpec.html#GParamSpecTypeInfo"><span class="type">GParamSpecTypeInfo</span></a> for this <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> type.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>The new type identifier.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2749491"></a><h3>
<a name="GParamSpecPool"></a>GParamSpecPool</h3>
<a class="indexterm" name="id2749504"></a><pre class="programlisting">typedef struct _GParamSpecPool GParamSpecPool;</pre>
<p>
A <a href="gobject-GParamSpec.html#GParamSpecPool"><span class="type">GParamSpecPool</span></a> maintains a collection of <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>s which can be
quickly accessed by owner and name. The implementation of the <a href="gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> property
system uses such a pool to store the <span class="type">GParamSpecs</span> of the properties all object
types.
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2749557"></a><h3>
<a name="g-param-spec-pool-new"></a>g_param_spec_pool_new ()</h3>
<a class="indexterm" name="id2749571"></a><pre class="programlisting"><a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a>* g_param_spec_pool_new (<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> type_prefixing);</pre>
<p>
Creates a new <a href="gobject-GParamSpec.html#GParamSpecPool"><span class="type">GParamSpecPool</span></a>.
</p>
<p>
If <em class="parameter"><code>type_prefixing</code></em> is <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a>, lookups in the newly created pool will
allow to specify the owner as a colon-separated prefix of the property name,
like "GtkContainer:border-width". This feature is deprecated, so you should
always set <em class="parameter"><code>type_prefixing</code></em> to <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>type_prefixing</code></em> :</span></td>
<td>Whether the pool will support type-prefixed property names.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>a newly allocated <a href="gobject-GParamSpec.html#GParamSpecPool"><span class="type">GParamSpecPool</span></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2749685"></a><h3>
<a name="g-param-spec-pool-insert"></a>g_param_spec_pool_insert ()</h3>
<a class="indexterm" name="id2749698"></a><pre class="programlisting">void g_param_spec_pool_insert (<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a> *pool,
<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec,
<a href="gobject-Type-Information.html#GType">GType</a> owner_type);</pre>
<p>
Inserts a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> in the pool.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pool</code></em> :</span></td>
<td>a <a href="gobject-GParamSpec.html#GParamSpecPool"><span class="type">GParamSpecPool</span></a>.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>the <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> to insert
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>owner_type</code></em> :</span></td>
<td>a <a href="gobject-Type-Information.html#GType"><span class="type">GType</span></a> identifying the owner of <em class="parameter"><code>pspec</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2749826"></a><h3>
<a name="g-param-spec-pool-remove"></a>g_param_spec_pool_remove ()</h3>
<a class="indexterm" name="id2749840"></a><pre class="programlisting">void g_param_spec_pool_remove (<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a> *pool,
<a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a> *pspec);</pre>
<p>
Removes a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> from the pool.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pool</code></em> :</span></td>
<td>a <a href="gobject-GParamSpec.html#GParamSpecPool"><span class="type">GParamSpecPool</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>pspec</code></em> :</span></td>
<td>the <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> to remove
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2749932"></a><h3>
<a name="g-param-spec-pool-lookup"></a>g_param_spec_pool_lookup ()</h3>
<a class="indexterm" name="id2749945"></a><pre class="programlisting"><a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>* g_param_spec_pool_lookup (<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a> *pool,
const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *param_name,
<a href="gobject-Type-Information.html#GType">GType</a> owner_type,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> walk_ancestors);</pre>
<p>
Looks up a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> in the pool.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pool</code></em> :</span></td>
<td>a <a href="gobject-GParamSpec.html#GParamSpecPool"><span class="type">GParamSpecPool</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>param_name</code></em> :</span></td>
<td>the name to look for
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>owner_type</code></em> :</span></td>
<td>the owner to look for
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>walk_ancestors</code></em> :</span></td>
<td>If <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a>, also try to find a <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> with <em class="parameter"><code>param_name</code></em>
owned by an ancestor of <em class="parameter"><code>owner_type</code></em>.
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>The found <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if no matching <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a> was found.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2750141"></a><h3>
<a name="g-param-spec-pool-list"></a>g_param_spec_pool_list ()</h3>
<a class="indexterm" name="id2750155"></a><pre class="programlisting"><a href="gobject-GParamSpec.html#GParamSpec">GParamSpec</a>** g_param_spec_pool_list (<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a> *pool,
<a href="gobject-Type-Information.html#GType">GType</a> owner_type,
<a
href="../glib/glib-Basic-Types.html#guint"
>guint</a> *n_pspecs_p);</pre>
<p>
Gets an array of all <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>s owned by <em class="parameter"><code>owner_type</code></em> in the pool.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pool</code></em> :</span></td>
<td>a <a href="gobject-GParamSpec.html#GParamSpecPool"><span class="type">GParamSpecPool</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>owner_type</code></em> :</span></td>
<td>the owner to look for
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>n_pspecs_p</code></em> :</span></td>
<td>return location for the length of the returned array
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>a newly allocated array containing pointers to all
<a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>s owned by <em class="parameter"><code>owner_type</code></em> in the pool
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2750296"></a><h3>
<a name="g-param-spec-pool-list-owned"></a>g_param_spec_pool_list_owned ()</h3>
<a class="indexterm" name="id2750310"></a><pre class="programlisting"><a
href="../glib/glib-Doubly-Linked-Lists.html#GList"
>GList</a>* g_param_spec_pool_list_owned (<a href="gobject-GParamSpec.html#GParamSpecPool">GParamSpecPool</a> *pool,
<a href="gobject-Type-Information.html#GType">GType</a> owner_type);</pre>
<p>
Gets an <a
href="../glib/glib-Doubly-Linked-Lists.html#GList"
><span class="type">GList</span></a> of all <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>s owned by <em class="parameter"><code>owner_type</code></em> in the pool.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>pool</code></em> :</span></td>
<td>a <a href="gobject-GParamSpec.html#GParamSpecPool"><span class="type">GParamSpecPool</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>owner_type</code></em> :</span></td>
<td>the owner to look for
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td>a <a
href="../glib/glib-Doubly-Linked-Lists.html#GList"
><span class="type">GList</span></a> of all <a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>s owned by <em class="parameter"><code>owner_type</code></em> in
the pool<a href="gobject-GParamSpec.html#GParamSpec"><span class="type">GParamSpec</span></a>s.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id2750454"></a><h2>See Also</h2>
<p>
<a href="gobject-The-Base-Object-Type.html#g-object-class-install-property"><code class="function">g_object_class_install_property()</code></a>, <a href="gobject-The-Base-Object-Type.html#g-object-set"><code class="function">g_object_set()</code></a>, <a href="gobject-The-Base-Object-Type.html#g-object-get"><code class="function">g_object_get()</code></a>,
<a href="gobject-The-Base-Object-Type.html#g-object-set-property"><code class="function">g_object_set_property()</code></a>, <a href="gobject-The-Base-Object-Type.html#g-object-get-property"><code class="function">g_object_get_property()</code></a>, <a href="gobject-Generic-values.html#g-value-register-transform-func"><code class="function">g_value_register_transform_func()</code></a>
</p>
</div>
</div>
</body>
</html>