MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //usr/local/ssl/share/gtk-doc/html/dbus-glib/dbus-glib-DBusGProxy.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>DBusGProxy</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" 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-DBusGError.html" title="DBusGError">
<link rel="next" href="dbus-glib-GType-utility-functions.html" title="GType utility functions">
<meta name="generator" content="GTK-Doc V1.7 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="ch01.html" title="Introduction">
<link rel="chapter" href="ch02.html" title="API Reference">
<link rel="chapter" href="ch03.html" title="Tools Reference">
</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-DBusGError.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-GType-utility-functions.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2565934" class="shortcut">Top</a>
                  &#160;|&#160;
                  <a href="#id2572913" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="dbus-glib-DBusGProxy"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id2565934"></a><span class="refentrytitle">DBusGProxy</span>
</h2>
<p>DBusGProxy &#8212; DBus Proxy</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1" lang="en">
<a name="id2569037"></a><h2>Stability Level</h2>
Stable, unless otherwise indicated
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">



            <a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a>;
<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a>* <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name">dbus_g_proxy_new_for_name</a>       (<a href="dbus-glib-DBusGConnection.html#DBusGConnection">DBusGConnection</a> *connection,
                                             const char *name,
                                             const char *path,
                                             const char *interface);
<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a>* <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name-owner">dbus_g_proxy_new_for_name_owner</a> (<a href="dbus-glib-DBusGConnection.html#DBusGConnection">DBusGConnection</a> *connection,
                                             const char *name,
                                             const char *path,
                                             const char *interface,
                                             GError **error);
<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a>* <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-from-proxy">dbus_g_proxy_new_from_proxy</a>     (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *interface,
                                             const char *path_name);
<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a>* <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-peer">dbus_g_proxy_new_for_peer</a>       (<a href="dbus-glib-DBusGConnection.html#DBusGConnection">DBusGConnection</a> *connection,
                                             const char *path_name,
                                             const char *interface_name);
void        <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-set-interface">dbus_g_proxy_set_interface</a>      (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *interface_name);
const char* <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-get-path">dbus_g_proxy_get_path</a>           (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy);
const char* <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-get-bus-name">dbus_g_proxy_get_bus_name</a>       (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy);
const char* <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-get-interface">dbus_g_proxy_get_interface</a>      (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy);
void        <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-add-signal">dbus_g_proxy_add_signal</a>         (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *signal_name,
                                             GType first_type,
                                             ...);
void        <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-connect-signal">dbus_g_proxy_connect_signal</a>     (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *signal_name,
                                             GCallback handler,
                                             void *data,
                                             GClosureNotify free_data_func);
void        <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-disconnect-signal">dbus_g_proxy_disconnect_signal</a>  (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *signal_name,
                                             GCallback handler,
                                             void *data);
void        <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-send">dbus_g_proxy_send</a>               (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             DBusMessage *message,
                                             dbus_uint32_t *client_serial);
gboolean    <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-call">dbus_g_proxy_call</a>               (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *method,
                                             GError **error,
                                             GType first_arg_type,
                                             ...);
void        <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-call-no-reply">dbus_g_proxy_call_no_reply</a>      (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *method,
                                             GType first_arg_type,
                                             ...);
DBusGProxyCall* <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-begin-call">dbus_g_proxy_begin_call</a>     (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *method,
                                             DBusGProxyCallNotify notify,
                                             gpointer data,
                                             GDestroyNotify destroy,
                                             GType first_arg_type,
                                             ...);
gboolean    <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-end-call">dbus_g_proxy_end_call</a>           (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             DBusGProxyCall *call,
                                             GError **error,
                                             GType first_arg_type,
                                             ...);
void        <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-cancel-call">dbus_g_proxy_cancel_call</a>        (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             DBusGProxyCall *call);

</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2572913"></a><h2>Description</h2>
<p>
A <a href="dbus-glib-DBusGProxy.html#DBusGProxy"><span class="type">DBusGProxy</span></a> is a boxed type abstracting a <span class="type">DBusProxy</span>.</p>
<p>

