summaryrefslogtreecommitdiff
path: root/doc/reference/html
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-10-30 16:34:12 -0700
committerAnas Nashif <anas.nashif@intel.com>2012-10-30 16:34:12 -0700
commit7680502dee971654fd425d2c35e843232d91530a (patch)
tree6f677465ea9b10446acef3277e8b3f3ff604d58e /doc/reference/html
downloaddbus-glib-7680502dee971654fd425d2c35e843232d91530a.tar.gz
dbus-glib-7680502dee971654fd425d2c35e843232d91530a.tar.bz2
dbus-glib-7680502dee971654fd425d2c35e843232d91530a.zip
Imported Upstream version 0.100upstream/0.100
Diffstat (limited to 'doc/reference/html')
-rw-r--r--doc/reference/html/ch01.html60
-rw-r--r--doc/reference/html/ch02.html51
-rw-r--r--doc/reference/html/ch03.html33
-rw-r--r--doc/reference/html/dbus-binding-tool.html80
-rw-r--r--doc/reference/html/dbus-glib-dbus-glib-lowlevel.html436
-rw-r--r--doc/reference/html/dbus-glib-dbus-gtype-specialized.html1691
-rw-r--r--doc/reference/html/dbus-glib.devhelp282
-rw-r--r--doc/reference/html/home.pngbin0 -> 654 bytes
-rw-r--r--doc/reference/html/index.html44
-rw-r--r--doc/reference/html/index.sgml75
-rw-r--r--doc/reference/html/left.pngbin0 -> 459 bytes
-rw-r--r--doc/reference/html/right.pngbin0 -> 472 bytes
-rw-r--r--doc/reference/html/style.css266
-rw-r--r--doc/reference/html/up.pngbin0 -> 406 bytes
14 files changed, 2818 insertions, 0 deletions
diff --git a/doc/reference/html/ch01.html b/doc/reference/html/ch01.html
new file mode 100644
index 0000000..9f901fc
--- /dev/null
+++ b/doc/reference/html/ch01.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Introduction</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="up" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="prev" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="next" href="ch02.html" title="API Reference">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</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="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">D-Bus GLib bindings - Reference Manual</th>
+<td><a accesskey="n" href="ch02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="idp268848"></a>Introduction</h2></div></div></div>
+<p>D-Bus is a message bus system, a simple way for applications
+ to talk to one another.</p>
+<p>D-Bus supplies both a system daemon (for events such as "new
+ hardware device added" or "printer queue changed") and a
+ per-user-login-session daemon (for general IPC needs among user
+ applications). Also, the message bus is built on top of a general
+ one-to-one message passing framework, which can be used by any two
+ apps to communicate directly (without going through the message
+ bus daemon). Currently the communicating applications are on one
+ computer, but TCP/IP option is available and remote support
+ planned.</p>
+<p>The D-Bus API isn't finished yet, and the design is by no
+ means set in stone. One of our main goals is for lots of projects
+ to use it, so if you wouldn't use it, by all means mail us and say
+ why - design, licensing, indentation style, we would rather know
+ than not know.</p>
+<p>D-Bus' only <span class="emphasis"><em>required</em></span> dependency is an
+ XML parser (either
+ libxml or expat). D-Bus includes many language bindings to the
+ D-Bus system, if you want to build those. The list of projects
+ using D-Bus is growing and they provide a wealth of examples of
+ using the various APIs to learn from.</p>
+<p>Trying out D-Bus in sample applications is encouraged - we
+ want to get it widely used and tested. It should be working
+ pretty well these days, and when it isn't bug reports are very
+ welcome.</p>
+<p>For more information on D-Bus, see
+ <a class="ulink" href="http://www.freedesktop.org/wiki/Software/dbus" target="_top">
+ http://www.freedesktop.org/wiki/Software/dbus</a>.
+ </p>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/ch02.html b/doc/reference/html/ch02.html
new file mode 100644
index 0000000..0ff5269
--- /dev/null
+++ b/doc/reference/html/ch02.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API Reference</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="up" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="prev" href="ch01.html" title="Introduction">
+<link rel="next" href="dbus-glib-dbus-gtype-specialized.html" title="Specializable GType System">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</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="ch01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">D-Bus GLib bindings - Reference Manual</th>
+<td><a accesskey="n" href="dbus-glib-dbus-gtype-specialized.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="idp270192"></a>API Reference</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="sect1"><a href="ch02.html#api-overview">API for using D-BUS with GLib</a></span></dt>
+<dt>
+<span class="refentrytitle"><a href="dbus-glib-dbus-gtype-specialized.html">Specializable GType System</a></span><span class="refpurpose"> — Specialized GTypes</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="dbus-glib-dbus-glib-lowlevel.html">DBus GLib low level</a></span><span class="refpurpose"> — DBus lower level functions</span>
+</dt>
+</dl></div>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="api-overview"></a>API for using D-BUS with GLib</h2></div></div></div>
+<p>libdbus proper is a low-level API, these GLib bindings wrap
+ libdbus with a much higher-level approach. The higher level
+ approach is possible because GLib defines a main loop, an
+ object/type system, and an out-of-memory handling policy (it exits
+ the program). See <a class="ulink" href="http://www.gtk.org" target="_top">http://www.gtk.org</a> for GLib
+ information.</p>
+<p>To manipulate remote objects, use DBusGProxy. </p>
+</div>
+<span style="color: red">&lt;xi:include&gt;&lt;/xi:include&gt;</span><span style="color: red">&lt;xi:include&gt;&lt;/xi:include&gt;</span><span style="color: red">&lt;xi:include&gt;&lt;/xi:include&gt;</span><span style="color: red">&lt;xi:include&gt;&lt;/xi:include&gt;</span><span style="color: red">&lt;xi:include&gt;&lt;/xi:include&gt;</span><span style="color: red">&lt;xi:include&gt;&lt;/xi:include&gt;</span>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/ch03.html b/doc/reference/html/ch03.html
new file mode 100644
index 0000000..8945a6a
--- /dev/null
+++ b/doc/reference/html/ch03.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Tools Reference</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="up" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="prev" href="dbus-glib-dbus-glib-lowlevel.html" title="DBus GLib low level">
+<link rel="next" href="dbus-binding-tool.html" title="dbus-binding-tool">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</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="dbus-glib-dbus-glib-lowlevel.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">D-Bus GLib bindings - Reference Manual</th>
+<td><a accesskey="n" href="dbus-binding-tool.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="idp4149376"></a>Tools Reference</h2></div></div></div>
+<div class="toc"><dl><dt>
+<span class="refentrytitle"><a href="dbus-binding-tool.html">dbus-binding-tool</a></span><span class="refpurpose"> — C language GLib bindings generation utility</span>
+</dt></dl></div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/dbus-binding-tool.html b/doc/reference/html/dbus-binding-tool.html
new file mode 100644
index 0000000..586dbe6
--- /dev/null
+++ b/doc/reference/html/dbus-binding-tool.html
@@ -0,0 +1,80 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dbus-binding-tool</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="up" href="ch03.html" title="Tools Reference">
+<link rel="prev" href="ch03.html" title="Tools Reference">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</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="ch03.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch03.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">D-Bus GLib bindings - Reference Manual</th>
+<td> </td>
+</tr></table>
+<div class="refentry">
+<a name="dbus-binding-tool"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle">dbus-binding-tool</span></h2>
+<p>dbus-binding-tool — C language GLib bindings generation utility</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="cmdsynopsis"><p>[options...] [files...]</p></div>
+</div>
+<div class="refsect1">
+<a name="idp5164656"></a><h2>Description</h2>
+<p><span class="command"><strong>dbus-binding-tool</strong></span> bla bla bla
+</p>
+</div>
+<div class="refsect1">
+<a name="idp5166176"></a><h2>Invocation</h2>
+<p><span class="command"><strong>dbus-binding-tool</strong></span> bla bla bla
+</p>
+<div class="refsect2">
+<a name="idp5167568"></a><h3>Options</h3>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><code class="option">--mode</code><em class="replaceable"><code>pretty|glib-server|glib-client</code></em></span></p></td>
+<td><p>
+bla bla
+</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="option">--help</code></span></p></td>
+<td><p>
+Print brief help and exit.
+</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="option">--version</code></span></p></td>
+<td><p>
+Print version and exit.
+</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="idp5173200"></a><h2>See also</h2>
+<p><span class="command"><strong>glib-genmarshal</strong></span>(1)
+</p>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/dbus-glib-dbus-glib-lowlevel.html b/doc/reference/html/dbus-glib-dbus-glib-lowlevel.html
new file mode 100644
index 0000000..6bfc7fa
--- /dev/null
+++ b/doc/reference/html/dbus-glib-dbus-glib-lowlevel.html
@@ -0,0 +1,436 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DBus GLib low level</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="up" href="ch02.html" title="API Reference">
+<link rel="prev" href="dbus-glib-dbus-gtype-specialized.html" title="Specializable GType System">
+<link rel="next" href="ch03.html" title="Tools Reference">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</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="dbus-glib-dbus-gtype-specialized.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch02.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">D-Bus GLib bindings - Reference Manual</th>
+<td><a accesskey="n" href="ch03.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#dbus-glib-dbus-glib-lowlevel.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#dbus-glib-dbus-glib-lowlevel.description" class="shortcut">Description</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="dbus-glib-dbus-glib-lowlevel"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="dbus-glib-dbus-glib-lowlevel.top_of_page"></a>DBus GLib low level</span></h2>
+<p>DBus GLib low level — DBus lower level functions</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="dbus-glib-dbus-glib-lowlevel.stability-level"></a><h2>Stability Level</h2>
+Unstable, unless otherwise indicated
+</div>
+<div class="refsynopsisdiv">
+<a name="dbus-glib-dbus-glib-lowlevel.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis">#define <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#DBUS-TYPE-CONNECTION:CAPS" title="DBUS_TYPE_CONNECTION">DBUS_TYPE_CONNECTION</a>
+#define <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#DBUS-TYPE-MESSAGE:CAPS" title="DBUS_TYPE_MESSAGE">DBUS_TYPE_MESSAGE</a>
+<a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="returnvalue">DBusGConnection</span></a> * <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-connection-get-g-connection" title="dbus_connection_get_g_connection ()">dbus_connection_get_g_connection</a> (<em class="parameter"><code><span class="type">DBusConnection</span> *connection</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-connection-get-g-type" title="dbus_connection_get_g_type ()">dbus_connection_get_g_type</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-connection-setup-with-g-main" title="dbus_connection_setup_with_g_main ()">dbus_connection_setup_with_g_main</a> (<em class="parameter"><code><span class="type">DBusConnection</span> *connection</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
+<span class="returnvalue">DBusConnection</span> * <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-g-connection-get-connection" title="dbus_g_connection_get_connection ()">dbus_g_connection_get_connection</a> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="type">DBusGConnection</span></a> *gconnection</code></em>);
+<span class="returnvalue">DBusMessage</span> * <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-g-message-get-message" title="dbus_g_message_get_message ()">dbus_g_message_get_message</a> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMessage.html#DBusGMessage"><span class="type">DBusGMessage</span></a> *gmessage</code></em>);
+<span class="returnvalue">DBusMessage</span> * <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-g-method-get-reply" title="dbus_g_method_get_reply ()">dbus_g_method_get_reply</a> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation"><span class="type">DBusGMethodInvocation</span></a> *context</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-g-method-get-sender" title="dbus_g_method_get_sender ()">dbus_g_method_get_sender</a> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation"><span class="type">DBusGMethodInvocation</span></a> *context</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-g-method-send-reply" title="dbus_g_method_send_reply ()">dbus_g_method_send_reply</a> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation"><span class="type">DBusGMethodInvocation</span></a> *context</code></em>,
+ <em class="parameter"><code><span class="type">DBusMessage</span> *reply</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-g-proxy-send" title="dbus_g_proxy_send ()">dbus_g_proxy_send</a> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGProxy.html#DBusGProxy"><span class="type">DBusGProxy</span></a> *proxy</code></em>,
+ <em class="parameter"><code><span class="type">DBusMessage</span> *message</code></em>,
+ <em class="parameter"><code><span class="type">dbus_uint32_t</span> *client_serial</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-message-get-g-type" title="dbus_message_get_g_type ()">dbus_message_get_g_type</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-server-setup-with-g-main" title="dbus_server_setup_with_g_main ()">dbus_server_setup_with_g_main</a> (<em class="parameter"><code><span class="type">DBusServer</span> *server</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-glib-lowlevel.html#dbus-set-g-error" title="dbus_set_g_error ()">dbus_set_g_error</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **gerror</code></em>,
+ <em class="parameter"><code><span class="type">DBusError</span> *derror</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="dbus-glib-dbus-glib-lowlevel.description"></a><h2>Description</h2>
+<p>
+These functions can be used to access lower level of DBus.
+</p>
+</div>
+<div class="refsect1">
+<a name="dbus-glib-dbus-glib-lowlevel.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="DBUS-TYPE-CONNECTION:CAPS"></a><h3>DBUS_TYPE_CONNECTION</h3>
+<pre class="programlisting">#define DBUS_TYPE_CONNECTION (dbus_connection_get_g_type ())
+</pre>
+<p>
+Expands to a function call returning a boxed <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> representing a
+<span class="type">DBusConnection</span> pointer from libdbus. Not to be confused with
+<a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBUS-TYPE-G-CONNECTION:CAPS"><code class="literal">DBUS_TYPE_G_CONNECTION</code></a>, which you should usually use instead.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the GLib type</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBUS-TYPE-MESSAGE:CAPS"></a><h3>DBUS_TYPE_MESSAGE</h3>
+<pre class="programlisting">#define DBUS_TYPE_MESSAGE (dbus_message_get_g_type ())
+</pre>
+<p>
+Expands to a function call returning a boxed <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> representing a
+<span class="type">DBusMessage</span> pointer from libdbus. Not to be confused with
+<a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMessage.html#DBUS-TYPE-G-MESSAGE:CAPS"><code class="literal">DBUS_TYPE_G_MESSAGE</code></a>, which you should usually use instead.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the GLib type</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-connection-get-g-connection"></a><h3>dbus_connection_get_g_connection ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="returnvalue">DBusGConnection</span></a> * dbus_connection_get_g_connection (<em class="parameter"><code><span class="type">DBusConnection</span> *connection</code></em>);</pre>
+<p>
+Get the <a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="type">DBusGConnection</span></a> corresponding to this <span class="type">DBusConnection</span>. This only
+makes sense if the <span class="type">DBusConnection</span> was originally a <a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="type">DBusGConnection</span></a> that was
+registered with the GLib main loop. The return value does not have its
+refcount incremented.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
+<td>a <span class="type">DBusConnection</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="type">DBusGConnection</span></a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-connection-get-g-type"></a><h3>dbus_connection_get_g_type ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> dbus_connection_get_g_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-connection-setup-with-g-main"></a><h3>dbus_connection_setup_with_g_main ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_connection_setup_with_g_main (<em class="parameter"><code><span class="type">DBusConnection</span> *connection</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
+<p>
+Sets the watch and timeout functions of a <span class="type">DBusConnection</span>
+to integrate the connection with the GLib main loop.
+Pass in <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> unless you're
+doing something specialized.
+</p>
+<p>
+If called twice for the same context, does nothing the second
+time. If called once with context A and once with context B,
+context B replaces context A as the context monitoring the
+connection.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
+<td>the connection</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for default context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-connection-get-connection"></a><h3>dbus_g_connection_get_connection ()</h3>
+<pre class="programlisting"><span class="returnvalue">DBusConnection</span> * dbus_g_connection_get_connection (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="type">DBusGConnection</span></a> *gconnection</code></em>);</pre>
+<p>
+Get the <span class="type">DBusConnection</span> corresponding to this <a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="type">DBusGConnection</span></a>.
+The return value does not have its refcount incremented.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gconnection</code></em> :</span></p></td>
+<td>a <a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#DBusGConnection"><span class="type">DBusGConnection</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td><span class="type">DBusConnection</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-message-get-message"></a><h3>dbus_g_message_get_message ()</h3>
+<pre class="programlisting"><span class="returnvalue">DBusMessage</span> * dbus_g_message_get_message (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMessage.html#DBusGMessage"><span class="type">DBusGMessage</span></a> *gmessage</code></em>);</pre>
+<p>
+Get the <span class="type">DBusMessage</span> corresponding to this <a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMessage.html#DBusGMessage"><span class="type">DBusGMessage</span></a>.
+The return value does not have its refcount incremented.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gmessage</code></em> :</span></p></td>
+<td>a <a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMessage.html#DBusGMessage"><span class="type">DBusGMessage</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td><span class="type">DBusMessage</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-method-get-reply"></a><h3>dbus_g_method_get_reply ()</h3>
+<pre class="programlisting"><span class="returnvalue">DBusMessage</span> * dbus_g_method_get_reply (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation"><span class="type">DBusGMethodInvocation</span></a> *context</code></em>);</pre>
+<p>
+Get the reply message to append reply values
+Used as a sidedoor when you can't generate dbus values
+of the correct type due to glib binding limitations
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the method context</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a <span class="type">DBusMessage</span> with the reply</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-method-get-sender"></a><h3>dbus_g_method_get_sender ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * dbus_g_method_get_sender (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation"><span class="type">DBusGMethodInvocation</span></a> *context</code></em>);</pre>
+<p>
+Get the sender of a message so we can send a
+"reply" later (i.e. send a message directly
+to a service which invoked the method at a
+later time).
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the method context</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the unique name of the sender. It
+is up to the caller to free the returned string.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-method-send-reply"></a><h3>dbus_g_method_send_reply ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_method_send_reply (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGMethod.html#DBusGMethodInvocation"><span class="type">DBusGMethodInvocation</span></a> *context</code></em>,
+ <em class="parameter"><code><span class="type">DBusMessage</span> *reply</code></em>);</pre>
+<p>
+Send a manually created reply message.
+</p>
+<p>
+Used as a sidedoor when you can't generate dbus values
+of the correct type due to glib binding limitations
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the method context</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>reply</code></em> :</span></p></td>
+<td>the reply message, will be unreffed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-proxy-send"></a><h3>dbus_g_proxy_send ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_proxy_send (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGProxy.html#DBusGProxy"><span class="type">DBusGProxy</span></a> *proxy</code></em>,
+ <em class="parameter"><code><span class="type">DBusMessage</span> *message</code></em>,
+ <em class="parameter"><code><span class="type">dbus_uint32_t</span> *client_serial</code></em>);</pre>
+<p>
+Sends a message to the interface we're proxying for. Does not
+block or wait for a reply. The message is only actually written out
+when you return to the main loop or block in
+<a href="/usr/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGConnection.html#dbus-g-connection-flush"><code class="function">dbus_g_connection_flush()</code></a>.
+</p>
+<p>
+The message is modified to be addressed to the target interface.
+That is, a destination name field or whatever is needed will be
+added to the message. The basic point of this function is to add
+the necessary header fields, otherwise it's equivalent to
+<code class="function">dbus_connection_send()</code>.
+</p>
+<p>
+This function adds a reference to the message, so the caller
+still owns its original reference.
+</p>
+<p>
+It is an error to call this method on a proxy that has emitted
+the <span class="type">"destroy"</span> signal.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
+<td>a proxy for a remote interface</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
+<td>the message to address and send</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>client_serial</code></em> :</span></p></td>
+<td>return location for message's serial, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-message-get-g-type"></a><h3>dbus_message_get_g_type ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> dbus_message_get_g_type (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-server-setup-with-g-main"></a><h3>dbus_server_setup_with_g_main ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_server_setup_with_g_main (<em class="parameter"><code><span class="type">DBusServer</span> *server</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *context</code></em>);</pre>
+<p>
+Sets the watch and timeout functions of a <span class="type">DBusServer</span>
+to integrate the server with the GLib main loop.
+In most cases the context argument should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
+</p>
+<p>
+If called twice for the same context, does nothing the second
+time. If called once with context A and once with context B,
+context B replaces context A as the context monitoring the
+connection.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>server</code></em> :</span></p></td>
+<td>the server</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
+<td>the <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for default</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-set-g-error"></a><h3>dbus_set_g_error ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_set_g_error (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **gerror</code></em>,
+ <em class="parameter"><code><span class="type">DBusError</span> *derror</code></em>);</pre>
+<p>
+Store the information from a DBus method error return into a
+GError. For the normal case of an arbitrary remote process,
+the error code will be DBUS_GERROR_REMOTE_EXCEPTION. Now,
+DBus errors have two components; a message and a "name".
+The former is an arbitrary (normally American English) string.
+The second is a string like com.example.FooFailure which
+programs can use as a conditional source. Because a GError
+only has one string, we use a hack to encode both values:
+</p>
+<p>
+&lt;human readable string&gt;&lt;null&gt;&lt;error name&gt;&lt;null&gt;
+</p>
+<p>
+You can use the following code to retrieve both values:
+</p>
+<p>
+</p>
+<div class="informalexample">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2
+3</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">const char</span> <span class="gtkdoc opt">*</span>msg <span class="gtkdoc opt">=</span> error<span class="gtkdoc opt">-&gt;</span>message<span class="gtkdoc opt">;</span>
+<span class="gtkdoc kwb">size_t</span> len <span class="gtkdoc opt">=</span> <span class="function">strlen</span><span class="gtkdoc opt">(</span>msg<span class="gtkdoc opt">);</span>
+<span class="gtkdoc kwb">const char</span> <span class="gtkdoc opt">*</span>error_name <span class="gtkdoc opt">=</span> msg<span class="gtkdoc opt">+</span>len<span class="gtkdoc opt">+</span><span class="number">1</span><span class="gtkdoc opt">;</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<p>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gerror</code></em> :</span></p></td>
+<td>an error</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>derror</code></em> :</span></p></td>
+<td>a <span class="type">DBusError</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/dbus-glib-dbus-gtype-specialized.html b/doc/reference/html/dbus-glib-dbus-gtype-specialized.html
new file mode 100644
index 0000000..0677e1a
--- /dev/null
+++ b/doc/reference/html/dbus-glib-dbus-gtype-specialized.html
@@ -0,0 +1,1691 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Specializable GType System</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="up" href="ch02.html" title="API Reference">
+<link rel="prev" href="ch02.html" title="API Reference">
+<link rel="next" href="dbus-glib-dbus-glib-lowlevel.html" title="DBus GLib low level">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</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="ch02.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ch02.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">D-Bus GLib bindings - Reference Manual</th>
+<td><a accesskey="n" href="dbus-glib-dbus-glib-lowlevel.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#dbus-glib-dbus-gtype-specialized.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#dbus-glib-dbus-gtype-specialized.description" class="shortcut">Description</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="dbus-glib-dbus-gtype-specialized"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="dbus-glib-dbus-gtype-specialized.top_of_page"></a>Specializable GType System</span></h2>
+<p>Specializable GType System — Specialized GTypes</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="dbus-glib-dbus-gtype-specialized.stability-level"></a><h2>Stability Level</h2>
+Unstable, unless otherwise indicated
+</div>
+<div class="refsynopsisdiv">
+<a name="dbus-glib-dbus-gtype-specialized.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis"> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext">DBusGTypeSpecializedAppendContext</a>;
+<span class="returnvalue">void</span> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionAppendFunc" title="DBusGTypeSpecializedCollectionAppendFunc ()">*DBusGTypeSpecializedCollectionAppendFunc</a>)
+ (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *val</code></em>);
+<span class="returnvalue">void</span> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionEndAppendFunc" title="DBusGTypeSpecializedCollectionEndAppendFunc ()">*DBusGTypeSpecializedCollectionEndAppendFunc</a>)
+ (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionFixedAccessorFunc" title="DBusGTypeSpecializedCollectionFixedAccessorFunc ()">*DBusGTypeSpecializedCollectionFixedAccessorFunc</a>)
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *values</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *len</code></em>);
+<span class="returnvalue">void</span> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIterator" title="DBusGTypeSpecializedCollectionIterator ()">*DBusGTypeSpecializedCollectionIterator</a>)
+ (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
+<span class="returnvalue">void</span> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIteratorFunc" title="DBusGTypeSpecializedCollectionIteratorFunc ()">*DBusGTypeSpecializedCollectionIteratorFunc</a>)
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
+ <em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIterator" title="DBusGTypeSpecializedCollectionIterator ()"><span class="type">DBusGTypeSpecializedCollectionIterator</span></a> iterator</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
+ <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionVtable" title="DBusGTypeSpecializedCollectionVtable">DBusGTypeSpecializedCollectionVtable</a>;
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedConstructor" title="DBusGTypeSpecializedConstructor ()">*DBusGTypeSpecializedConstructor</a>) (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCopyFunc" title="DBusGTypeSpecializedCopyFunc ()">*DBusGTypeSpecializedCopyFunc</a>) (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> src</code></em>);
+<span class="returnvalue">void</span> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedFreeFunc" title="DBusGTypeSpecializedFreeFunc ()">*DBusGTypeSpecializedFreeFunc</a>) (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> val</code></em>);
+<span class="returnvalue">void</span> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapAppendFunc" title="DBusGTypeSpecializedMapAppendFunc ()">*DBusGTypeSpecializedMapAppendFunc</a>)
+ (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *key</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *val</code></em>);
+<span class="returnvalue">void</span> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIterator" title="DBusGTypeSpecializedMapIterator ()">*DBusGTypeSpecializedMapIterator</a>) (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *key_val</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value_val</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
+<span class="returnvalue">void</span> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIteratorFunc" title="DBusGTypeSpecializedMapIteratorFunc ()">*DBusGTypeSpecializedMapIteratorFunc</a>)
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
+ <em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIterator" title="DBusGTypeSpecializedMapIterator ()"><span class="type">DBusGTypeSpecializedMapIterator</span></a> iterator</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
+ <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapVtable" title="DBusGTypeSpecializedMapVtable">DBusGTypeSpecializedMapVtable</a>;
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructGetMember" title="DBusGTypeSpecializedStructGetMember ()">*DBusGTypeSpecializedStructGetMember</a>)
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *ret_value</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructSetMember" title="DBusGTypeSpecializedStructSetMember ()">*DBusGTypeSpecializedStructSetMember</a>)
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *new_value</code></em>);
+ <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructVtable" title="DBusGTypeSpecializedStructVtable">DBusGTypeSpecializedStructVtable</a>;
+ <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedVtable" title="DBusGTypeSpecializedVtable">DBusGTypeSpecializedVtable</a>;
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-get-fixed" title="dbus_g_type_collection_get_fixed ()">dbus_g_type_collection_get_fixed</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *data_ret</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *len_ret</code></em>);
+const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionVtable" title="DBusGTypeSpecializedCollectionVtable"><span class="returnvalue">DBusGTypeSpecializedCollectionVtable</span></a> * <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-peek-vtable" title="dbus_g_type_collection_peek_vtable ()">dbus_g_type_collection_peek_vtable</a>
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> collection_type</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-value-iterate" title="dbus_g_type_collection_value_iterate ()">dbus_g_type_collection_value_iterate</a>
+ (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIterator" title="DBusGTypeSpecializedCollectionIterator ()"><span class="type">DBusGTypeSpecializedCollectionIterator</span></a> iterator</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-collection" title="dbus_g_type_get_collection ()">dbus_g_type_get_collection</a> (<em class="parameter"><code>const <span class="type">char</span> *container</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> specialization</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-collection-specialization" title="dbus_g_type_get_collection_specialization ()">dbus_g_type_get_collection_specialization</a>
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map" title="dbus_g_type_get_map ()">dbus_g_type_get_map</a> (<em class="parameter"><code>const <span class="type">char</span> *container</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> key_specialization</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> value_specialization</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map-key-specialization" title="dbus_g_type_get_map_key_specialization ()">dbus_g_type_get_map_key_specialization</a>
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map-value-specialization" title="dbus_g_type_get_map_value_specialization ()">dbus_g_type_get_map_value_specialization</a>
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct" title="dbus_g_type_get_struct ()">dbus_g_type_get_struct</a> (<em class="parameter"><code>const <span class="type">char</span> *container</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> first_type</code></em>,
+ <em class="parameter"><code>...</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct-member-type" title="dbus_g_type_get_struct_member_type ()">dbus_g_type_get_struct_member_type</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct-size" title="dbus_g_type_get_struct_size ()">dbus_g_type_get_struct_size</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-structv" title="dbus_g_type_get_structv ()">dbus_g_type_get_structv</a> (<em class="parameter"><code>const <span class="type">char</span> *container</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> num_members</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> *types</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-is-collection" title="dbus_g_type_is_collection ()">dbus_g_type_is_collection</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-is-map" title="dbus_g_type_is_map ()">dbus_g_type_is_map</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-is-struct" title="dbus_g_type_is_struct ()">dbus_g_type_is_struct</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);
+const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapVtable" title="DBusGTypeSpecializedMapVtable"><span class="returnvalue">DBusGTypeSpecializedMapVtable</span></a> * <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-map-peek-vtable" title="dbus_g_type_map_peek_vtable ()">dbus_g_type_map_peek_vtable</a>
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> map_type</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-map-value-iterate" title="dbus_g_type_map_value_iterate ()">dbus_g_type_map_value_iterate</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIterator" title="DBusGTypeSpecializedMapIterator ()"><span class="type">DBusGTypeSpecializedMapIterator</span></a> iterator</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-register-collection" title="dbus_g_type_register_collection ()">dbus_g_type_register_collection</a> (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code>const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionVtable" title="DBusGTypeSpecializedCollectionVtable"><span class="type">DBusGTypeSpecializedCollectionVtable</span></a> *vtable</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> flags</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-register-map" title="dbus_g_type_register_map ()">dbus_g_type_register_map</a> (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code>const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapVtable" title="DBusGTypeSpecializedMapVtable"><span class="type">DBusGTypeSpecializedMapVtable</span></a> *vtable</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> flags</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-register-struct" title="dbus_g_type_register_struct ()">dbus_g_type_register_struct</a> (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code>const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructVtable" title="DBusGTypeSpecializedStructVtable"><span class="type">DBusGTypeSpecializedStructVtable</span></a> *vtable</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> flags</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-collection-append" title="dbus_g_type_specialized_collection_append ()">dbus_g_type_specialized_collection_append</a>
+ (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *elt</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-collection-end-append" title="dbus_g_type_specialized_collection_end_append ()">dbus_g_type_specialized_collection_end_append</a>
+ (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-construct" title="dbus_g_type_specialized_construct ()">dbus_g_type_specialized_construct</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init" title="dbus_g_type_specialized_init ()">dbus_g_type_specialized_init</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init-append" title="dbus_g_type_specialized_init_append ()">dbus_g_type_specialized_init_append</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>);
+<span class="returnvalue">void</span> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-map-append" title="dbus_g_type_specialized_map_append ()">dbus_g_type_specialized_map_append</a> (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *key</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *val</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-get" title="dbus_g_type_struct_get ()">dbus_g_type_struct_get</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code>...</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-get-member" title="dbus_g_type_struct_get_member ()">dbus_g_type_struct_get_member</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *dest</code></em>);
+const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructVtable" title="DBusGTypeSpecializedStructVtable"><span class="returnvalue">DBusGTypeSpecializedStructVtable</span></a> * <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-peek-vtable" title="dbus_g_type_struct_peek_vtable ()">dbus_g_type_struct_peek_vtable</a>
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> struct_type</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-set" title="dbus_g_type_struct_set ()">dbus_g_type_struct_set</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code>...</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-set-member" title="dbus_g_type_struct_set_member ()">dbus_g_type_struct_set_member</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *src</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-value-build-g-variant" title="dbus_g_value_build_g_variant ()">dbus_g_value_build_g_variant</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="dbus-glib-dbus-gtype-specialized.description"></a><h2>Description</h2>
+<p>
+Specialized gtypes are basically a way to allow the definition of
+recursive <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GTypes</span></a>. It allows the definition of 'containers' which is
+basically a user defined structure capable of holding other data, and a
+set of functions defining how to access that structure. Containers come in
+3 flavors: collections, maps and structs.
+</p>
+<p>
+A collection is a container that holds an ordered set of items, all
+of which must be the same type. (This is an <span class="emphasis"><em>array</em></span>
+in standard D-Bus terminology.) dbus-glib specialized collections can be
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> (for numeric elements), <a href="http://library.gnome.org/devel/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> (for string, object or
+boxed elements), <a href="http://library.gnome.org/devel/glib/unstable/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> (for boxed elements, not recommended), or a
+user-defined type.
+</p>
+<p>
+A map is a container that holds a set of key/value pairs.
+The keys have one type, and the values another; the type of the keys
+must be a numeric or string-like type. (This is a <span class="emphasis"><em>dict</em></span>
+(dictionary) or <span class="emphasis"><em>array of dict entry</em></span> in standard D-Bus
+terminology.) dbus-glib specialized maps can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> or a
+user-defined type.
+</p>
+<p>
+A struct is a container that holds a fixed number of members, each member
+having a predefined type. (This is a <span class="emphasis"><em>struct</em></span> in
+standard D-Bus terminology.) It is analogous to the C <em class="parameter"><code>struct</code></em> keyword, but
+dbus-glib does not generally represent D-Bus structs in C structs.
+dbus-glib specialized structs can be <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> or a user-defined type.
+</p>
+<p>
+A specialization is a GType detailing a particular container with
+particular types (a type specialization).
+</p>
+<p>
+Functions are provided for constructing and manipulating specializations.
+</p>
+<p>
+This documentation needs splitting into two pages, one for defining new
+containers and using existing containers. I expect most users to only do
+the latter. I also need to add some examples.
+</p>
+</div>
+<div class="refsect1">
+<a name="dbus-glib-dbus-gtype-specialized.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedAppendContext"></a><h3>DBusGTypeSpecializedAppendContext</h3>
+<pre class="programlisting">typedef struct {
+ /* public */
+ GValue *val;
+ GType specialization_type;
+} DBusGTypeSpecializedAppendContext;
+</pre>
+<p>
+A context for appending. There are more fields, which are private.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *<em class="structfield"><code><a name="DBusGTypeSpecializedAppendContext.val"></a>val</code></em>;</span></p></td>
+<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing the array to which you're appending</td>
+</tr>
+<tr>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedAppendContext.specialization-type"></a>specialization_type</code></em>;</span></p></td>
+<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the array's elements</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedCollectionAppendFunc"></a><h3>DBusGTypeSpecializedCollectionAppendFunc ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> (*DBusGTypeSpecializedCollectionAppendFunc)
+ (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *val</code></em>);</pre>
+<p>
+Implements <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-collection-append" title="dbus_g_type_specialized_collection_append ()"><code class="function">dbus_g_type_specialized_collection_append()</code></a>.
+</p>
+<p>
+This function should use the <em class="parameter"><code>val</code></em> and <em class="parameter"><code>specialization_type</code></em> members of <em class="parameter"><code>ctx</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
+<td>an appending context returned by <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init-append" title="dbus_g_type_specialized_init_append ()"><code class="function">dbus_g_type_specialized_init_append()</code></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
+<td>a value to copy into the collection</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedCollectionEndAppendFunc"></a><h3>DBusGTypeSpecializedCollectionEndAppendFunc ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> (*DBusGTypeSpecializedCollectionEndAppendFunc)
+ (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>);</pre>
+<p>
+Implements <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-collection-end-append" title="dbus_g_type_specialized_collection_end_append ()"><code class="function">dbus_g_type_specialized_collection_end_append()</code></a>.
+</p>
+<p>
+This function should use the <em class="parameter"><code>val</code></em> and <em class="parameter"><code>specialization_type</code></em> members of <em class="parameter"><code>ctx</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
+<td>an appending context returned by <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init-append" title="dbus_g_type_specialized_init_append ()"><code class="function">dbus_g_type_specialized_init_append()</code></a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedCollectionFixedAccessorFunc"></a><h3>DBusGTypeSpecializedCollectionFixedAccessorFunc ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*DBusGTypeSpecializedCollectionFixedAccessorFunc)
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *values</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *len</code></em>);</pre>
+<p>
+Implements <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-get-fixed" title="dbus_g_type_collection_get_fixed ()"><code class="function">dbus_g_type_collection_get_fixed()</code></a> for a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with type
+<em class="parameter"><code>type</code></em>, containing <em class="parameter"><code>instance</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
+<td>a specialized collection boxed type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
+<td>an instance of <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>values</code></em> :</span></p></td>
+<td>used to return a pointer to the contents of <em class="parameter"><code>instance</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
+<td>used to return the number of elements in <em class="parameter"><code>instance</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedCollectionIterator"></a><h3>DBusGTypeSpecializedCollectionIterator ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> (*DBusGTypeSpecializedCollectionIterator)
+ (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>
+A library-user-supplied function, called for each element in the
+collection when <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-value-iterate" title="dbus_g_type_collection_value_iterate ()"><code class="function">dbus_g_type_collection_value_iterate()</code></a> is called.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>an element of the collection</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>the data supplied when calling
+<a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-value-iterate" title="dbus_g_type_collection_value_iterate ()"><code class="function">dbus_g_type_collection_value_iterate()</code></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedCollectionIteratorFunc"></a><h3>DBusGTypeSpecializedCollectionIteratorFunc ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> (*DBusGTypeSpecializedCollectionIteratorFunc)
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
+ <em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIterator" title="DBusGTypeSpecializedCollectionIterator ()"><span class="type">DBusGTypeSpecializedCollectionIterator</span></a> iterator</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>
+Implements <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-value-iterate" title="dbus_g_type_collection_value_iterate ()"><code class="function">dbus_g_type_collection_value_iterate()</code></a> for a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with
+type <em class="parameter"><code>type</code></em>, containing <em class="parameter"><code>instance</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
+<td>a specialized collection boxed type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
+<td>an instance of <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>iterator</code></em> :</span></p></td>
+<td>the function to call for each element</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>data to pass to <em class="parameter"><code>iterator</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedCollectionVtable"></a><h3>DBusGTypeSpecializedCollectionVtable</h3>
+<pre class="programlisting">typedef struct {
+ DBusGTypeSpecializedVtable base_vtable;
+ DBusGTypeSpecializedCollectionFixedAccessorFunc fixed_accessor;
+ DBusGTypeSpecializedCollectionIteratorFunc iterator;
+ DBusGTypeSpecializedCollectionAppendFunc append_func;
+ DBusGTypeSpecializedCollectionEndAppendFunc end_append_func;
+} DBusGTypeSpecializedCollectionVtable;
+</pre>
+<p>
+A table of methods used to implement specialized collection behaviour
+on user-defined types. At least <em class="parameter"><code>iterator</code></em> and <em class="parameter"><code>append_func</code></em> must be
+implemented.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedVtable" title="DBusGTypeSpecializedVtable"><span class="type">DBusGTypeSpecializedVtable</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedCollectionVtable.base-vtable"></a>base_vtable</code></em>;</span></p></td>
+<td>base methods shared between collections and other types</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionFixedAccessorFunc" title="DBusGTypeSpecializedCollectionFixedAccessorFunc ()"><span class="type">DBusGTypeSpecializedCollectionFixedAccessorFunc</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedCollectionVtable.fixed-accessor"></a>fixed_accessor</code></em>;</span></p></td>
+<td>if not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, provides access to the contents of this
+collection, as documented for <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-get-fixed" title="dbus_g_type_collection_get_fixed ()"><code class="function">dbus_g_type_collection_get_fixed()</code></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIteratorFunc" title="DBusGTypeSpecializedCollectionIteratorFunc ()"><span class="type">DBusGTypeSpecializedCollectionIteratorFunc</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedCollectionVtable.iterator"></a>iterator</code></em>;</span></p></td>
+<td>iterates through the members of <em class="parameter"><code>instance</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionAppendFunc" title="DBusGTypeSpecializedCollectionAppendFunc ()"><span class="type">DBusGTypeSpecializedCollectionAppendFunc</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedCollectionVtable.append-func"></a>append_func</code></em>;</span></p></td>
+<td>appends a new member to <em class="parameter"><code>instance</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionEndAppendFunc" title="DBusGTypeSpecializedCollectionEndAppendFunc ()"><span class="type">DBusGTypeSpecializedCollectionEndAppendFunc</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedCollectionVtable.end-append-func"></a>end_append_func</code></em>;</span></p></td>
+<td>if not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, called after each group of calls to
+the <em class="parameter"><code>append_func</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedConstructor"></a><h3>DBusGTypeSpecializedConstructor ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> (*DBusGTypeSpecializedConstructor) (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);</pre>
+<p>
+
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
+<td>a specialized boxed type</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new instance of <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedCopyFunc"></a><h3>DBusGTypeSpecializedCopyFunc ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> (*DBusGTypeSpecializedCopyFunc) (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> src</code></em>);</pre>
+<p>
+Copies <em class="parameter"><code>src</code></em> according to <em class="parameter"><code>type</code></em>. This is analogous to <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Boxed-Types.html#GBoxedCopyFunc"><span class="type">GBoxedCopyFunc</span></a>, but
+can use information from <em class="parameter"><code>type</code></em> (for instance to copy each element of a
+collection).
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
+<td>a specialized boxed type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
+<td>an instance of <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a deep copy of <em class="parameter"><code>src</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedFreeFunc"></a><h3>DBusGTypeSpecializedFreeFunc ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> (*DBusGTypeSpecializedFreeFunc) (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> val</code></em>);</pre>
+<p>
+Frees <em class="parameter"><code>val</code></em> according to <em class="parameter"><code>type</code></em>. This is analogous to <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Boxed-Types.html#GBoxedFreeFunc"><span class="type">GBoxedFreeFunc</span></a>, but
+can use information from <em class="parameter"><code>type</code></em> (for instance to free the contents of a
+container before freeing the actual container).
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
+<td>a specialized boxed type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
+<td>an instance of <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedMapAppendFunc"></a><h3>DBusGTypeSpecializedMapAppendFunc ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> (*DBusGTypeSpecializedMapAppendFunc)
+ (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *key</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *val</code></em>);</pre>
+<p>
+Implements <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-map-append" title="dbus_g_type_specialized_map_append ()"><code class="function">dbus_g_type_specialized_map_append()</code></a>.
+</p>
+<p>
+This function should use the <em class="parameter"><code>val</code></em> and <em class="parameter"><code>specialization_type</code></em> members of <em class="parameter"><code>ctx</code></em>,
+and replace any existing value with key equal to <em class="parameter"><code>key</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
+<td>an appending context returned by <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init-append" title="dbus_g_type_specialized_init_append ()"><code class="function">dbus_g_type_specialized_init_append()</code></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
+<td>a key to add to the collection</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
+<td>a value to add to the collection</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedMapIterator"></a><h3>DBusGTypeSpecializedMapIterator ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> (*DBusGTypeSpecializedMapIterator) (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *key_val</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value_val</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>
+A library-user-supplied function, called for each key/value pair in the
+collection when <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-map-value-iterate" title="dbus_g_type_map_value_iterate ()"><code class="function">dbus_g_type_map_value_iterate()</code></a> is called.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key_val</code></em> :</span></p></td>
+<td>a key from the map</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value_val</code></em> :</span></p></td>
+<td>a value from the map</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>the data supplied when calling
+<a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-map-value-iterate" title="dbus_g_type_map_value_iterate ()"><code class="function">dbus_g_type_map_value_iterate()</code></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedMapIteratorFunc"></a><h3>DBusGTypeSpecializedMapIteratorFunc ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> (*DBusGTypeSpecializedMapIteratorFunc)
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
+ <em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIterator" title="DBusGTypeSpecializedMapIterator ()"><span class="type">DBusGTypeSpecializedMapIterator</span></a> iterator</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>
+Implements <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-map-value-iterate" title="dbus_g_type_map_value_iterate ()"><code class="function">dbus_g_type_map_value_iterate()</code></a> for a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with
+type <em class="parameter"><code>type</code></em>, containing <em class="parameter"><code>instance</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
+<td>a specialized map boxed type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
+<td>an instance of <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>iterator</code></em> :</span></p></td>
+<td>the function to call for each key/value pair</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>data to pass to <em class="parameter"><code>iterator</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedMapVtable"></a><h3>DBusGTypeSpecializedMapVtable</h3>
+<pre class="programlisting">typedef struct {
+ DBusGTypeSpecializedVtable base_vtable;
+ DBusGTypeSpecializedMapIteratorFunc iterator;
+ DBusGTypeSpecializedMapAppendFunc append_func;
+} DBusGTypeSpecializedMapVtable;
+</pre>
+<p>
+A table of methods used to implement specialized collection behaviour
+on user-defined types. Both methods must be implemented.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedVtable" title="DBusGTypeSpecializedVtable"><span class="type">DBusGTypeSpecializedVtable</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedMapVtable.base-vtable"></a>base_vtable</code></em>;</span></p></td>
+<td>base methods shared between maps and other types</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIteratorFunc" title="DBusGTypeSpecializedMapIteratorFunc ()"><span class="type">DBusGTypeSpecializedMapIteratorFunc</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedMapVtable.iterator"></a>iterator</code></em>;</span></p></td>
+<td>iterates through the members of <em class="parameter"><code>instance</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapAppendFunc" title="DBusGTypeSpecializedMapAppendFunc ()"><span class="type">DBusGTypeSpecializedMapAppendFunc</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedMapVtable.append-func"></a>append_func</code></em>;</span></p></td>
+<td>adds a new key/value pair to <em class="parameter"><code>instance</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedStructGetMember"></a><h3>DBusGTypeSpecializedStructGetMember ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*DBusGTypeSpecializedStructGetMember)
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *ret_value</code></em>);</pre>
+<p>
+Implements <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-get-member" title="dbus_g_type_struct_get_member ()"><code class="function">dbus_g_type_struct_get_member()</code></a> for a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with type <em class="parameter"><code>type</code></em>,
+containing <em class="parameter"><code>instance</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
+<td>a specialized struct boxed type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
+<td>an instance of <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>member</code></em> :</span></p></td>
+<td>the index of the member, starting from 0</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ret_value</code></em> :</span></p></td>
+<td>an initialized <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of the appropriate type for the given
+member of <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedStructSetMember"></a><h3>DBusGTypeSpecializedStructSetMember ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> (*DBusGTypeSpecializedStructSetMember)
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> instance</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *new_value</code></em>);</pre>
+<p>
+Implements <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-set-member" title="dbus_g_type_struct_set_member ()"><code class="function">dbus_g_type_struct_set_member()</code></a> for a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> with type <em class="parameter"><code>type</code></em>,
+containing <em class="parameter"><code>instance</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
+<td>a specialized struct boxed type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>instance</code></em> :</span></p></td>
+<td>an instance of <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>member</code></em> :</span></p></td>
+<td>the index of the member, starting from 0</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>new_value</code></em> :</span></p></td>
+<td>an initialized <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of the appropriate type for the given
+member of <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedStructVtable"></a><h3>DBusGTypeSpecializedStructVtable</h3>
+<pre class="programlisting">typedef struct {
+ DBusGTypeSpecializedVtable base_vtable;
+ DBusGTypeSpecializedStructGetMember get_member;
+ DBusGTypeSpecializedStructSetMember set_member;
+} DBusGTypeSpecializedStructVtable;
+</pre>
+<p>
+A table of methods used to implement specialized collection behaviour
+on user-defined types. Both methods must be implemented.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedVtable" title="DBusGTypeSpecializedVtable"><span class="type">DBusGTypeSpecializedVtable</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedStructVtable.base-vtable"></a>base_vtable</code></em>;</span></p></td>
+<td>base methods shared between maps and other types</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructGetMember" title="DBusGTypeSpecializedStructGetMember ()"><span class="type">DBusGTypeSpecializedStructGetMember</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedStructVtable.get-member"></a>get_member</code></em>;</span></p></td>
+<td>returns a member by its index</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructSetMember" title="DBusGTypeSpecializedStructSetMember ()"><span class="type">DBusGTypeSpecializedStructSetMember</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedStructVtable.set-member"></a>set_member</code></em>;</span></p></td>
+<td>sets a member by its index</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="DBusGTypeSpecializedVtable"></a><h3>DBusGTypeSpecializedVtable</h3>
+<pre class="programlisting">typedef struct {
+ DBusGTypeSpecializedConstructor constructor;
+ DBusGTypeSpecializedFreeFunc free_func;
+ DBusGTypeSpecializedCopyFunc copy_func;
+ GDestroyNotify simple_free_func; /* for type-independent freeing if possible */
+} DBusGTypeSpecializedVtable;
+</pre>
+<p>
+A table of methods used to implement specialized container behaviour on
+user-defined collections, maps and structs. Exactly one of <em class="parameter"><code>free_func</code></em> and
+<em class="parameter"><code>simple_free_func</code></em> must be implemented; the other must be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
+<em class="parameter"><code>constructor</code></em> and <em class="parameter"><code>copy_func</code></em> must always be implemented.
+</p>
+<p>
+There are additional members, which are reserved for future expansion and
+must be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedConstructor" title="DBusGTypeSpecializedConstructor ()"><span class="type">DBusGTypeSpecializedConstructor</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedVtable.constructor"></a>constructor</code></em>;</span></p></td>
+<td>returns a new, blank instance of the <em class="parameter"><code>type</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedFreeFunc" title="DBusGTypeSpecializedFreeFunc ()"><span class="type">DBusGTypeSpecializedFreeFunc</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedVtable.free-func"></a>free_func</code></em>;</span></p></td>
+<td>if not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, frees the <em class="parameter"><code>type</code></em> instance <em class="parameter"><code>val</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCopyFunc" title="DBusGTypeSpecializedCopyFunc ()"><span class="type">DBusGTypeSpecializedCopyFunc</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedVtable.copy-func"></a>copy_func</code></em>;</span></p></td>
+<td>returns a "deep copy" of the <em class="parameter"><code>type</code></em> instance <em class="parameter"><code>val</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> <em class="structfield"><code><a name="DBusGTypeSpecializedVtable.simple-free-func"></a>simple_free_func</code></em>;</span></p></td>
+<td>if not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, frees its argument</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-collection-get-fixed"></a><h3>dbus_g_type_collection_get_fixed ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> dbus_g_type_collection_get_fixed (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *data_ret</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *len_ret</code></em>);</pre>
+<p>
+Calling this function is likely to be a bad idea. Consider using
+<a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-value-iterate" title="dbus_g_type_collection_value_iterate ()"><code class="function">dbus_g_type_collection_value_iterate()</code></a> instead.
+</p>
+<p>
+On success, <em class="parameter"><code>data_ret</code></em> is a pointer to the underlying data in a collection
+of fixed-length fundamental types. Knowledge of the underlying data model
+of the collection is needed in order to use <em class="parameter"><code>data_ret</code></em> correctly.
+</p>
+<p>
+It is an error to call this function on a specialized type that is not a
+collection, or on a collection that does not have a <em class="parameter"><code>fixed_accessor</code></em> in its
+<a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionVtable" title="DBusGTypeSpecializedCollectionVtable"><span class="type">DBusGTypeSpecializedCollectionVtable</span></a>.
+</p>
+<p>
+Specialized <a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a>s are the only types provided by dbus-glib that
+can be used with this function; user-defined types might also work.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a GValue containing a boxed specialized collection
+that has a <em class="parameter"><code>fixed_accessor</code></em> in its vtable</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>data_ret</code></em> :</span></p></td>
+<td>used to return a pointer to the fixed data, which must not be
+modified (for instance, for a <a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> of <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>, this would point
+to an array of <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>)</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>len_ret</code></em> :</span></p></td>
+<td>used to return the length (counting collection elements, not
+bytes: in a <a href="http://library.gnome.org/devel/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> containing one <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>, this would be 1)</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-collection-peek-vtable"></a><h3>dbus_g_type_collection_peek_vtable ()</h3>
+<pre class="programlisting">const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionVtable" title="DBusGTypeSpecializedCollectionVtable"><span class="returnvalue">DBusGTypeSpecializedCollectionVtable</span></a> * dbus_g_type_collection_peek_vtable
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> collection_type</code></em>);</pre>
+<p>
+Peek the vtable for a given collection specialization
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>collection_type</code></em> :</span></p></td>
+<td>a gtype of a collection specialization</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the vtable</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-collection-value-iterate"></a><h3>dbus_g_type_collection_value_iterate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_type_collection_value_iterate
+ (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIterator" title="DBusGTypeSpecializedCollectionIterator ()"><span class="type">DBusGTypeSpecializedCollectionIterator</span></a> iterator</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>
+Calls the given function for each element of the collection.
+The function is passed a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing the element and the given
+<em class="parameter"><code>user_data</code></em> parameter. The collection may not be modified while iterating over
+it.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> holding a collection type.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>iterator</code></em> :</span></p></td>
+<td>a function to call for each element</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>user data to pass to the <em class="parameter"><code>iterator</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-get-collection"></a><h3>dbus_g_type_get_collection ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> dbus_g_type_get_collection (<em class="parameter"><code>const <span class="type">char</span> *container</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> specialization</code></em>);</pre>
+<p>
+Gets a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for a particular collection instance,
+creating the type if not already created.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
+<td>a string specifying a registered collection type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>specialization</code></em> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of collection elements</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of that instance</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-get-collection-specialization"></a><h3>dbus_g_type_get_collection_specialization ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> dbus_g_type_get_collection_specialization
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
+<p>
+Return the type of each element in collections of type <em class="parameter"><code>gtype</code></em>.
+It is an error to call this function on a non-collection type.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
+<td>a collection <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>, as created by <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-collection" title="dbus_g_type_get_collection ()"><code class="function">dbus_g_type_get_collection()</code></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the element type for a given collection GType.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-get-map"></a><h3>dbus_g_type_get_map ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> dbus_g_type_get_map (<em class="parameter"><code>const <span class="type">char</span> *container</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> key_specialization</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> value_specialization</code></em>);</pre>
+<p>
+Gets a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for a particular map instance,
+creating the type if not already created.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
+<td>a string specifying a registered map type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key_specialization</code></em> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of keys</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value_specialization</code></em> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of values</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of that instance</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-get-map-key-specialization"></a><h3>dbus_g_type_get_map_key_specialization ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> dbus_g_type_get_map_key_specialization
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
+<p>
+Return the type of the keys in maps of type <em class="parameter"><code>gtype</code></em>.
+It is an error to call this function on a non-map type.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
+<td>a map <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>, as created by <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map" title="dbus_g_type_get_map ()"><code class="function">dbus_g_type_get_map()</code></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the key type for a given map <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-get-map-value-specialization"></a><h3>dbus_g_type_get_map_value_specialization ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> dbus_g_type_get_map_value_specialization
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
+<p>
+Return the type of the values in maps of type <em class="parameter"><code>gtype</code></em>.
+It is an error to call this function on a non-map type.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
+<td>a map GType, as created by <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map" title="dbus_g_type_get_map ()"><code class="function">dbus_g_type_get_map()</code></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the value type for a given map GType.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-get-struct"></a><h3>dbus_g_type_get_struct ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> dbus_g_type_get_struct (<em class="parameter"><code>const <span class="type">char</span> *container</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> first_type</code></em>,
+ <em class="parameter"><code>...</code></em>);</pre>
+<p>
+Varags methsod to get a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for a particular struct instance,
+creating the type if not already created.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
+<td>a string specifying a registered struct type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>first_type</code></em> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for the struct's first member</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
+<td>more GTypes for the struct's members, terminated by G_TYPE_INVALID</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of that instance</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-get-struct-member-type"></a><h3>dbus_g_type_get_struct_member_type ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> dbus_g_type_get_struct_member_type (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>);</pre>
+<p>
+Get the type of a member of a specialized struct.
+It is an error to call this function on a non-struct type.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
+<td>a struct GType, as created with <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct" title="dbus_g_type_get_struct ()"><code class="function">dbus_g_type_get_struct()</code></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>member</code></em> :</span></p></td>
+<td>the index of a struct member</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the type for a given member of a struct <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>,
+or <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-TYPE-INVALID:CAPS"><code class="literal">G_TYPE_INVALID</code></a> if <em class="parameter"><code>member</code></em> &gt;= <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct-size" title="dbus_g_type_get_struct_size ()"><code class="function">dbus_g_type_get_struct_size()</code></a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-get-struct-size"></a><h3>dbus_g_type_get_struct_size ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> dbus_g_type_get_struct_size (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
+<p>
+Get the number of members in a specialized struct.
+It is an error to call this function on a non-struct type.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
+<td>a struct GType, as created with <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct" title="dbus_g_type_get_struct ()"><code class="function">dbus_g_type_get_struct()</code></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the number of members in a given struct <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-get-structv"></a><h3>dbus_g_type_get_structv ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> dbus_g_type_get_structv (<em class="parameter"><code>const <span class="type">char</span> *container</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> num_members</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> *types</code></em>);</pre>
+<p>
+Gets a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for a particular struct instance,
+creating the type if not already created.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
+<td>a string specifying a registered struct type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>num_members</code></em> :</span></p></td>
+<td>number of members in the struct</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>types</code></em> :</span></p></td>
+<td>an array specufying a GType for each struct element</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of that instance</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-is-collection"></a><h3>dbus_g_type_is_collection ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> dbus_g_type_is_collection (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
+<p>
+Tests if a given GType is a collection.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
+<td>a GType to test</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>true if the given GType is a collection</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-is-map"></a><h3>dbus_g_type_is_map ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> dbus_g_type_is_map (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
+<p>
+Tests if a given GType is a map,
+i.e. it was created with <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map" title="dbus_g_type_get_map ()"><code class="function">dbus_g_type_get_map()</code></a>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
+<td>a GType to test</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>true if the given GType is a map</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-is-struct"></a><h3>dbus_g_type_is_struct ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> dbus_g_type_is_struct (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
+<p>
+Tests if a given GType is a struct,
+i.e. it was created with <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct" title="dbus_g_type_get_struct ()"><code class="function">dbus_g_type_get_struct()</code></a>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
+<td>a GType to test</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>true if the given GType is a struct</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-map-peek-vtable"></a><h3>dbus_g_type_map_peek_vtable ()</h3>
+<pre class="programlisting">const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapVtable" title="DBusGTypeSpecializedMapVtable"><span class="returnvalue">DBusGTypeSpecializedMapVtable</span></a> * dbus_g_type_map_peek_vtable
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> map_type</code></em>);</pre>
+<p>
+Peek the vtable for a given map specialization
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>map_type</code></em> :</span></p></td>
+<td>a gtype of a map specialization</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the vtable</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-map-value-iterate"></a><h3>dbus_g_type_map_value_iterate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_type_map_value_iterate (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIterator" title="DBusGTypeSpecializedMapIterator ()"><span class="type">DBusGTypeSpecializedMapIterator</span></a> iterator</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>
+Calls the given function for each key/value pair of the map.
+The function is passed two GValues containing the key/value pair and the given
+<em class="parameter"><code>user_data</code></em> parameter. The map may not be modified while iterating over
+it.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> holding a specialized map</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>iterator</code></em> :</span></p></td>
+<td>a function to call for each element</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>user data to pass to the <em class="parameter"><code>iterator</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-register-collection"></a><h3>dbus_g_type_register_collection ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_type_register_collection (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code>const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionVtable" title="DBusGTypeSpecializedCollectionVtable"><span class="type">DBusGTypeSpecializedCollectionVtable</span></a> *vtable</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> flags</code></em>);</pre>
+<p>
+Defines a new collection container.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>The name of a new collection container</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>vtable</code></em> :</span></p></td>
+<td>the vtable defining the new container</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
+<td>As yet unused.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-register-map"></a><h3>dbus_g_type_register_map ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_type_register_map (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code>const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapVtable" title="DBusGTypeSpecializedMapVtable"><span class="type">DBusGTypeSpecializedMapVtable</span></a> *vtable</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> flags</code></em>);</pre>
+<p>
+Defines a new map container.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>The name of a new map container</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>vtable</code></em> :</span></p></td>
+<td>the vtable defining the new container</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
+<td>As yet unused.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-register-struct"></a><h3>dbus_g_type_register_struct ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_type_register_struct (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code>const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructVtable" title="DBusGTypeSpecializedStructVtable"><span class="type">DBusGTypeSpecializedStructVtable</span></a> *vtable</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> flags</code></em>);</pre>
+<p>
+Defines a new struct container.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>The name of a new struct container</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>vtable</code></em> :</span></p></td>
+<td>the vtable defining the new container</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
+<td>As yet unused.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-specialized-collection-append"></a><h3>dbus_g_type_specialized_collection_append ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_type_specialized_collection_append
+ (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *elt</code></em>);</pre>
+<p>
+Appends a given element to the end of a collection.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
+<td>a context created by <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init-append" title="dbus_g_type_specialized_init_append ()"><code class="function">dbus_g_type_specialized_init_append()</code></a>
+for a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a collection</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>elt</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing an element to append to the collection</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-specialized-collection-end-append"></a><h3>dbus_g_type_specialized_collection_end_append ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_type_specialized_collection_end_append
+ (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>);</pre>
+<p>
+Finish appending elements to a given collection
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody><tr>
+<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
+<td>a context created by <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init-append" title="dbus_g_type_specialized_init_append ()"><code class="function">dbus_g_type_specialized_init_append()</code></a>
+for a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a collection</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-specialized-construct"></a><h3>dbus_g_type_specialized_construct ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> dbus_g_type_specialized_construct (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> gtype</code></em>);</pre>
+<p>
+Create an instance of a given specialized type.
+The structure created and returned will depend on the container type of the
+GType. E.g. If the given type was created by
+dbus_g_type_get_collection("GArray", G_TYPE_INT),
+then this will return a GArray with element_size of sizeof(int)
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>gtype</code></em> :</span></p></td>
+<td>a specialized <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>, as created by <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-collection" title="dbus_g_type_get_collection ()"><code class="function">dbus_g_type_get_collection()</code></a>,
+<a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map" title="dbus_g_type_get_map ()"><code class="function">dbus_g_type_get_map()</code></a> or <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct" title="dbus_g_type_get_struct ()"><code class="function">dbus_g_type_get_struct()</code></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a pointer to a newly constructed instance of the given type.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-specialized-init"></a><h3>dbus_g_type_specialized_init ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_type_specialized_init (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>
+Initialize dbus-glib specialized <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>s.
+</p>
+<p>
+In older versions of dbus-glib, it was necessary to do this before
+instantiating or registering any specialized type. It is now done
+automatically whenever necessary.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-specialized-init-append"></a><h3>dbus_g_type_specialized_init_append ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_type_specialized_init_append (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>);</pre>
+<p>
+Create a new context for adding elements to a collection or key/value pairs
+to a map. You generally don't need or want to use this..
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing an instance of specialized type</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
+<td>a <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> in which to return a new appending context.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-specialized-map-append"></a><h3>dbus_g_type_specialized_map_append ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> dbus_g_type_specialized_map_append (<em class="parameter"><code><a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext" title="DBusGTypeSpecializedAppendContext"><span class="type">DBusGTypeSpecializedAppendContext</span></a> *ctx</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *key</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *val</code></em>);</pre>
+<p>
+Inserts the given key/value pair into the map instance.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>ctx</code></em> :</span></p></td>
+<td>a context created by <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init-append" title="dbus_g_type_specialized_init_append ()"><code class="function">dbus_g_type_specialized_init_append()</code></a>
+for a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a map</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
+<td>a GValue containing a key, whose contents will be stolen by <em class="parameter"><code>ctx</code></em>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
+<td>a GValue containing a value, whose contents will be stolen by <em class="parameter"><code>ctx</code></em>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-struct-get"></a><h3>dbus_g_type_struct_get ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> dbus_g_type_struct_get (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code>...</code></em>);</pre>
+<p>
+Collects the selected values of this struct into the return locations
+provided.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a struct instance</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>member</code></em> :</span></p></td>
+<td>struct member to get</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
+<td>location in which to return the value of this member,
+followed optionally by more member/return locations pairs, followed by
+by <code class="literal">G_MAXUINT</code>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-struct-get-member"></a><h3>dbus_g_type_struct_get_member ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> dbus_g_type_struct_get_member (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *dest</code></em>);</pre>
+<p>
+Fetches a given member of a given struct instance. <em class="parameter"><code>dest</code></em> must be initialised
+was the correct type for that member, e.g. as returned by
+<em class="parameter"><code>dbus_g_type_get_struct_member_type</code></em>
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a struct instance</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>member</code></em> :</span></p></td>
+<td>the index of a given member</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
+<td>an initialised <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> in which to return the struct member</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-struct-peek-vtable"></a><h3>dbus_g_type_struct_peek_vtable ()</h3>
+<pre class="programlisting">const <a class="link" href="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructVtable" title="DBusGTypeSpecializedStructVtable"><span class="returnvalue">DBusGTypeSpecializedStructVtable</span></a> * dbus_g_type_struct_peek_vtable
+ (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> struct_type</code></em>);</pre>
+<p>
+Peek the vtable for a given struct specialization
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>struct_type</code></em> :</span></p></td>
+<td>a gtype of a struct specialization</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>the vtable</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-struct-set"></a><h3>dbus_g_type_struct_set ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> dbus_g_type_struct_set (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code>...</code></em>);</pre>
+<p>
+Sets the selected members of the struct in <em class="parameter"><code>value</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a struct instance</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>member</code></em> :</span></p></td>
+<td>struct member to set</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
+<td>value for the first member, followed optionally by
+more member/value pairs, followed by <code class="literal">G_MAXUINT</code>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-type-struct-set-member"></a><h3>dbus_g_type_struct_set_member ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> dbus_g_type_struct_set_member (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> member</code></em>,
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *src</code></em>);</pre>
+<p>
+Sets a given member of a struct to a new value. The type of <em class="parameter"><code>src</code></em> must match
+the existing type of <em class="parameter"><code>member</code></em> member of the struct.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing a struct instance</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>member</code></em> :</span></p></td>
+<td>the index of a given member</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
+<td>an <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> containing the new value for that struct member</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if successful</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="dbus-g-value-build-g-variant"></a><h3>dbus_g_value_build_g_variant ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> * dbus_g_value_build_g_variant (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
+<p>
+Recurses <em class="parameter"><code>value</code></em> and converts its contents to a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>.
+</p>
+<p>
+The value must either be a simple value (integer, string, boolean,
+object path etc.) or a specialized container registered with
+<a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-collection" title="dbus_g_type_get_collection ()"><code class="function">dbus_g_type_get_collection()</code></a>, <a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map" title="dbus_g_type_get_map ()"><code class="function">dbus_g_type_get_map()</code></a> or
+<a class="link" href="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct" title="dbus_g_type_get_struct ()"><code class="function">dbus_g_type_get_struct()</code></a>. Providing any other type is a programming error
+(including as a child type).
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>a simple or specialized <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to convert to a <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>a new <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> containing <em class="parameter"><code>value</code></em> with a floating reference</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/dbus-glib.devhelp2 b/doc/reference/html/dbus-glib.devhelp2
new file mode 100644
index 0000000..110d334
--- /dev/null
+++ b/doc/reference/html/dbus-glib.devhelp2
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
+<book xmlns="http://www.devhelp.net/book" title="D-Bus GLib bindings - Reference Manual" link="index.html" author="" name="dbus-glib" version="2" language="c">
+ <chapters>
+ <sub name="Introduction" link="ch01.html"/>
+ <sub name="API Reference" link="ch02.html">
+ <sub name="API for using D-BUS with GLib" link="ch02.html#api-overview"/>
+ <sub name="Specializable GType System" link="dbus-glib-dbus-gtype-specialized.html"/>
+ <sub name="DBus GLib low level" link="dbus-glib-dbus-glib-lowlevel.html"/>
+ </sub>
+ <sub name="Tools Reference" link="ch03.html">
+ <sub name="dbus-binding-tool" link="dbus-binding-tool.html"/>
+ </sub>
+ </chapters>
+ <functions>
+ <keyword type="struct" name="DBusGTypeSpecializedAppendContext" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext"/>
+ <keyword type="function" name="DBusGTypeSpecializedCollectionAppendFunc ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionAppendFunc"/>
+ <keyword type="function" name="DBusGTypeSpecializedCollectionEndAppendFunc ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionEndAppendFunc"/>
+ <keyword type="function" name="DBusGTypeSpecializedCollectionFixedAccessorFunc ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionFixedAccessorFunc"/>
+ <keyword type="function" name="DBusGTypeSpecializedCollectionIterator ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIterator"/>
+ <keyword type="function" name="DBusGTypeSpecializedCollectionIteratorFunc ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIteratorFunc"/>
+ <keyword type="struct" name="DBusGTypeSpecializedCollectionVtable" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionVtable"/>
+ <keyword type="function" name="DBusGTypeSpecializedConstructor ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedConstructor"/>
+ <keyword type="function" name="DBusGTypeSpecializedCopyFunc ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCopyFunc"/>
+ <keyword type="function" name="DBusGTypeSpecializedFreeFunc ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedFreeFunc"/>
+ <keyword type="function" name="DBusGTypeSpecializedMapAppendFunc ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapAppendFunc"/>
+ <keyword type="function" name="DBusGTypeSpecializedMapIterator ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIterator"/>
+ <keyword type="function" name="DBusGTypeSpecializedMapIteratorFunc ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIteratorFunc"/>
+ <keyword type="struct" name="DBusGTypeSpecializedMapVtable" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapVtable"/>
+ <keyword type="function" name="DBusGTypeSpecializedStructGetMember ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructGetMember"/>
+ <keyword type="function" name="DBusGTypeSpecializedStructSetMember ()" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructSetMember"/>
+ <keyword type="struct" name="DBusGTypeSpecializedStructVtable" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructVtable"/>
+ <keyword type="struct" name="DBusGTypeSpecializedVtable" link="dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedVtable"/>
+ <keyword type="function" name="dbus_g_type_collection_get_fixed ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-get-fixed"/>
+ <keyword type="function" name="dbus_g_type_collection_peek_vtable ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-peek-vtable"/>
+ <keyword type="function" name="dbus_g_type_collection_value_iterate ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-value-iterate"/>
+ <keyword type="function" name="dbus_g_type_get_collection ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-collection"/>
+ <keyword type="function" name="dbus_g_type_get_collection_specialization ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-collection-specialization"/>
+ <keyword type="function" name="dbus_g_type_get_map ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map"/>
+ <keyword type="function" name="dbus_g_type_get_map_key_specialization ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map-key-specialization"/>
+ <keyword type="function" name="dbus_g_type_get_map_value_specialization ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map-value-specialization"/>
+ <keyword type="function" name="dbus_g_type_get_struct ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct"/>
+ <keyword type="function" name="dbus_g_type_get_struct_member_type ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct-member-type"/>
+ <keyword type="function" name="dbus_g_type_get_struct_size ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct-size"/>
+ <keyword type="function" name="dbus_g_type_get_structv ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-structv"/>
+ <keyword type="function" name="dbus_g_type_is_collection ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-is-collection"/>
+ <keyword type="function" name="dbus_g_type_is_map ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-is-map"/>
+ <keyword type="function" name="dbus_g_type_is_struct ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-is-struct"/>
+ <keyword type="function" name="dbus_g_type_map_peek_vtable ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-map-peek-vtable"/>
+ <keyword type="function" name="dbus_g_type_map_value_iterate ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-map-value-iterate"/>
+ <keyword type="function" name="dbus_g_type_register_collection ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-register-collection"/>
+ <keyword type="function" name="dbus_g_type_register_map ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-register-map"/>
+ <keyword type="function" name="dbus_g_type_register_struct ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-register-struct"/>
+ <keyword type="function" name="dbus_g_type_specialized_collection_append ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-collection-append"/>
+ <keyword type="function" name="dbus_g_type_specialized_collection_end_append ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-collection-end-append"/>
+ <keyword type="function" name="dbus_g_type_specialized_construct ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-construct"/>
+ <keyword type="function" name="dbus_g_type_specialized_init ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init"/>
+ <keyword type="function" name="dbus_g_type_specialized_init_append ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init-append"/>
+ <keyword type="function" name="dbus_g_type_specialized_map_append ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-map-append"/>
+ <keyword type="function" name="dbus_g_type_struct_get ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-get"/>
+ <keyword type="function" name="dbus_g_type_struct_get_member ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-get-member"/>
+ <keyword type="function" name="dbus_g_type_struct_peek_vtable ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-peek-vtable"/>
+ <keyword type="function" name="dbus_g_type_struct_set ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-set"/>
+ <keyword type="function" name="dbus_g_type_struct_set_member ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-set-member"/>
+ <keyword type="function" name="dbus_g_value_build_g_variant ()" link="dbus-glib-dbus-gtype-specialized.html#dbus-g-value-build-g-variant"/>
+ <keyword type="macro" name="DBUS_TYPE_CONNECTION" link="dbus-glib-dbus-glib-lowlevel.html#DBUS-TYPE-CONNECTION:CAPS"/>
+ <keyword type="macro" name="DBUS_TYPE_MESSAGE" link="dbus-glib-dbus-glib-lowlevel.html#DBUS-TYPE-MESSAGE:CAPS"/>
+ <keyword type="function" name="dbus_connection_get_g_connection ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-connection-get-g-connection"/>
+ <keyword type="function" name="dbus_connection_get_g_type ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-connection-get-g-type"/>
+ <keyword type="function" name="dbus_connection_setup_with_g_main ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-connection-setup-with-g-main"/>
+ <keyword type="function" name="dbus_g_connection_get_connection ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-g-connection-get-connection"/>
+ <keyword type="function" name="dbus_g_message_get_message ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-g-message-get-message"/>
+ <keyword type="function" name="dbus_g_method_get_reply ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-g-method-get-reply"/>
+ <keyword type="function" name="dbus_g_method_get_sender ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-g-method-get-sender"/>
+ <keyword type="function" name="dbus_g_method_send_reply ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-g-method-send-reply"/>
+ <keyword type="function" name="dbus_g_proxy_send ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-g-proxy-send"/>
+ <keyword type="function" name="dbus_message_get_g_type ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-message-get-g-type"/>
+ <keyword type="function" name="dbus_server_setup_with_g_main ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-server-setup-with-g-main"/>
+ <keyword type="function" name="dbus_set_g_error ()" link="dbus-glib-dbus-glib-lowlevel.html#dbus-set-g-error"/>
+ <keyword type="" name="Options" link="dbus-binding-tool.html#idp5167568"/>
+ </functions>
+</book>
diff --git a/doc/reference/html/home.png b/doc/reference/html/home.png
new file mode 100644
index 0000000..1700361
--- /dev/null
+++ b/doc/reference/html/home.png
Binary files differ
diff --git a/doc/reference/html/index.html b/doc/reference/html/index.html
new file mode 100644
index 0000000..c6f051e
--- /dev/null
+++ b/doc/reference/html/index.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>D-Bus GLib bindings - Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="D-Bus GLib bindings - Reference Manual">
+<link rel="next" href="ch01.html" title="Introduction">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="book">
+<div class="titlepage">
+<div>
+<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">D-Bus GLib bindings - Reference Manual</p></th></tr></table></div>
+<div><p class="releaseinfo">for version 0.100
+</p></div>
+</div>
+<hr>
+</div>
+<div class="toc"><dl>
+<dt><span class="chapter"><a href="ch01.html">Introduction</a></span></dt>
+<dt><span class="chapter"><a href="ch02.html">API Reference</a></span></dt>
+<dd><dl>
+<dt><span class="sect1"><a href="ch02.html#api-overview">API for using D-BUS with GLib</a></span></dt>
+<dt>
+<span class="refentrytitle"><a href="dbus-glib-dbus-gtype-specialized.html">Specializable GType System</a></span><span class="refpurpose"> — Specialized GTypes</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="dbus-glib-dbus-glib-lowlevel.html">DBus GLib low level</a></span><span class="refpurpose"> — DBus lower level functions</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ch03.html">Tools Reference</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="dbus-binding-tool.html">dbus-binding-tool</a></span><span class="refpurpose"> — C language GLib bindings generation utility</span>
+</dt></dl></dd>
+</dl></div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/doc/reference/html/index.sgml b/doc/reference/html/index.sgml
new file mode 100644
index 0000000..6042bb1
--- /dev/null
+++ b/doc/reference/html/index.sgml
@@ -0,0 +1,75 @@
+<ANCHOR id="dbus-glib-dbus-gtype-specialized" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html">
+<ANCHOR id="dbus-glib-dbus-gtype-specialized.stability-level" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-glib-dbus-gtype-specialized.stability-level">
+<ANCHOR id="dbus-glib-dbus-gtype-specialized.synopsis" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-glib-dbus-gtype-specialized.synopsis">
+<ANCHOR id="dbus-glib-dbus-gtype-specialized.description" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-glib-dbus-gtype-specialized.description">
+<ANCHOR id="dbus-glib-dbus-gtype-specialized.details" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-glib-dbus-gtype-specialized.details">
+<ANCHOR id="DBusGTypeSpecializedAppendContext" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedAppendContext">
+<ANCHOR id="DBusGTypeSpecializedCollectionAppendFunc" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionAppendFunc">
+<ANCHOR id="DBusGTypeSpecializedCollectionEndAppendFunc" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionEndAppendFunc">
+<ANCHOR id="DBusGTypeSpecializedCollectionFixedAccessorFunc" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionFixedAccessorFunc">
+<ANCHOR id="DBusGTypeSpecializedCollectionIterator" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIterator">
+<ANCHOR id="DBusGTypeSpecializedCollectionIteratorFunc" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionIteratorFunc">
+<ANCHOR id="DBusGTypeSpecializedCollectionVtable" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCollectionVtable">
+<ANCHOR id="DBusGTypeSpecializedConstructor" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedConstructor">
+<ANCHOR id="DBusGTypeSpecializedCopyFunc" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedCopyFunc">
+<ANCHOR id="DBusGTypeSpecializedFreeFunc" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedFreeFunc">
+<ANCHOR id="DBusGTypeSpecializedMapAppendFunc" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapAppendFunc">
+<ANCHOR id="DBusGTypeSpecializedMapIterator" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIterator">
+<ANCHOR id="DBusGTypeSpecializedMapIteratorFunc" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapIteratorFunc">
+<ANCHOR id="DBusGTypeSpecializedMapVtable" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedMapVtable">
+<ANCHOR id="DBusGTypeSpecializedStructGetMember" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructGetMember">
+<ANCHOR id="DBusGTypeSpecializedStructSetMember" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructSetMember">
+<ANCHOR id="DBusGTypeSpecializedStructVtable" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedStructVtable">
+<ANCHOR id="DBusGTypeSpecializedVtable" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#DBusGTypeSpecializedVtable">
+<ANCHOR id="dbus-g-type-collection-get-fixed" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-get-fixed">
+<ANCHOR id="dbus-g-type-collection-peek-vtable" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-peek-vtable">
+<ANCHOR id="dbus-g-type-collection-value-iterate" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-collection-value-iterate">
+<ANCHOR id="dbus-g-type-get-collection" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-collection">
+<ANCHOR id="dbus-g-type-get-collection-specialization" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-collection-specialization">
+<ANCHOR id="dbus-g-type-get-map" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map">
+<ANCHOR id="dbus-g-type-get-map-key-specialization" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map-key-specialization">
+<ANCHOR id="dbus-g-type-get-map-value-specialization" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-map-value-specialization">
+<ANCHOR id="dbus-g-type-get-struct" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct">
+<ANCHOR id="dbus-g-type-get-struct-member-type" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct-member-type">
+<ANCHOR id="dbus-g-type-get-struct-size" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-struct-size">
+<ANCHOR id="dbus-g-type-get-structv" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-get-structv">
+<ANCHOR id="dbus-g-type-is-collection" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-is-collection">
+<ANCHOR id="dbus-g-type-is-map" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-is-map">
+<ANCHOR id="dbus-g-type-is-struct" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-is-struct">
+<ANCHOR id="dbus-g-type-map-peek-vtable" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-map-peek-vtable">
+<ANCHOR id="dbus-g-type-map-value-iterate" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-map-value-iterate">
+<ANCHOR id="dbus-g-type-register-collection" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-register-collection">
+<ANCHOR id="dbus-g-type-register-map" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-register-map">
+<ANCHOR id="dbus-g-type-register-struct" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-register-struct">
+<ANCHOR id="dbus-g-type-specialized-collection-append" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-collection-append">
+<ANCHOR id="dbus-g-type-specialized-collection-end-append" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-collection-end-append">
+<ANCHOR id="dbus-g-type-specialized-construct" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-construct">
+<ANCHOR id="dbus-g-type-specialized-init" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init">
+<ANCHOR id="dbus-g-type-specialized-init-append" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-init-append">
+<ANCHOR id="dbus-g-type-specialized-map-append" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-specialized-map-append">
+<ANCHOR id="dbus-g-type-struct-get" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-get">
+<ANCHOR id="dbus-g-type-struct-get-member" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-get-member">
+<ANCHOR id="dbus-g-type-struct-peek-vtable" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-peek-vtable">
+<ANCHOR id="dbus-g-type-struct-set" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-set">
+<ANCHOR id="dbus-g-type-struct-set-member" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-type-struct-set-member">
+<ANCHOR id="dbus-g-value-build-g-variant" href="dbus-glib/dbus-glib-dbus-gtype-specialized.html#dbus-g-value-build-g-variant">
+<ANCHOR id="dbus-glib-dbus-glib-lowlevel" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html">
+<ANCHOR id="dbus-glib-dbus-glib-lowlevel.stability-level" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-glib-dbus-glib-lowlevel.stability-level">
+<ANCHOR id="dbus-glib-dbus-glib-lowlevel.synopsis" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-glib-dbus-glib-lowlevel.synopsis">
+<ANCHOR id="dbus-glib-dbus-glib-lowlevel.description" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-glib-dbus-glib-lowlevel.description">
+<ANCHOR id="dbus-glib-dbus-glib-lowlevel.details" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-glib-dbus-glib-lowlevel.details">
+<ANCHOR id="DBUS-TYPE-CONNECTION:CAPS" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#DBUS-TYPE-CONNECTION:CAPS">
+<ANCHOR id="DBUS-TYPE-MESSAGE:CAPS" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#DBUS-TYPE-MESSAGE:CAPS">
+<ANCHOR id="dbus-connection-get-g-connection" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-connection-get-g-connection">
+<ANCHOR id="dbus-connection-get-g-type" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-connection-get-g-type">
+<ANCHOR id="dbus-connection-setup-with-g-main" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-connection-setup-with-g-main">
+<ANCHOR id="dbus-g-connection-get-connection" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-g-connection-get-connection">
+<ANCHOR id="dbus-g-message-get-message" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-g-message-get-message">
+<ANCHOR id="dbus-g-method-get-reply" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-g-method-get-reply">
+<ANCHOR id="dbus-g-method-get-sender" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-g-method-get-sender">
+<ANCHOR id="dbus-g-method-send-reply" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-g-method-send-reply">
+<ANCHOR id="dbus-g-proxy-send" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-g-proxy-send">
+<ANCHOR id="dbus-message-get-g-type" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-message-get-g-type">
+<ANCHOR id="dbus-server-setup-with-g-main" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-server-setup-with-g-main">
+<ANCHOR id="dbus-set-g-error" href="dbus-glib/dbus-glib-dbus-glib-lowlevel.html#dbus-set-g-error">
+<ANCHOR id="dbus-binding-tool" href="dbus-glib/dbus-binding-tool.html">
diff --git a/doc/reference/html/left.png b/doc/reference/html/left.png
new file mode 100644
index 0000000..2d05b3d
--- /dev/null
+++ b/doc/reference/html/left.png
Binary files differ
diff --git a/doc/reference/html/right.png b/doc/reference/html/right.png
new file mode 100644
index 0000000..92832e3
--- /dev/null
+++ b/doc/reference/html/right.png
Binary files differ
diff --git a/doc/reference/html/style.css b/doc/reference/html/style.css
new file mode 100644
index 0000000..d6f6c26
--- /dev/null
+++ b/doc/reference/html/style.css
@@ -0,0 +1,266 @@
+.synopsis, .classsynopsis
+{
+ /* tango:aluminium 1/2 */
+ background: #eeeeec;
+ border: solid 1px #d3d7cf;
+ padding: 0.5em;
+}
+.programlisting
+{
+ /* tango:sky blue 0/1 */
+ background: #e6f3ff;
+ border: solid 1px #729fcf;
+ padding: 0.5em;
+}
+.variablelist
+{
+ padding: 4px;
+ margin-left: 3em;
+}
+.variablelist td:first-child
+{
+ vertical-align: top;
+}
+
+@media screen {
+ sup a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+ {
+ display: inline-block;
+ position: relative;
+ top:-5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 3.2em;
+ padding-bottom: 20em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ z-index: 10;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:scarlet red 3 */
+ color: #a40000;
+ }
+ .navigation a:hover
+ {
+ /* tango:scarlet red 1 */
+ color: #ef2929;
+ }
+ td.shortcuts
+ {
+ /* tango:scarlet red 1 */
+ color: #ef2929;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
+
+.navigation .title
+{
+ font-size: 200%;
+}
+
+div.gallery-float
+{
+ float: left;
+ padding: 10px;
+}
+div.gallery-float img
+{
+ border-style: none;
+}
+div.gallery-spacer
+{
+ clear: both;
+}
+
+a, a:visited
+{
+ text-decoration: none;
+ /* tango:sky blue 2 */
+ color: #3465a4;
+}
+a:hover
+{
+ text-decoration: underline;
+ /* tango:sky blue 1 */
+ color: #729fcf;
+}
+
+div.table table
+{
+ border-collapse: collapse;
+ border-spacing: 0px;
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+}
+
+div.table table td, div.table table th
+{
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+ padding: 3px;
+ vertical-align: top;
+}
+
+div.table table th
+{
+ /* tango:aluminium 2 */
+ background-color: #d3d7cf;
+}
+
+hr
+{
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ background: #babdb6;
+ border: none 0px;
+ height: 1px;
+ clear: both;
+}
+
+.footer
+{
+ padding-top: 3.5em;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ text-align: center;
+ font-size: 80%;
+}
+
+.warning
+{
+ /* tango:orange 0/1 */
+ background: #ffeed9;
+ border-color: #ffb04f;
+}
+.note
+{
+ /* tango:chameleon 0/0.5 */
+ background: #d8ffb2;
+ border-color: #abf562;
+}
+.note, .warning
+{
+ padding: 0.5em;
+ border-width: 1px;
+ border-style: solid;
+}
+.note h3, .warning h3
+{
+ margin-top: 0.0em
+}
+.note p, .warning p
+{
+ margin-bottom: 0.0em
+}
+
+/* blob links */
+h2 .extralinks, h3 .extralinks
+{
+ float: right;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+.annotation
+{
+ /* tango:aluminium 5 */
+ color: #555753;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+/* code listings */
+
+.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */
+.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */
+.listing_code .programlisting .function { color: #000000; font-weight: bold; }
+.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
+.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */
+.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
+.listing_code .programlisting .normal { color: #000000; }
+.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */
+.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
+.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */
+.listing_code .programlisting .type { color: #000000; }
+.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */
+.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */
+
+.listing_frame {
+ /* tango:sky blue 1 */
+ border: solid 1px #729fcf;
+ padding: 0px;
+}
+
+.listing_lines, .listing_code {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0.5em;
+}
+.listing_lines {
+ /* tango:sky blue 0.5 */
+ background: #a6c5e3;
+ /* tango:aluminium 6 */
+ color: #2e3436;
+}
+.listing_code {
+ /* tango:sky blue 0 */
+ background: #e6f3ff;
+}
+.listing_code .programlisting {
+ /* override from previous */
+ border: none 0px;
+ padding: 0px;
+}
+.listing_lines pre, .listing_code pre {
+ margin: 0px;
+}
+
diff --git a/doc/reference/html/up.png b/doc/reference/html/up.png
new file mode 100644
index 0000000..85b3e2a
--- /dev/null
+++ b/doc/reference/html/up.png
Binary files differ