</p>
</div>
<div class="refsect1" lang="en">
<a name="id2572946"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2572957"></a><h3>
<a name="DBusGProxy"></a>DBusGProxy</h3>
<a class="indexterm" name="id2572969"></a><pre class="programlisting">typedef struct {
  GObject parent;
} DBusGProxy;
</pre>
<p>

</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2572985"></a><h3>
<a name="dbus-g-proxy-new-for-name"></a>dbus_g_proxy_new_for_name ()</h3>
<a class="indexterm" name="id2572997"></a><pre class="programlisting"><a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a>* dbus_g_proxy_new_for_name       (<a href="dbus-glib-DBusGConnection.html#DBusGConnection">DBusGConnection</a> *connection,
                                             const char *name,
                                             const char *path,
                                             const char *interface);</pre>
<p>
Creates a new proxy for a remote interface exported by a connection
on a message bus. Method calls and signal connections over this
proxy will go to the name owner; the name's owner is expected to
support the given interface name. THE NAME OWNER MAY CHANGE OVER
TIME, for example between two different method calls, unless the
name is a unique name. If you need a fixed owner, you need to
request the current owner and bind a proxy to its unique name
rather than to the generic name; see
<a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name-owner"><code class="function">dbus_g_proxy_new_for_name_owner()</code></a>.
</p>
<p>
A name-associated proxy only makes sense with a message bus, not
for app-to-app direct dbus connections.
</p>
<p>
This proxy will only emit the "destroy" signal if the
<span class="type">DBusConnection</span> is disconnected, the proxy has no remaining
references, or the name is a unique name and its owner
disappears. If a well-known name changes owner, the proxy will
still be alive.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>connection</code></em>&#160;:</span></td>
<td> the connection to the remote bus
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em>&#160;:</span></td>
<td> any name on the message bus
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>path</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>interface</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> new proxy object
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2530167"></a><h3>
<a name="dbus-g-proxy-new-for-name-owner"></a>dbus_g_proxy_new_for_name_owner ()</h3>
<a class="indexterm" name="id2530180"></a><pre class="programlisting"><a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a>* dbus_g_proxy_new_for_name_owner (<a href="dbus-glib-DBusGConnection.html#DBusGConnection">DBusGConnection</a> *connection,
                                             const char *name,
                                             const char *path,
                                             const char *interface,
                                             GError **error);</pre>
<p>
Similar to <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name"><code class="function">dbus_g_proxy_new_for_name()</code></a>, but makes a round-trip
request to the message bus to get the current name owner, then
binds the proxy to the unique name of the current owner, rather
than to the well-known name. As a result, the name owner will
not change over time, and the proxy will emit the "destroy" signal
when the owner disappears from the message bus.
</p>
<p>
An example of the difference between <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name"><code class="function">dbus_g_proxy_new_for_name()</code></a>
and <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name-owner"><code class="function">dbus_g_proxy_new_for_name_owner()</code></a>: if you provide the well-known name
"org.freedesktop.Database" <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name"><code class="function">dbus_g_proxy_new_for_name()</code></a> remains bound
to that name as it changes owner. <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name-owner"><code class="function">dbus_g_proxy_new_for_name_owner()</code></a>
will fail if the name has no owner. If the name has an owner,
<a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name-owner"><code class="function">dbus_g_proxy_new_for_name_owner()</code></a> will bind to the unique name
of that owner rather than the generic name.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>connection</code></em>&#160;:</span></td>
<td> the connection to the remote bus
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em>&#160;:</span></td>
<td> any name on the message bus
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>path</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>interface</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>error</code></em>&#160;:</span></td>
<td> return location for an error
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> new proxy object, or <span class="type">NULL</span> on error
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2573784"></a><h3>
<a name="dbus-g-proxy-new-from-proxy"></a>dbus_g_proxy_new_from_proxy ()</h3>
<a class="indexterm" name="id2573795"></a><pre class="programlisting"><a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a>* dbus_g_proxy_new_from_proxy     (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *interface,
                                             const char *path_name);</pre>
<p>
Creates a proxy using an existing proxy as a template, substituting
the specified interface and path.  Either or both may be NULL.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> the proxy to use as a template
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>interface</code></em>&#160;:</span></td>
<td> name of the interface to call methods on
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>path_name</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> new proxy object
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2573890"></a><h3>
<a name="dbus-g-proxy-new-for-peer"></a>dbus_g_proxy_new_for_peer ()</h3>
<a class="indexterm" name="id2573901"></a><pre class="programlisting"><a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a>* dbus_g_proxy_new_for_peer       (<a href="dbus-glib-DBusGConnection.html#DBusGConnection">DBusGConnection</a> *connection,
                                             const char *path_name,
                                             const char *interface_name);</pre>
<p>
Creates a proxy for an object in peer application (one
we're directly connected to). That is, this function is
intended for use when there's no message bus involved,
we're doing a simple 1-to-1 communication between two
applications.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>connection</code></em>&#160;:</span></td>
<td> the connection to the peer
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>path_name</code></em>&#160;:</span></td>
<td> name of the object inside the peer to call methods on
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>interface_name</code></em>&#160;:</span></td>
<td> name of the interface to call methods on
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> new proxy object
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2574009"></a><h3>
<a name="dbus-g-proxy-set-interface"></a>dbus_g_proxy_set_interface ()</h3>
<a class="indexterm" name="id2574021"></a><pre class="programlisting">void        dbus_g_proxy_set_interface      (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *interface_name);</pre>
<p>
Sets the object interface proxy is bound to</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> the proxy
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>interface_name</code></em>&#160;:</span></td>
<td> an object interface 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2574092"></a><h3>
<a name="dbus-g-proxy-get-path"></a>dbus_g_proxy_get_path ()</h3>
<a class="indexterm" name="id2574103"></a><pre class="programlisting">const char* dbus_g_proxy_get_path           (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy);</pre>
<p>
</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> the proxy
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> an object path
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2574164"></a><h3>
<a name="dbus-g-proxy-get-bus-name"></a>dbus_g_proxy_get_bus_name ()</h3>
<a class="indexterm" name="id2574176"></a><pre class="programlisting">const char* dbus_g_proxy_get_bus_name       (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy);</pre>
<p>
Gets the bus name a proxy is bound to (may be <span class="type">NULL</span> in some cases).
If you created the proxy with <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name"><code class="function">dbus_g_proxy_new_for_name()</code></a>, then
the name you passed to that will be returned.
If you created it with <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-name-owner"><code class="function">dbus_g_proxy_new_for_name_owner()</code></a>, then the
unique connection name will be returned. If you created it
with <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-new-for-peer"><code class="function">dbus_g_proxy_new_for_peer()</code></a> then <span class="type">NULL</span> will be returned.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> the proxy
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the bus name the proxy sends messages to
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2574283"></a><h3>
<a name="dbus-g-proxy-get-interface"></a>dbus_g_proxy_get_interface ()</h3>
<a class="indexterm" name="id2574295"></a><pre class="programlisting">const char* dbus_g_proxy_get_interface      (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy);</pre>
<p>
Gets the object interface proxy is bound to (may be <span class="type">NULL</span> in some cases).</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> the proxy
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> an object interface 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2574364"></a><h3>
<a name="dbus-g-proxy-add-signal"></a>dbus_g_proxy_add_signal ()</h3>
<a class="indexterm" name="id2574375"></a><pre class="programlisting">void        dbus_g_proxy_add_signal         (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *signal_name,
                                             GType first_type,
                                             ...);</pre>
<p>
Specifies the argument signature of a signal;.only necessary
if the remote object does not support introspection.  The arguments
specified are the GLib types expected.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> the proxy for a remote interface
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>signal_name</code></em>&#160;:</span></td>
<td> the name of the signal
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>first_type</code></em>&#160;:</span></td>
<td> the first argument type, or G_TYPE_INVALID if none
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></td>
<td>


</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2574486"></a><h3>
<a name="dbus-g-proxy-connect-signal"></a>dbus_g_proxy_connect_signal ()</h3>
<a class="indexterm" name="id2574497"></a><pre class="programlisting">void        dbus_g_proxy_connect_signal     (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *signal_name,
                                             GCallback handler,
                                             void *data,
                                             GClosureNotify free_data_func);</pre>
<p>
Connect a signal handler to a proxy for a remote interface.  When
the remote interface emits the specified signal, the proxy will
emit a corresponding GLib signal.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> a proxy for a remote interface
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>signal_name</code></em>&#160;:</span></td>
<td> the DBus signal name to listen for
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>handler</code></em>&#160;:</span></td>
<td> the handler to connect
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>data</code></em>&#160;:</span></td>
<td> data to pass to handler
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>free_data_func</code></em>&#160;:</span></td>
<td> callback function to destroy data
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2574635"></a><h3>
<a name="dbus-g-proxy-disconnect-signal"></a>dbus_g_proxy_disconnect_signal ()</h3>
<a class="indexterm" name="id2574648"></a><pre class="programlisting">void        dbus_g_proxy_disconnect_signal  (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *signal_name,
                                             GCallback handler,
                                             void *data);</pre>
<p>
Disconnect all signal handlers from a proxy that match the given
criteria.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> a proxy for a remote interface
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>signal_name</code></em>&#160;:</span></td>
<td> the DBus signal name to disconnect
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>handler</code></em>&#160;:</span></td>
<td> the handler to disconnect
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>data</code></em>&#160;:</span></td>
<td> the data that was registered with handler
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2574764"></a><h3>
<a name="dbus-g-proxy-send"></a>dbus_g_proxy_send ()</h3>
<a class="indexterm" name="id2574776"></a><pre class="programlisting">void        dbus_g_proxy_send               (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             DBusMessage *message,
                                             dbus_uint32_t *client_serial);</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
<code class="function">dbus_connection_flush()</code>.
</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>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> a proxy for a remote interface
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>message</code></em>&#160;:</span></td>
<td> the message to address and send
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>client_serial</code></em>&#160;:</span></td>
<td> return location for message's serial, or <span class="type">NULL</span> 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2574891"></a><h3>
<a name="dbus-g-proxy-call"></a>dbus_g_proxy_call ()</h3>
<a class="indexterm" name="id2574901"></a><pre class="programlisting">gboolean    dbus_g_proxy_call               (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *method,
                                             GError **error,
                                             GType first_arg_type,
                                             ...);</pre>
<p>
Function for synchronously invoking a method and receiving reply
values.  This function is equivalent to dbus_g_proxy_begin_call
followed by dbus_g_proxy_end_call.  All of the input arguments are
specified first, followed by G_TYPE_INVALID, followed by all of the
output values, followed by a second G_TYPE_INVALID.  Note that  
this means you must always specify G_TYPE_INVALID twice.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> a proxy for a remote interface
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>method</code></em>&#160;:</span></td>
<td> method to invoke
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>error</code></em>&#160;:</span></td>
<td> return location for an error
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>first_arg_type</code></em>&#160;:</span></td>
<td> type of first "in" argument
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <span class="type">FALSE</span> if an error is set, <span class="type">TRUE</span> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2575046"></a><h3>
<a name="dbus-g-proxy-call-no-reply"></a>dbus_g_proxy_call_no_reply ()</h3>
<a class="indexterm" name="id2575057"></a><pre class="programlisting">void        dbus_g_proxy_call_no_reply      (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *method,
                                             GType first_arg_type,
                                             ...);</pre>
<p>
Sends a method call message as with <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-begin-call"><code class="function">dbus_g_proxy_begin_call()</code></a>, but
does not ask for a reply or allow you to receive one.
</p>
<p>
TODO: this particular function shouldn't die on out of memory,
since you should be able to do a call with large arguments.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> a proxy for a remote interface
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>method</code></em>&#160;:</span></td>
<td> the name of the method to invoke
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>first_arg_type</code></em>&#160;:</span></td>
<td> type of the first argument
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></td>
<td>


</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2575171"></a><h3>
<a name="dbus-g-proxy-begin-call"></a>dbus_g_proxy_begin_call ()</h3>
<a class="indexterm" name="id2575181"></a><pre class="programlisting">DBusGProxyCall* dbus_g_proxy_begin_call     (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             const char *method,
                                             DBusGProxyCallNotify notify,
                                             gpointer data,
                                             GDestroyNotify destroy,
                                             GType first_arg_type,
                                             ...);</pre>
<p>
Asynchronously invokes a method on a remote interface. The method
call will not be sent over the wire until the application returns
to the main loop, or blocks in <code class="function">dbus_connection_flush()</code> to write out
pending data.  The call will be completed after a timeout, or when
a reply is received.  When the call returns, the callback specified
will be invoked; you can then collect the results of the call
(which may be an error, or a reply), use <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-end-call"><code class="function">dbus_g_proxy_end_call()</code></a>.
</p>
<p>
TODO this particular function shouldn't die on out of memory,
since you should be able to do a call with large arguments.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> a proxy for a remote interface
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>method</code></em>&#160;:</span></td>
<td> the name of the method to invoke
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>notify</code></em>&#160;:</span></td>
<td> callback to be invoked when method returns
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>data</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>destroy</code></em>&#160;:</span></td>
<td> function called to destroy user_data
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>first_arg_type</code></em>&#160;:</span></td>
<td> type of the first argument
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> call identifier.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2575376"></a><h3>
<a name="dbus-g-proxy-end-call"></a>dbus_g_proxy_end_call ()</h3>
<a class="indexterm" name="id2575386"></a><pre class="programlisting">gboolean    dbus_g_proxy_end_call           (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             DBusGProxyCall *call,
                                             GError **error,
                                             GType first_arg_type,
                                             ...);</pre>
<p>
Collects the results of a method call. The method call was normally
initiated with <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-end-call"><code class="function">dbus_g_proxy_end_call()</code></a>. You may use this function
outside of the callback given to dbus_g_proxy_begin_call; in that
case this function will block if the results haven't yet been
received.
</p>
<p>
If the call results in an error, the error is set as normal for
GError and the function returns <span class="type">FALSE</span>.
</p>
<p>
Otherwise, the "out" parameters and return value of the
method are stored in the provided varargs list.
The list should be terminated with G_TYPE_INVALID.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> a proxy for a remote interface
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>call</code></em>&#160;:</span></td>
<td> the pending call ID from <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-begin-call"><code class="function">dbus_g_proxy_begin_call()</code></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>error</code></em>&#160;:</span></td>
<td> return location for an error
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>first_arg_type</code></em>&#160;:</span></td>
<td> type of first "out" argument
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>...</code></em>&#160;:</span></td>
<td>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <span class="type">FALSE</span> if an error is set.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2575557"></a><h3>
<a name="dbus-g-proxy-cancel-call"></a>dbus_g_proxy_cancel_call ()</h3>
<a class="indexterm" name="id2575567"></a><pre class="programlisting">void        dbus_g_proxy_cancel_call        (<a href="dbus-glib-DBusGProxy.html#DBusGProxy">DBusGProxy</a> *proxy,
                                             DBusGProxyCall *call);</pre>
<p>
Cancels a pending method call. The method call was normally
initiated with <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-begin-call"><code class="function">dbus_g_proxy_begin_call()</code></a>.  This function
may not be used on pending calls that have already been
ended with dbus_g_proxy_end_call.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>proxy</code></em>&#160;:</span></td>
<td> a proxy for a remote interface
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>call</code></em>&#160;:</span></td>
<td> the pending call ID from <a href="dbus-glib-DBusGProxy.html#dbus-g-proxy-begin-call"><code class="function">dbus_g_proxy_begin_call()</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id2575651"></a><h2>See Also</h2>
<span class="type">DBusProxy</span>
</div>
</div>
</body>
</html>