⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.10
Server IP:
157.245.101.34
Server:
Linux skvinfotech-website 5.4.0-131-generic #147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022 x86_64
Server Software:
Apache/2.4.41 (Ubuntu)
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
self
/
root
/
usr
/
share
/
doc
/
libglib2.0-doc
/
gio
/
View File Name :
GDBusProxy.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>GDBusProxy: GIO Reference Manual</title> <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <link rel="home" href="index.html" title="GIO Reference Manual"> <link rel="up" href="gdbus-convenience.html" title="High-level D-Bus Support"> <link rel="prev" href="GDBusInterfaceSkeleton.html" title="GDBusInterfaceSkeleton"> <link rel="next" href="GDBusObject.html" title="GDBusObject"> <meta name="generator" content="GTK-Doc V1.32 (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="5"><tr valign="middle"> <td width="100%" align="left" class="shortcuts"> <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> <a href="#GDBusProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> <a href="#GDBusProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces"> <span class="dim">|</span> <a href="#GDBusProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties"> <span class="dim">|</span> <a href="#GDBusProxy.properties" class="shortcut">Properties</a></span><span id="nav_signals"> <span class="dim">|</span> <a href="#GDBusProxy.signals" class="shortcut">Signals</a></span> </td> <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> <td><a accesskey="u" href="gdbus-convenience.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="GDBusInterfaceSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="GDBusObject.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> </tr></table> <div class="refentry"> <a name="GDBusProxy"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2><span class="refentrytitle"><a name="GDBusProxy.top_of_page"></a>GDBusProxy</span></h2> <p>GDBusProxy — Client-side D-Bus interface proxy</p> </td> <td class="gallery_image" valign="top" align="right"></td> </tr></table></div> <div class="refsect1"> <a name="GDBusProxy.functions"></a><h2>Functions</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="functions_proto_type"> <col class="functions_proto_name"> </colgroup> <tbody> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-new" title="g_dbus_proxy_new ()">g_dbus_proxy_new</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="returnvalue">GDBusProxy</span></a> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-new-finish" title="g_dbus_proxy_new_finish ()">g_dbus_proxy_new_finish</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="returnvalue">GDBusProxy</span></a> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-new-sync" title="g_dbus_proxy_new_sync ()">g_dbus_proxy_new_sync</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-new-for-bus" title="g_dbus_proxy_new_for_bus ()">g_dbus_proxy_new_for_bus</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="returnvalue">GDBusProxy</span></a> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-new-for-bus-finish" title="g_dbus_proxy_new_for_bus_finish ()">g_dbus_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="returnvalue">GDBusProxy</span></a> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-new-for-bus-sync" title="g_dbus_proxy_new_for_bus_sync ()">g_dbus_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="returnvalue">GDBusProxyFlags</span></a> </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-get-flags" title="g_dbus_proxy_get_flags ()">g_dbus_proxy_get_flags</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="returnvalue">GDBusConnection</span></a> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-get-connection" title="g_dbus_proxy_get_connection ()">g_dbus_proxy_get_connection</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">const <span class="returnvalue">gchar</span> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-get-name" title="g_dbus_proxy_get_name ()">g_dbus_proxy_get_name</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gchar</span> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-get-name-owner" title="g_dbus_proxy_get_name_owner ()">g_dbus_proxy_get_name_owner</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">const <span class="returnvalue">gchar</span> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-get-object-path" title="g_dbus_proxy_get_object_path ()">g_dbus_proxy_get_object_path</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type">const <span class="returnvalue">gchar</span> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-get-interface-name" title="g_dbus_proxy_get_interface_name ()">g_dbus_proxy_get_interface_name</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gint</span> </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-get-default-timeout" title="g_dbus_proxy_get_default_timeout ()">g_dbus_proxy_get_default_timeout</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-set-default-timeout" title="g_dbus_proxy_set_default_timeout ()">g_dbus_proxy_set_default_timeout</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">GVariant</span> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-get-cached-property" title="g_dbus_proxy_get_cached_property ()">g_dbus_proxy_get_cached_property</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-set-cached-property" title="g_dbus_proxy_set_cached_property ()">g_dbus_proxy_set_cached_property</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">gchar</span> ** </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-get-cached-property-names" title="g_dbus_proxy_get_cached_property_names ()">g_dbus_proxy_get_cached_property_names</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-set-interface-info" title="g_dbus_proxy_set_interface_info ()">g_dbus_proxy_set_interface_info</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="returnvalue">GDBusInterfaceInfo</span></a> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-get-interface-info" title="g_dbus_proxy_get_interface_info ()">g_dbus_proxy_get_interface_info</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-call" title="g_dbus_proxy_call ()">g_dbus_proxy_call</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">GVariant</span> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-finish" title="g_dbus_proxy_call_finish ()">g_dbus_proxy_call_finish</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">GVariant</span> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-sync" title="g_dbus_proxy_call_sync ()">g_dbus_proxy_call_sync</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">void</span> </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-with-unix-fd-list" title="g_dbus_proxy_call_with_unix_fd_list ()">g_dbus_proxy_call_with_unix_fd_list</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">GVariant</span> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-with-unix-fd-list-finish" title="g_dbus_proxy_call_with_unix_fd_list_finish ()">g_dbus_proxy_call_with_unix_fd_list_finish</a> <span class="c_punctuation">()</span> </td> </tr> <tr> <td class="function_type"> <span class="returnvalue">GVariant</span> * </td> <td class="function_name"> <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-with-unix-fd-list-sync" title="g_dbus_proxy_call_with_unix_fd_list_sync ()">g_dbus_proxy_call_with_unix_fd_list_sync</a> <span class="c_punctuation">()</span> </td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GDBusProxy.properties"></a><h2>Properties</h2> <div class="informaltable"><table class="informaltable" border="0"> <colgroup> <col width="150px" class="properties_type"> <col width="300px" class="properties_name"> <col width="200px" class="properties_flags"> </colgroup> <tbody> <tr> <td class="property_type"><a class="link" href="GDBusConnection.html#GBusType" title="enum GBusType"><span class="type">GBusType</span></a></td> <td class="property_name"><a class="link" href="GDBusProxy.html#GDBusProxy--g-bus-type" title="The “g-bus-type” property">g-bus-type</a></td> <td class="property_flags">Write / Construct Only</td> </tr> <tr> <td class="property_type"> <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a> *</td> <td class="property_name"><a class="link" href="GDBusProxy.html#GDBusProxy--g-connection" title="The “g-connection” property">g-connection</a></td> <td class="property_flags">Read / Write / Construct Only</td> </tr> <tr> <td class="property_type"><span class="type">gint</span></td> <td class="property_name"><a class="link" href="GDBusProxy.html#GDBusProxy--g-default-timeout" title="The “g-default-timeout” property">g-default-timeout</a></td> <td class="property_flags">Read / Write / Construct</td> </tr> <tr> <td class="property_type"><a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a></td> <td class="property_name"><a class="link" href="GDBusProxy.html#GDBusProxy--g-flags" title="The “g-flags” property">g-flags</a></td> <td class="property_flags">Read / Write / Construct Only</td> </tr> <tr> <td class="property_type"> <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> *</td> <td class="property_name"><a class="link" href="GDBusProxy.html#GDBusProxy--g-interface-info" title="The “g-interface-info” property">g-interface-info</a></td> <td class="property_flags">Read / Write</td> </tr> <tr> <td class="property_type"> <span class="type">gchar</span> *</td> <td class="property_name"><a class="link" href="GDBusProxy.html#GDBusProxy--g-interface-name" title="The “g-interface-name” property">g-interface-name</a></td> <td class="property_flags">Read / Write / Construct Only</td> </tr> <tr> <td class="property_type"> <span class="type">gchar</span> *</td> <td class="property_name"><a class="link" href="GDBusProxy.html#GDBusProxy--g-name" title="The “g-name” property">g-name</a></td> <td class="property_flags">Read / Write / Construct Only</td> </tr> <tr> <td class="property_type"> <span class="type">gchar</span> *</td> <td class="property_name"><a class="link" href="GDBusProxy.html#GDBusProxy--g-name-owner" title="The “g-name-owner” property">g-name-owner</a></td> <td class="property_flags">Read</td> </tr> <tr> <td class="property_type"> <span class="type">gchar</span> *</td> <td class="property_name"><a class="link" href="GDBusProxy.html#GDBusProxy--g-object-path" title="The “g-object-path” property">g-object-path</a></td> <td class="property_flags">Read / Write / Construct Only</td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GDBusProxy.signals"></a><h2>Signals</h2> <div class="informaltable"><table class="informaltable" border="0"> <colgroup> <col width="150px" class="signal_proto_type"> <col width="300px" class="signal_proto_name"> <col width="200px" class="signal_proto_flags"> </colgroup> <tbody> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GDBusProxy.html#GDBusProxy-g-properties-changed" title="The “g-properties-changed” signal">g-properties-changed</a></td> <td class="signal_flags">Run Last</td> </tr> <tr> <td class="signal_type"><span class="returnvalue">void</span></td> <td class="signal_name"><a class="link" href="GDBusProxy.html#GDBusProxy-g-signal" title="The “g-signal” signal">g-signal</a></td> <td class="signal_flags">Run Last</td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GDBusProxy.other"></a><h2>Types and Values</h2> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="other_proto_type"> <col class="other_proto_name"> </colgroup> <tbody> <tr> <td class="datatype_keyword">enum</td> <td class="function_name"><a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags">GDBusProxyFlags</a></td> </tr> <tr> <td class="datatype_keyword"> </td> <td class="function_name"><a class="link" href="GDBusProxy.html#GDBusProxy-struct" title="GDBusProxy">GDBusProxy</a></td> </tr> <tr> <td class="datatype_keyword">struct</td> <td class="function_name"><a class="link" href="GDBusProxy.html#GDBusProxyClass" title="struct GDBusProxyClass">GDBusProxyClass</a></td> </tr> </tbody> </table></div> </div> <div class="refsect1"> <a name="GDBusProxy.object-hierarchy"></a><h2>Object Hierarchy</h2> <pre class="screen"> GFlags <span class="lineart">╰──</span> GDBusProxyFlags GObject <span class="lineart">╰──</span> GDBusProxy </pre> </div> <div class="refsect1"> <a name="GDBusProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2> <p> GDBusProxy implements <a class="link" href="GDBusInterface.html" title="GDBusInterface">GDBusInterface</a>, <a class="link" href="GInitable.html" title="GInitable">GInitable</a> and <a class="link" href="GAsyncInitable.html" title="GAsyncInitable">GAsyncInitable</a>.</p> </div> <div class="refsect1"> <a name="GDBusProxy.includes"></a><h2>Includes</h2> <pre class="synopsis">#include <gio/gio.h> </pre> </div> <div class="refsect1"> <a name="GDBusProxy.description"></a><h2>Description</h2> <p><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> is a base class used for proxies to access a D-Bus interface on a remote object. A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> can be constructed for both well-known and unique names.</p> <p>By default, <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> will cache all properties (and listen to changes) of the remote object, and proxy all signals that get emitted. This behaviour can be changed by passing suitable <a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> when the proxy is created. If the proxy is for a well-known name, the property cache is flushed when the name owner vanishes and reloaded when a name owner appears.</p> <p>The unique name owner of the proxy's name is tracked and can be read from <a class="link" href="GDBusProxy.html#GDBusProxy--g-name-owner" title="The “g-name-owner” property"><span class="type">“g-name-owner”</span></a>. Connect to the <span class="type">“notify”</span> signal to get notified of changes. Additionally, only signals and property changes emitted from the current name owner are considered and calls are always sent to the current name owner. This avoids a number of race conditions when the name is lost by one owner and claimed by another. However, if no name owner currently exists, then calls will be sent to the well-known name which may result in the message bus launching an owner (unless <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-AUTO-START:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START</code></a> is set).</p> <p>The generic <a class="link" href="GDBusProxy.html#GDBusProxy-g-properties-changed" title="The “g-properties-changed” signal"><span class="type">“g-properties-changed”</span></a> and <a class="link" href="GDBusProxy.html#GDBusProxy-g-signal" title="The “g-signal” signal"><span class="type">“g-signal”</span></a> signals are not very convenient to work with. Therefore, the recommended way of working with proxies is to subclass <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>, and have more natural properties and signals in your derived class. This <a class="link" href="ch35s05.html#gdbus-example-gdbus-codegen" title="Using gdbus-codegen">example</a> shows how this can easily be done using the gdbus-codegen tool.</p> <p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> instance can be used from multiple threads but note that all signals (e.g. <a class="link" href="GDBusProxy.html#GDBusProxy-g-signal" title="The “g-signal” signal"><span class="type">“g-signal”</span></a>, <a class="link" href="GDBusProxy.html#GDBusProxy-g-properties-changed" title="The “g-properties-changed” signal"><span class="type">“g-properties-changed”</span></a> and <span class="type">“notify”</span>) are emitted in the thread-default main context of the thread where the instance was constructed.</p> <p>An example using a proxy for a well-known name can be found in <a class="ulink" href="https://git.gnome.org/browse/glib/tree/gio/tests/gdbus-example-watch-proxy.c" target="_top">gdbus-example-watch-proxy.c</a></p> </div> <div class="refsect1"> <a name="GDBusProxy.functions_details"></a><h2>Functions</h2> <div class="refsect2"> <a name="g-dbus-proxy-new"></a><h3>g_dbus_proxy_new ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_dbus_proxy_new (<em class="parameter"><code><a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a> *connection</code></em>, <em class="parameter"><code><a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>, <em class="parameter"><code><a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> *info</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *interface_name</code></em>, <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>, <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Creates a proxy for accessing <em class="parameter"><code>interface_name</code></em> on the remote object at <em class="parameter"><code>object_path</code></em> owned by <em class="parameter"><code>name</code></em> at <em class="parameter"><code>connection</code></em> and asynchronously loads D-Bus properties unless the <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-LOAD-PROPERTIES:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES</code></a> flag is used. Connect to the <a class="link" href="GDBusProxy.html#GDBusProxy-g-properties-changed" title="The “g-properties-changed” signal"><span class="type">“g-properties-changed”</span></a> signal to get notified about property changes.</p> <p>If the <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-CONNECT-SIGNALS:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS</code></a> flag is not set, also sets up match rules for signals. Connect to the <a class="link" href="GDBusProxy.html#GDBusProxy-g-signal" title="The “g-signal” signal"><span class="type">“g-signal”</span></a> signal to handle signals from the remote object.</p> <p>If both <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-LOAD-PROPERTIES:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES</code></a> and <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-CONNECT-SIGNALS:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS</code></a> are set, this constructor is guaranteed to complete immediately without blocking.</p> <p>If <em class="parameter"><code>name</code></em> is a well-known name and the <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-AUTO-START:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START</code></a> and <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-AUTO-START-AT-CONSTRUCTION:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION</code></a> flags aren't set and no name owner currently exists, the message bus will be requested to launch a name owner for the name.</p> <p>This is a failable asynchronous constructor - when the proxy is ready, <em class="parameter"><code>callback</code></em> will be invoked and you can use <a class="link" href="GDBusProxy.html#g-dbus-proxy-new-finish" title="g_dbus_proxy_new_finish ()"><code class="function">g_dbus_proxy_new_finish()</code></a> to get the result.</p> <p>See <a class="link" href="GDBusProxy.html#g-dbus-proxy-new-sync" title="g_dbus_proxy_new_sync ()"><code class="function">g_dbus_proxy_new_sync()</code></a> and for a synchronous version of this constructor.</p> <p><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> is used in this example.</p> <div class="refsect3"> <a name="g-dbus-proxy-new.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>connection</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>Flags used when constructing the proxy.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>info</p></td> <td class="parameter_description"><p>A <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> specifying the minimal interface that <em class="parameter"><code>proxy</code></em> conforms to or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>A bus name (well-known or unique) or <code class="literal">NULL</code> if <em class="parameter"><code>connection</code></em> is not a message bus connection. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>object_path</p></td> <td class="parameter_description"><p>An object path.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>interface_name</p></td> <td class="parameter_description"><p>A D-Bus interface name.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>cancellable</p></td> <td class="parameter_description"><p>A <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>Callback function to invoke when the proxy is ready.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-new-finish"></a><h3>g_dbus_proxy_new_finish ()</h3> <pre class="programlisting"><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="returnvalue">GDBusProxy</span></a> * g_dbus_proxy_new_finish (<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *res</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <p>Finishes creating a <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p> <div class="refsect3"> <a name="g-dbus-proxy-new-finish.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>res</p></td> <td class="parameter_description"><p>A <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> obtained from the <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> function passed to <a class="link" href="GDBusProxy.html#g-dbus-proxy-new" title="g_dbus_proxy_new ()"><code class="function">g_dbus_proxy_new()</code></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>error</p></td> <td class="parameter_description"><p>Return location for error or <code class="literal">NULL</code>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-new-finish.returns"></a><h4>Returns</h4> <p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> or <code class="literal">NULL</code> if <em class="parameter"><code>error</code></em> is set. Free with <code class="function">g_object_unref()</code>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-new-sync"></a><h3>g_dbus_proxy_new_sync ()</h3> <pre class="programlisting"><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="returnvalue">GDBusProxy</span></a> * g_dbus_proxy_new_sync (<em class="parameter"><code><a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a> *connection</code></em>, <em class="parameter"><code><a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>, <em class="parameter"><code><a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> *info</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *interface_name</code></em>, <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <p>Creates a proxy for accessing <em class="parameter"><code>interface_name</code></em> on the remote object at <em class="parameter"><code>object_path</code></em> owned by <em class="parameter"><code>name</code></em> at <em class="parameter"><code>connection</code></em> and synchronously loads D-Bus properties unless the <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-LOAD-PROPERTIES:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES</code></a> flag is used.</p> <p>If the <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-CONNECT-SIGNALS:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS</code></a> flag is not set, also sets up match rules for signals. Connect to the <a class="link" href="GDBusProxy.html#GDBusProxy-g-signal" title="The “g-signal” signal"><span class="type">“g-signal”</span></a> signal to handle signals from the remote object.</p> <p>If both <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-LOAD-PROPERTIES:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES</code></a> and <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-CONNECT-SIGNALS:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS</code></a> are set, this constructor is guaranteed to return immediately without blocking.</p> <p>If <em class="parameter"><code>name</code></em> is a well-known name and the <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-AUTO-START:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START</code></a> and <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-AUTO-START-AT-CONSTRUCTION:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION</code></a> flags aren't set and no name owner currently exists, the message bus will be requested to launch a name owner for the name.</p> <p>This is a synchronous failable constructor. See <a class="link" href="GDBusProxy.html#g-dbus-proxy-new" title="g_dbus_proxy_new ()"><code class="function">g_dbus_proxy_new()</code></a> and <a class="link" href="GDBusProxy.html#g-dbus-proxy-new-finish" title="g_dbus_proxy_new_finish ()"><code class="function">g_dbus_proxy_new_finish()</code></a> for the asynchronous version.</p> <p><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> is used in this example.</p> <div class="refsect3"> <a name="g-dbus-proxy-new-sync.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>connection</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>Flags used when constructing the proxy.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>info</p></td> <td class="parameter_description"><p>A <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> specifying the minimal interface that <em class="parameter"><code>proxy</code></em> conforms to or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>A bus name (well-known or unique) or <code class="literal">NULL</code> if <em class="parameter"><code>connection</code></em> is not a message bus connection. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>object_path</p></td> <td class="parameter_description"><p>An object path.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>interface_name</p></td> <td class="parameter_description"><p>A D-Bus interface name.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>cancellable</p></td> <td class="parameter_description"><p>A <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>error</p></td> <td class="parameter_description"><p>Return location for error or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-new-sync.returns"></a><h4>Returns</h4> <p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> or <code class="literal">NULL</code> if error is set. Free with <code class="function">g_object_unref()</code>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-new-for-bus"></a><h3>g_dbus_proxy_new_for_bus ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_dbus_proxy_new_for_bus (<em class="parameter"><code><a class="link" href="GDBusConnection.html#GBusType" title="enum GBusType"><span class="type">GBusType</span></a> bus_type</code></em>, <em class="parameter"><code><a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>, <em class="parameter"><code><a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> *info</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *interface_name</code></em>, <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>, <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Like <a class="link" href="GDBusProxy.html#g-dbus-proxy-new" title="g_dbus_proxy_new ()"><code class="function">g_dbus_proxy_new()</code></a> but takes a <a class="link" href="GDBusConnection.html#GBusType" title="enum GBusType"><span class="type">GBusType</span></a> instead of a <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a>.</p> <p><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> is used in this example.</p> <div class="refsect3"> <a name="g-dbus-proxy-new-for-bus.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>bus_type</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusConnection.html#GBusType" title="enum GBusType"><span class="type">GBusType</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>Flags used when constructing the proxy.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>info</p></td> <td class="parameter_description"><p>A <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> specifying the minimal interface that <em class="parameter"><code>proxy</code></em> conforms to or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>A bus name (well-known or unique).</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>object_path</p></td> <td class="parameter_description"><p>An object path.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>interface_name</p></td> <td class="parameter_description"><p>A D-Bus interface name.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>cancellable</p></td> <td class="parameter_description"><p>A <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>Callback function to invoke when the proxy is ready.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-new-for-bus-finish"></a><h3>g_dbus_proxy_new_for_bus_finish ()</h3> <pre class="programlisting"><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="returnvalue">GDBusProxy</span></a> * g_dbus_proxy_new_for_bus_finish (<em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *res</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <p>Finishes creating a <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p> <div class="refsect3"> <a name="g-dbus-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>res</p></td> <td class="parameter_description"><p>A <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> obtained from the <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> function passed to <a class="link" href="GDBusProxy.html#g-dbus-proxy-new-for-bus" title="g_dbus_proxy_new_for_bus ()"><code class="function">g_dbus_proxy_new_for_bus()</code></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>error</p></td> <td class="parameter_description"><p>Return location for error or <code class="literal">NULL</code>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4> <p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> or <code class="literal">NULL</code> if <em class="parameter"><code>error</code></em> is set. Free with <code class="function">g_object_unref()</code>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-new-for-bus-sync"></a><h3>g_dbus_proxy_new_for_bus_sync ()</h3> <pre class="programlisting"><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="returnvalue">GDBusProxy</span></a> * g_dbus_proxy_new_for_bus_sync (<em class="parameter"><code><a class="link" href="GDBusConnection.html#GBusType" title="enum GBusType"><span class="type">GBusType</span></a> bus_type</code></em>, <em class="parameter"><code><a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>, <em class="parameter"><code><a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> *info</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *object_path</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *interface_name</code></em>, <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <p>Like <a class="link" href="GDBusProxy.html#g-dbus-proxy-new-sync" title="g_dbus_proxy_new_sync ()"><code class="function">g_dbus_proxy_new_sync()</code></a> but takes a <a class="link" href="GDBusConnection.html#GBusType" title="enum GBusType"><span class="type">GBusType</span></a> instead of a <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a>.</p> <p><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> is used in this example.</p> <div class="refsect3"> <a name="g-dbus-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>bus_type</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusConnection.html#GBusType" title="enum GBusType"><span class="type">GBusType</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>Flags used when constructing the proxy.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>info</p></td> <td class="parameter_description"><p>A <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> specifying the minimal interface that <em class="parameter"><code>proxy</code></em> conforms to or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>name</p></td> <td class="parameter_description"><p>A bus name (well-known or unique).</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>object_path</p></td> <td class="parameter_description"><p>An object path.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>interface_name</p></td> <td class="parameter_description"><p>A D-Bus interface name.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>cancellable</p></td> <td class="parameter_description"><p>A <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>error</p></td> <td class="parameter_description"><p>Return location for error or <code class="literal">NULL</code>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4> <p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> or <code class="literal">NULL</code> if error is set. Free with <code class="function">g_object_unref()</code>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-get-flags"></a><h3>g_dbus_proxy_get_flags ()</h3> <pre class="programlisting"><a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="returnvalue">GDBusProxyFlags</span></a> g_dbus_proxy_get_flags (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>);</pre> <p>Gets the flags that <em class="parameter"><code>proxy</code></em> was constructed with.</p> <div class="refsect3"> <a name="g-dbus-proxy-get-flags.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-get-flags.returns"></a><h4>Returns</h4> <p> Flags from the <a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-get-connection"></a><h3>g_dbus_proxy_get_connection ()</h3> <pre class="programlisting"><a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="returnvalue">GDBusConnection</span></a> * g_dbus_proxy_get_connection (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>);</pre> <p>Gets the connection <em class="parameter"><code>proxy</code></em> is for.</p> <div class="refsect3"> <a name="g-dbus-proxy-get-connection.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-get-connection.returns"></a><h4>Returns</h4> <p>A <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a> owned by <em class="parameter"><code>proxy</code></em> . Do not free. </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-get-name"></a><h3>g_dbus_proxy_get_name ()</h3> <pre class="programlisting">const <span class="returnvalue">gchar</span> * g_dbus_proxy_get_name (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>);</pre> <p>Gets the name that <em class="parameter"><code>proxy</code></em> was constructed for.</p> <div class="refsect3"> <a name="g-dbus-proxy-get-name.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-get-name.returns"></a><h4>Returns</h4> <p> A string owned by <em class="parameter"><code>proxy</code></em> . Do not free.</p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-get-name-owner"></a><h3>g_dbus_proxy_get_name_owner ()</h3> <pre class="programlisting"><span class="returnvalue">gchar</span> * g_dbus_proxy_get_name_owner (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>);</pre> <p>The unique name that owns the name that <em class="parameter"><code>proxy</code></em> is for or <code class="literal">NULL</code> if no-one currently owns that name. You may connect to the <span class="type">“notify”</span> signal to track changes to the <a class="link" href="GDBusProxy.html#GDBusProxy--g-name-owner" title="The “g-name-owner” property"><span class="type">“g-name-owner”</span></a> property.</p> <div class="refsect3"> <a name="g-dbus-proxy-get-name-owner.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-get-name-owner.returns"></a><h4>Returns</h4> <p>The name owner or <code class="literal">NULL</code> if no name owner exists. Free with <code class="function">g_free()</code>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-get-object-path"></a><h3>g_dbus_proxy_get_object_path ()</h3> <pre class="programlisting">const <span class="returnvalue">gchar</span> * g_dbus_proxy_get_object_path (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>);</pre> <p>Gets the object path <em class="parameter"><code>proxy</code></em> is for.</p> <div class="refsect3"> <a name="g-dbus-proxy-get-object-path.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-get-object-path.returns"></a><h4>Returns</h4> <p> A string owned by <em class="parameter"><code>proxy</code></em> . Do not free.</p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-get-interface-name"></a><h3>g_dbus_proxy_get_interface_name ()</h3> <pre class="programlisting">const <span class="returnvalue">gchar</span> * g_dbus_proxy_get_interface_name (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>);</pre> <p>Gets the D-Bus interface name <em class="parameter"><code>proxy</code></em> is for.</p> <div class="refsect3"> <a name="g-dbus-proxy-get-interface-name.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-get-interface-name.returns"></a><h4>Returns</h4> <p> A string owned by <em class="parameter"><code>proxy</code></em> . Do not free.</p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-get-default-timeout"></a><h3>g_dbus_proxy_get_default_timeout ()</h3> <pre class="programlisting"><span class="returnvalue">gint</span> g_dbus_proxy_get_default_timeout (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>);</pre> <p>Gets the timeout to use if -1 (specifying default timeout) is passed as <em class="parameter"><code>timeout_msec</code></em> in the <a class="link" href="GDBusProxy.html#g-dbus-proxy-call" title="g_dbus_proxy_call ()"><code class="function">g_dbus_proxy_call()</code></a> and <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-sync" title="g_dbus_proxy_call_sync ()"><code class="function">g_dbus_proxy_call_sync()</code></a> functions.</p> <p>See the <a class="link" href="GDBusProxy.html#GDBusProxy--g-default-timeout" title="The “g-default-timeout” property"><span class="type">“g-default-timeout”</span></a> property for more details.</p> <div class="refsect3"> <a name="g-dbus-proxy-get-default-timeout.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-get-default-timeout.returns"></a><h4>Returns</h4> <p> Timeout to use for <em class="parameter"><code>proxy</code></em> .</p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-set-default-timeout"></a><h3>g_dbus_proxy_set_default_timeout ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_dbus_proxy_set_default_timeout (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>, <em class="parameter"><code><span class="type">gint</span> timeout_msec</code></em>);</pre> <p>Sets the timeout to use if -1 (specifying default timeout) is passed as <em class="parameter"><code>timeout_msec</code></em> in the <a class="link" href="GDBusProxy.html#g-dbus-proxy-call" title="g_dbus_proxy_call ()"><code class="function">g_dbus_proxy_call()</code></a> and <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-sync" title="g_dbus_proxy_call_sync ()"><code class="function">g_dbus_proxy_call_sync()</code></a> functions.</p> <p>See the <a class="link" href="GDBusProxy.html#GDBusProxy--g-default-timeout" title="The “g-default-timeout” property"><span class="type">“g-default-timeout”</span></a> property for more details.</p> <div class="refsect3"> <a name="g-dbus-proxy-set-default-timeout.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>timeout_msec</p></td> <td class="parameter_description"><p>Timeout in milliseconds.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-get-cached-property"></a><h3>g_dbus_proxy_get_cached_property ()</h3> <pre class="programlisting"><span class="returnvalue">GVariant</span> * g_dbus_proxy_get_cached_property (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>);</pre> <p>Looks up the value for a property from the cache. This call does no blocking IO.</p> <p>If <em class="parameter"><code>proxy</code></em> has an expected interface (see <a class="link" href="GDBusProxy.html#GDBusProxy--g-interface-info" title="The “g-interface-info” property"><span class="type">“g-interface-info”</span></a>) and <em class="parameter"><code>property_name</code></em> is referenced by it, then <em class="parameter"><code>value</code></em> is checked against the type of the property.</p> <div class="refsect3"> <a name="g-dbus-proxy-get-cached-property.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>property_name</p></td> <td class="parameter_description"><p>Property name.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-get-cached-property.returns"></a><h4>Returns</h4> <p>A reference to the <span class="type">GVariant</span> instance that holds the value for <em class="parameter"><code>property_name</code></em> or <code class="literal">NULL</code> if the value is not in the cache. The returned reference must be freed with <code class="function">g_variant_unref()</code>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-set-cached-property"></a><h3>g_dbus_proxy_set_cached_property ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_dbus_proxy_set_cached_property (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *property_name</code></em>, <em class="parameter"><code><span class="type">GVariant</span> *value</code></em>);</pre> <p>If <em class="parameter"><code>value</code></em> is not <code class="literal">NULL</code>, sets the cached value for the property with name <em class="parameter"><code>property_name</code></em> to the value in <em class="parameter"><code>value</code></em> .</p> <p>If <em class="parameter"><code>value</code></em> is <code class="literal">NULL</code>, then the cached value is removed from the property cache.</p> <p>If <em class="parameter"><code>proxy</code></em> has an expected interface (see <a class="link" href="GDBusProxy.html#GDBusProxy--g-interface-info" title="The “g-interface-info” property"><span class="type">“g-interface-info”</span></a>) and <em class="parameter"><code>property_name</code></em> is referenced by it, then <em class="parameter"><code>value</code></em> is checked against the type of the property.</p> <p>If the <em class="parameter"><code>value</code></em> <span class="type">GVariant</span> is floating, it is consumed. This allows convenient 'inline' use of <code class="function">g_variant_new()</code>, e.g.</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 4 5</pre></td> <td class="listing_code"><pre class="programlisting"><span class="n">g_dbus_proxy_set_cached_property</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">"SomeProperty"</span><span class="p">,</span> <span class="n">g_variant_new</span> <span class="p">(</span><span class="s">"(si)"</span><span class="p">,</span> <span class="s">"A String"</span><span class="p">,</span> <span class="mi">42</span><span class="p">));</span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>Normally you will not need to use this method since <em class="parameter"><code>proxy</code></em> is tracking changes using the <code class="literal">org.freedesktop.DBus.Properties.PropertiesChanged</code> D-Bus signal. However, for performance reasons an object may decide to not use this signal for some properties and instead use a proprietary out-of-band mechanism to transmit changes.</p> <p>As a concrete example, consider an object with a property <code class="literal">ChatroomParticipants</code> which is an array of strings. Instead of transmitting the same (long) array every time the property changes, it is more efficient to only transmit the delta using e.g. signals <code class="literal">ChatroomParticipantJoined(String name)</code> and <code class="literal">ChatroomParticipantParted(String name)</code>.</p> <div class="refsect3"> <a name="g-dbus-proxy-set-cached-property.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>property_name</p></td> <td class="parameter_description"><p>Property name.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>value</p></td> <td class="parameter_description"><p>Value for the property or <code class="literal">NULL</code> to remove it from the cache. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-get-cached-property-names"></a><h3>g_dbus_proxy_get_cached_property_names ()</h3> <pre class="programlisting"><span class="returnvalue">gchar</span> ** g_dbus_proxy_get_cached_property_names (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>);</pre> <p>Gets the names of all cached properties on <em class="parameter"><code>proxy</code></em> .</p> <div class="refsect3"> <a name="g-dbus-proxy-get-cached-property-names.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-get-cached-property-names.returns"></a><h4>Returns</h4> <p>A <code class="literal">NULL</code>-terminated array of strings or <code class="literal">NULL</code> if <em class="parameter"><code>proxy</code></em> has no cached properties. Free the returned array with <code class="function">g_strfreev()</code>. </p> <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-set-interface-info"></a><h3>g_dbus_proxy_set_interface_info ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_dbus_proxy_set_interface_info (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>, <em class="parameter"><code><a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> *info</code></em>);</pre> <p>Ensure that interactions with <em class="parameter"><code>proxy</code></em> conform to the given interface. See the <a class="link" href="GDBusProxy.html#GDBusProxy--g-interface-info" title="The “g-interface-info” property"><span class="type">“g-interface-info”</span></a> property for more details.</p> <div class="refsect3"> <a name="g-dbus-proxy-set-interface-info.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a></p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>info</p></td> <td class="parameter_description"><p>Minimum interface this proxy conforms to or <code class="literal">NULL</code> to unset. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-get-interface-info"></a><h3>g_dbus_proxy_get_interface_info ()</h3> <pre class="programlisting"><a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="returnvalue">GDBusInterfaceInfo</span></a> * g_dbus_proxy_get_interface_info (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>);</pre> <p>Returns the <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a>, if any, specifying the interface that <em class="parameter"><code>proxy</code></em> conforms to. See the <a class="link" href="GDBusProxy.html#GDBusProxy--g-interface-info" title="The “g-interface-info” property"><span class="type">“g-interface-info”</span></a> property for more details.</p> <div class="refsect3"> <a name="g-dbus-proxy-get-interface-info.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody><tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a></p></td> <td class="parameter_annotations"> </td> </tr></tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-get-interface-info.returns"></a><h4>Returns</h4> <p>A <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> or <code class="literal">NULL</code>. Do not unref the returned object, it is owned by <em class="parameter"><code>proxy</code></em> . </p> <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-call"></a><h3>g_dbus_proxy_call ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_dbus_proxy_call (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *method_name</code></em>, <em class="parameter"><code><span class="type">GVariant</span> *parameters</code></em>, <em class="parameter"><code><a class="link" href="GDBusConnection.html#GDBusCallFlags" title="enum GDBusCallFlags"><span class="type">GDBusCallFlags</span></a> flags</code></em>, <em class="parameter"><code><span class="type">gint</span> timeout_msec</code></em>, <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>, <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Asynchronously invokes the <em class="parameter"><code>method_name</code></em> method on <em class="parameter"><code>proxy</code></em> .</p> <p>If <em class="parameter"><code>method_name</code></em> contains any dots, then <em class="parameter"><code>name</code></em> is split into interface and method name parts. This allows using <em class="parameter"><code>proxy</code></em> for invoking methods on other interfaces.</p> <p>If the <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a> associated with <em class="parameter"><code>proxy</code></em> is closed then the operation will fail with <a class="link" href="gio-GIOError.html#G-IO-ERROR-CLOSED:CAPS"><code class="literal">G_IO_ERROR_CLOSED</code></a>. If <em class="parameter"><code>cancellable</code></em> is canceled, the operation will fail with <a class="link" href="gio-GIOError.html#G-IO-ERROR-CANCELLED:CAPS"><code class="literal">G_IO_ERROR_CANCELLED</code></a>. If <em class="parameter"><code>parameters</code></em> contains a value not compatible with the D-Bus protocol, the operation fails with <a class="link" href="gio-GIOError.html#G-IO-ERROR-INVALID-ARGUMENT:CAPS"><code class="literal">G_IO_ERROR_INVALID_ARGUMENT</code></a>.</p> <p>If the <em class="parameter"><code>parameters</code></em> <span class="type">GVariant</span> is floating, it is consumed. This allows convenient 'inline' use of <code class="function">g_variant_new()</code>, e.g.:</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 4 5 6 7 8 9 10</pre></td> <td class="listing_code"><pre class="programlisting"><span class="n">g_dbus_proxy_call</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">"TwoStrings"</span><span class="p">,</span> <span class="n">g_variant_new</span> <span class="p">(</span><span class="s">"(ss)"</span><span class="p">,</span> <span class="s">"Thing One"</span><span class="p">,</span> <span class="s">"Thing Two"</span><span class="p">),</span> <span class="n">G_DBUS_CALL_FLAGS_NONE</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="p">(</span><span class="n">GAsyncReadyCallback</span><span class="p">)</span> <span class="n">two_strings_done</span><span class="p">,</span> <span class="o">&</span><span class="n">data</span><span class="p">);</span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>If <em class="parameter"><code>proxy</code></em> has an expected interface (see <a class="link" href="GDBusProxy.html#GDBusProxy--g-interface-info" title="The “g-interface-info” property"><span class="type">“g-interface-info”</span></a>) and <em class="parameter"><code>method_name</code></em> is referenced by it, then the return value is checked against the return type.</p> <p>This is an asynchronous method. When the operation is finished, <em class="parameter"><code>callback</code></em> will be invoked in the thread-default main context of the thread you are calling this method from. You can then call <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-finish" title="g_dbus_proxy_call_finish ()"><code class="function">g_dbus_proxy_call_finish()</code></a> to get the result of the operation. See <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-sync" title="g_dbus_proxy_call_sync ()"><code class="function">g_dbus_proxy_call_sync()</code></a> for the synchronous version of this method.</p> <p>If <em class="parameter"><code>callback</code></em> is <code class="literal">NULL</code> then the D-Bus method call message will be sent with the <a class="link" href="GDBusMessage.html#G-DBUS-MESSAGE-FLAGS-NO-REPLY-EXPECTED:CAPS"><code class="literal">G_DBUS_MESSAGE_FLAGS_NO_REPLY_EXPECTED</code></a> flag set.</p> <div class="refsect3"> <a name="g-dbus-proxy-call.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>method_name</p></td> <td class="parameter_description"><p>Name of method to invoke.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>parameters</p></td> <td class="parameter_description"><p>A <span class="type">GVariant</span> tuple with parameters for the signal or <code class="literal">NULL</code> if not passing parameters. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>Flags from the <a class="link" href="GDBusConnection.html#GDBusCallFlags" title="enum GDBusCallFlags"><span class="type">GDBusCallFlags</span></a> enumeration.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>timeout_msec</p></td> <td class="parameter_description"><p>The timeout in milliseconds (with <code class="literal">G_MAXINT</code> meaning "infinite") or -1 to use the proxy default timeout.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>cancellable</p></td> <td class="parameter_description"><p>A <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>A <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <code class="literal">NULL</code> if you don't care about the result of the method invocation. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>The data to pass to <em class="parameter"><code>callback</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-call-finish"></a><h3>g_dbus_proxy_call_finish ()</h3> <pre class="programlisting"><span class="returnvalue">GVariant</span> * g_dbus_proxy_call_finish (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>, <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *res</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <p>Finishes an operation started with <a class="link" href="GDBusProxy.html#g-dbus-proxy-call" title="g_dbus_proxy_call ()"><code class="function">g_dbus_proxy_call()</code></a>.</p> <div class="refsect3"> <a name="g-dbus-proxy-call-finish.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>res</p></td> <td class="parameter_description"><p>A <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> obtained from the <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="GDBusProxy.html#g-dbus-proxy-call" title="g_dbus_proxy_call ()"><code class="function">g_dbus_proxy_call()</code></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>error</p></td> <td class="parameter_description"><p>Return location for error or <code class="literal">NULL</code>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-call-finish.returns"></a><h4>Returns</h4> <p> <code class="literal">NULL</code> if <em class="parameter"><code>error</code></em> is set. Otherwise a <span class="type">GVariant</span> tuple with return values. Free with <code class="function">g_variant_unref()</code>.</p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-call-sync"></a><h3>g_dbus_proxy_call_sync ()</h3> <pre class="programlisting"><span class="returnvalue">GVariant</span> * g_dbus_proxy_call_sync (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *method_name</code></em>, <em class="parameter"><code><span class="type">GVariant</span> *parameters</code></em>, <em class="parameter"><code><a class="link" href="GDBusConnection.html#GDBusCallFlags" title="enum GDBusCallFlags"><span class="type">GDBusCallFlags</span></a> flags</code></em>, <em class="parameter"><code><span class="type">gint</span> timeout_msec</code></em>, <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <p>Synchronously invokes the <em class="parameter"><code>method_name</code></em> method on <em class="parameter"><code>proxy</code></em> .</p> <p>If <em class="parameter"><code>method_name</code></em> contains any dots, then <em class="parameter"><code>name</code></em> is split into interface and method name parts. This allows using <em class="parameter"><code>proxy</code></em> for invoking methods on other interfaces.</p> <p>If the <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a> associated with <em class="parameter"><code>proxy</code></em> is disconnected then the operation will fail with <a class="link" href="gio-GIOError.html#G-IO-ERROR-CLOSED:CAPS"><code class="literal">G_IO_ERROR_CLOSED</code></a>. If <em class="parameter"><code>cancellable</code></em> is canceled, the operation will fail with <a class="link" href="gio-GIOError.html#G-IO-ERROR-CANCELLED:CAPS"><code class="literal">G_IO_ERROR_CANCELLED</code></a>. If <em class="parameter"><code>parameters</code></em> contains a value not compatible with the D-Bus protocol, the operation fails with <a class="link" href="gio-GIOError.html#G-IO-ERROR-INVALID-ARGUMENT:CAPS"><code class="literal">G_IO_ERROR_INVALID_ARGUMENT</code></a>.</p> <p>If the <em class="parameter"><code>parameters</code></em> <span class="type">GVariant</span> is floating, it is consumed. This allows convenient 'inline' use of <code class="function">g_variant_new()</code>, e.g.:</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 4 5 6 7 8 9</pre></td> <td class="listing_code"><pre class="programlisting"><span class="n">g_dbus_proxy_call_sync</span> <span class="p">(</span><span class="n">proxy</span><span class="p">,</span> <span class="s">"TwoStrings"</span><span class="p">,</span> <span class="n">g_variant_new</span> <span class="p">(</span><span class="s">"(ss)"</span><span class="p">,</span> <span class="s">"Thing One"</span><span class="p">,</span> <span class="s">"Thing Two"</span><span class="p">),</span> <span class="n">G_DBUS_CALL_FLAGS_NONE</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">&</span><span class="n">error</span><span class="p">);</span></pre></td> </tr> </tbody> </table> </div> <p></p> <p>The calling thread is blocked until a reply is received. See <a class="link" href="GDBusProxy.html#g-dbus-proxy-call" title="g_dbus_proxy_call ()"><code class="function">g_dbus_proxy_call()</code></a> for the asynchronous version of this method.</p> <p>If <em class="parameter"><code>proxy</code></em> has an expected interface (see <a class="link" href="GDBusProxy.html#GDBusProxy--g-interface-info" title="The “g-interface-info” property"><span class="type">“g-interface-info”</span></a>) and <em class="parameter"><code>method_name</code></em> is referenced by it, then the return value is checked against the return type.</p> <div class="refsect3"> <a name="g-dbus-proxy-call-sync.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>method_name</p></td> <td class="parameter_description"><p>Name of method to invoke.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>parameters</p></td> <td class="parameter_description"><p>A <span class="type">GVariant</span> tuple with parameters for the signal or <code class="literal">NULL</code> if not passing parameters. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>Flags from the <a class="link" href="GDBusConnection.html#GDBusCallFlags" title="enum GDBusCallFlags"><span class="type">GDBusCallFlags</span></a> enumeration.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>timeout_msec</p></td> <td class="parameter_description"><p>The timeout in milliseconds (with <code class="literal">G_MAXINT</code> meaning "infinite") or -1 to use the proxy default timeout.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>cancellable</p></td> <td class="parameter_description"><p>A <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>error</p></td> <td class="parameter_description"><p>Return location for error or <code class="literal">NULL</code>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-call-sync.returns"></a><h4>Returns</h4> <p> <code class="literal">NULL</code> if <em class="parameter"><code>error</code></em> is set. Otherwise a <span class="type">GVariant</span> tuple with return values. Free with <code class="function">g_variant_unref()</code>.</p> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-call-with-unix-fd-list"></a><h3>g_dbus_proxy_call_with_unix_fd_list ()</h3> <pre class="programlisting"><span class="returnvalue">void</span> g_dbus_proxy_call_with_unix_fd_list (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *method_name</code></em>, <em class="parameter"><code><span class="type">GVariant</span> *parameters</code></em>, <em class="parameter"><code><a class="link" href="GDBusConnection.html#GDBusCallFlags" title="enum GDBusCallFlags"><span class="type">GDBusCallFlags</span></a> flags</code></em>, <em class="parameter"><code><span class="type">gint</span> timeout_msec</code></em>, <em class="parameter"><code><a class="link" href="GUnixFDList.html" title="GUnixFDList"><span class="type">GUnixFDList</span></a> *fd_list</code></em>, <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>, <em class="parameter"><code><a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>, <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre> <p>Like <a class="link" href="GDBusProxy.html#g-dbus-proxy-call" title="g_dbus_proxy_call ()"><code class="function">g_dbus_proxy_call()</code></a> but also takes a <a class="link" href="GUnixFDList.html" title="GUnixFDList"><span class="type">GUnixFDList</span></a> object.</p> <p>This method is only available on UNIX.</p> <div class="refsect3"> <a name="g-dbus-proxy-call-with-unix-fd-list.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>method_name</p></td> <td class="parameter_description"><p>Name of method to invoke.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>parameters</p></td> <td class="parameter_description"><p>A <span class="type">GVariant</span> tuple with parameters for the signal or <code class="literal">NULL</code> if not passing parameters. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>Flags from the <a class="link" href="GDBusConnection.html#GDBusCallFlags" title="enum GDBusCallFlags"><span class="type">GDBusCallFlags</span></a> enumeration.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>timeout_msec</p></td> <td class="parameter_description"><p>The timeout in milliseconds (with <code class="literal">G_MAXINT</code> meaning "infinite") or -1 to use the proxy default timeout.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>fd_list</p></td> <td class="parameter_description"><p>A <a class="link" href="GUnixFDList.html" title="GUnixFDList"><span class="type">GUnixFDList</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>cancellable</p></td> <td class="parameter_description"><p>A <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>callback</p></td> <td class="parameter_description"><p>A <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <code class="literal">NULL</code> if you don't care about the result of the method invocation. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>The data to pass to <em class="parameter"><code>callback</code></em> .</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-30.html#api-index-2.30">2.30</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-call-with-unix-fd-list-finish"></a><h3>g_dbus_proxy_call_with_unix_fd_list_finish ()</h3> <pre class="programlisting"><span class="returnvalue">GVariant</span> * g_dbus_proxy_call_with_unix_fd_list_finish (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>, <em class="parameter"><code><a class="link" href="GUnixFDList.html" title="GUnixFDList"><span class="type">GUnixFDList</span></a> **out_fd_list</code></em>, <em class="parameter"><code><a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> *res</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <p>Finishes an operation started with <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-with-unix-fd-list" title="g_dbus_proxy_call_with_unix_fd_list ()"><code class="function">g_dbus_proxy_call_with_unix_fd_list()</code></a>.</p> <div class="refsect3"> <a name="g-dbus-proxy-call-with-unix-fd-list-finish.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>out_fd_list</p></td> <td class="parameter_description"><p>Return location for a <a class="link" href="GUnixFDList.html" title="GUnixFDList"><span class="type">GUnixFDList</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>res</p></td> <td class="parameter_description"><p>A <a class="link" href="GAsyncResult.html" title="GAsyncResult"><span class="type">GAsyncResult</span></a> obtained from the <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-with-unix-fd-list" title="g_dbus_proxy_call_with_unix_fd_list ()"><code class="function">g_dbus_proxy_call_with_unix_fd_list()</code></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>error</p></td> <td class="parameter_description"><p>Return location for error or <code class="literal">NULL</code>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-call-with-unix-fd-list-finish.returns"></a><h4>Returns</h4> <p> <code class="literal">NULL</code> if <em class="parameter"><code>error</code></em> is set. Otherwise a <span class="type">GVariant</span> tuple with return values. Free with <code class="function">g_variant_unref()</code>.</p> </div> <p class="since">Since: <a class="link" href="api-index-2-30.html#api-index-2.30">2.30</a></p> </div> <hr> <div class="refsect2"> <a name="g-dbus-proxy-call-with-unix-fd-list-sync"></a><h3>g_dbus_proxy_call_with_unix_fd_list_sync ()</h3> <pre class="programlisting"><span class="returnvalue">GVariant</span> * g_dbus_proxy_call_with_unix_fd_list_sync (<em class="parameter"><code><a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy</code></em>, <em class="parameter"><code>const <span class="type">gchar</span> *method_name</code></em>, <em class="parameter"><code><span class="type">GVariant</span> *parameters</code></em>, <em class="parameter"><code><a class="link" href="GDBusConnection.html#GDBusCallFlags" title="enum GDBusCallFlags"><span class="type">GDBusCallFlags</span></a> flags</code></em>, <em class="parameter"><code><span class="type">gint</span> timeout_msec</code></em>, <em class="parameter"><code><a class="link" href="GUnixFDList.html" title="GUnixFDList"><span class="type">GUnixFDList</span></a> *fd_list</code></em>, <em class="parameter"><code><a class="link" href="GUnixFDList.html" title="GUnixFDList"><span class="type">GUnixFDList</span></a> **out_fd_list</code></em>, <em class="parameter"><code><a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> *cancellable</code></em>, <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre> <p>Like <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-sync" title="g_dbus_proxy_call_sync ()"><code class="function">g_dbus_proxy_call_sync()</code></a> but also takes and returns <a class="link" href="GUnixFDList.html" title="GUnixFDList"><span class="type">GUnixFDList</span></a> objects.</p> <p>This method is only available on UNIX.</p> <div class="refsect3"> <a name="g-dbus-proxy-call-with-unix-fd-list-sync.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>A <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>method_name</p></td> <td class="parameter_description"><p>Name of method to invoke.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>parameters</p></td> <td class="parameter_description"><p>A <span class="type">GVariant</span> tuple with parameters for the signal or <code class="literal">NULL</code> if not passing parameters. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>flags</p></td> <td class="parameter_description"><p>Flags from the <a class="link" href="GDBusConnection.html#GDBusCallFlags" title="enum GDBusCallFlags"><span class="type">GDBusCallFlags</span></a> enumeration.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>timeout_msec</p></td> <td class="parameter_description"><p>The timeout in milliseconds (with <code class="literal">G_MAXINT</code> meaning "infinite") or -1 to use the proxy default timeout.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>fd_list</p></td> <td class="parameter_description"><p>A <a class="link" href="GUnixFDList.html" title="GUnixFDList"><span class="type">GUnixFDList</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>out_fd_list</p></td> <td class="parameter_description"><p>Return location for a <a class="link" href="GUnixFDList.html" title="GUnixFDList"><span class="type">GUnixFDList</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL may be passed instead of a pointer to a location."><span class="acronym">optional</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>cancellable</p></td> <td class="parameter_description"><p>A <a class="link" href="GCancellable.html" title="GCancellable"><span class="type">GCancellable</span></a> or <code class="literal">NULL</code>. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>error</p></td> <td class="parameter_description"><p>Return location for error or <code class="literal">NULL</code>.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <div class="refsect3"> <a name="g-dbus-proxy-call-with-unix-fd-list-sync.returns"></a><h4>Returns</h4> <p> <code class="literal">NULL</code> if <em class="parameter"><code>error</code></em> is set. Otherwise a <span class="type">GVariant</span> tuple with return values. Free with <code class="function">g_variant_unref()</code>.</p> </div> <p class="since">Since: <a class="link" href="api-index-2-30.html#api-index-2.30">2.30</a></p> </div> </div> <div class="refsect1"> <a name="GDBusProxy.other_details"></a><h2>Types and Values</h2> <div class="refsect2"> <a name="GDBusProxyFlags"></a><h3>enum GDBusProxyFlags</h3> <p>Flags used when constructing an instance of a <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> derived class.</p> <div class="refsect3"> <a name="GDBusProxyFlags.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="enum_members_name"> <col class="enum_members_description"> <col width="200px" class="enum_members_annotations"> </colgroup> <tbody> <tr> <td class="enum_member_name"><p><a name="G-DBUS-PROXY-FLAGS-NONE:CAPS"></a>G_DBUS_PROXY_FLAGS_NONE</p></td> <td class="enum_member_description"> <p>No flags set.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="G-DBUS-PROXY-FLAGS-DO-NOT-LOAD-PROPERTIES:CAPS"></a>G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES</p></td> <td class="enum_member_description"> <p>Don't load properties.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="G-DBUS-PROXY-FLAGS-DO-NOT-CONNECT-SIGNALS:CAPS"></a>G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS</p></td> <td class="enum_member_description"> <p>Don't connect to signals on the remote object.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="G-DBUS-PROXY-FLAGS-DO-NOT-AUTO-START:CAPS"></a>G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START</p></td> <td class="enum_member_description"> <p>If the proxy is for a well-known name, do not ask the bus to launch an owner during proxy initialization or a method call. This flag is only meaningful in proxies for well-known names.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="G-DBUS-PROXY-FLAGS-GET-INVALIDATED-PROPERTIES:CAPS"></a>G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES</p></td> <td class="enum_member_description"> <p>If set, the property value for any __invalidated property__ will be (asynchronously) retrieved upon receiving the <a class="ulink" href="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties" target="_top"><code class="literal">PropertiesChanged</code></a> D-Bus signal and the property will not cause emission of the <a class="link" href="GDBusProxy.html#GDBusProxy-g-properties-changed" title="The “g-properties-changed” signal"><span class="type">“g-properties-changed”</span></a> signal. When the value is received the <a class="link" href="GDBusProxy.html#GDBusProxy-g-properties-changed" title="The “g-properties-changed” signal"><span class="type">“g-properties-changed”</span></a> signal is emitted for the property along with the retrieved value. Since 2.32.</p> </td> <td class="enum_member_annotations"> </td> </tr> <tr> <td class="enum_member_name"><p><a name="G-DBUS-PROXY-FLAGS-DO-NOT-AUTO-START-AT-CONSTRUCTION:CAPS"></a>G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION</p></td> <td class="enum_member_description"> <p>If the proxy is for a well-known name, do not ask the bus to launch an owner during proxy initialization, but allow it to be autostarted by a method call. This flag is only meaningful in proxies for well-known names, and only if <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-DO-NOT-AUTO-START:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START</code></a> is not also specified.</p> </td> <td class="enum_member_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxy-struct"></a><h3>GDBusProxy</h3> <pre class="programlisting">typedef struct _GDBusProxy GDBusProxy;</pre> <p>The <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxyClass"></a><h3>struct GDBusProxyClass</h3> <pre class="programlisting">struct GDBusProxyClass { /* Signals */ void (*g_properties_changed) (GDBusProxy *proxy, GVariant *changed_properties, const gchar* const *invalidated_properties); void (*g_signal) (GDBusProxy *proxy, const gchar *sender_name, const gchar *signal_name, GVariant *parameters); }; </pre> <p>Class structure for <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a>.</p> <div class="refsect3"> <a name="GDBusProxyClass.members"></a><h4>Members</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="300px" class="struct_members_name"> <col class="struct_members_description"> <col width="200px" class="struct_members_annotations"> </colgroup> <tbody> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GDBusProxyClass.g-properties-changed"></a>g_properties_changed</code></em> ()</p></td> <td class="struct_member_description"><p>Signal class handler for the <a class="link" href="GDBusProxy.html#GDBusProxy-g-properties-changed" title="The “g-properties-changed” signal"><span class="type">“g-properties-changed”</span></a> signal.</p></td> <td class="struct_member_annotations"> </td> </tr> <tr> <td class="struct_member_name"><p><em class="structfield"><code><a name="GDBusProxyClass.g-signal"></a>g_signal</code></em> ()</p></td> <td class="struct_member_description"><p>Signal class handler for the <a class="link" href="GDBusProxy.html#GDBusProxy-g-signal" title="The “g-signal” signal"><span class="type">“g-signal”</span></a> signal.</p></td> <td class="struct_member_annotations"> </td> </tr> </tbody> </table></div> </div> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> </div> <div class="refsect1"> <a name="GDBusProxy.property-details"></a><h2>Property Details</h2> <div class="refsect2"> <a name="GDBusProxy--g-bus-type"></a><h3>The <code class="literal">“g-bus-type”</code> property</h3> <pre class="programlisting"> “g-bus-type” <a class="link" href="GDBusConnection.html#GBusType" title="enum GBusType"><span class="type">GBusType</span></a></pre> <p>If this property is not <a class="link" href="GDBusConnection.html#G-BUS-TYPE-NONE:CAPS"><code class="literal">G_BUS_TYPE_NONE</code></a>, then <a class="link" href="GDBusProxy.html#GDBusProxy--g-connection" title="The “g-connection” property"><span class="type">“g-connection”</span></a> must be <code class="literal">NULL</code> and will be set to the <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a> obtained by calling <a class="link" href="GDBusConnection.html#g-bus-get" title="g_bus_get ()"><code class="function">g_bus_get()</code></a> with the value of this property.</p> <p>Owner: GDBusProxy</p> <p>Flags: Write / Construct Only</p> <p>Default value: G_BUS_TYPE_NONE</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxy--g-connection"></a><h3>The <code class="literal">“g-connection”</code> property</h3> <pre class="programlisting"> “g-connection” <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a> *</pre> <p>The <a class="link" href="GDBusConnection.html" title="GDBusConnection"><span class="type">GDBusConnection</span></a> the proxy is for.</p> <p>Owner: GDBusProxy</p> <p>Flags: Read / Write / Construct Only</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxy--g-default-timeout"></a><h3>The <code class="literal">“g-default-timeout”</code> property</h3> <pre class="programlisting"> “g-default-timeout” <span class="type">gint</span></pre> <p>The timeout to use if -1 (specifying default timeout) is passed as <em class="parameter"><code>timeout_msec</code></em> in the <a class="link" href="GDBusProxy.html#g-dbus-proxy-call" title="g_dbus_proxy_call ()"><code class="function">g_dbus_proxy_call()</code></a> and <a class="link" href="GDBusProxy.html#g-dbus-proxy-call-sync" title="g_dbus_proxy_call_sync ()"><code class="function">g_dbus_proxy_call_sync()</code></a> functions.</p> <p>This allows applications to set a proxy-wide timeout for all remote method invocations on the proxy. If this property is -1, the default timeout (typically 25 seconds) is used. If set to <code class="literal">G_MAXINT</code>, then no timeout is used.</p> <p>Owner: GDBusProxy</p> <p>Flags: Read / Write / Construct</p> <p>Allowed values: >= -1</p> <p>Default value: -1</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxy--g-flags"></a><h3>The <code class="literal">“g-flags”</code> property</h3> <pre class="programlisting"> “g-flags” <a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a></pre> <p>Flags from the <a class="link" href="GDBusProxy.html#GDBusProxyFlags" title="enum GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p> <p>Owner: GDBusProxy</p> <p>Flags: Read / Write / Construct Only</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxy--g-interface-info"></a><h3>The <code class="literal">“g-interface-info”</code> property</h3> <pre class="programlisting"> “g-interface-info” <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> *</pre> <p>Ensure that interactions with this proxy conform to the given interface. This is mainly to ensure that malformed data received from the other peer is ignored. The given <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a> is said to be the "expected interface".</p> <p>The checks performed are:</p> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <li class="listitem"><p>When completing a method call, if the type signature of the reply message isn't what's expected, the reply is discarded and the <span class="type">GError</span> is set to <a class="link" href="gio-GIOError.html#G-IO-ERROR-INVALID-ARGUMENT:CAPS"><code class="literal">G_IO_ERROR_INVALID_ARGUMENT</code></a>.</p></li> <li class="listitem"><p>Received signals that have a type signature mismatch are dropped and a warning is logged via <code class="function">g_warning()</code>.</p></li> <li class="listitem"><p>Properties received via the initial <code class="literal"><code class="function">GetAll()</code></code> call or via the <code class="literal">::PropertiesChanged</code> signal (on the <a class="ulink" href="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties" target="_top">org.freedesktop.DBus.Properties</a> interface) or set using <a class="link" href="GDBusProxy.html#g-dbus-proxy-set-cached-property" title="g_dbus_proxy_set_cached_property ()"><code class="function">g_dbus_proxy_set_cached_property()</code></a> with a type signature mismatch are ignored and a warning is logged via <code class="function">g_warning()</code>.</p></li> </ul></div> <p>Note that these checks are never done on methods, signals and properties that are not referenced in the given <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusInterfaceInfo"><span class="type">GDBusInterfaceInfo</span></a>, since extending a D-Bus interface on the service-side is not considered an ABI break.</p> <p>Owner: GDBusProxy</p> <p>Flags: Read / Write</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxy--g-interface-name"></a><h3>The <code class="literal">“g-interface-name”</code> property</h3> <pre class="programlisting"> “g-interface-name” <span class="type">gchar</span> *</pre> <p>The D-Bus interface name the proxy is for.</p> <p>Owner: GDBusProxy</p> <p>Flags: Read / Write / Construct Only</p> <p>Default value: NULL</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxy--g-name"></a><h3>The <code class="literal">“g-name”</code> property</h3> <pre class="programlisting"> “g-name” <span class="type">gchar</span> *</pre> <p>The well-known or unique name that the proxy is for.</p> <p>Owner: GDBusProxy</p> <p>Flags: Read / Write / Construct Only</p> <p>Default value: NULL</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxy--g-name-owner"></a><h3>The <code class="literal">“g-name-owner”</code> property</h3> <pre class="programlisting"> “g-name-owner” <span class="type">gchar</span> *</pre> <p>The unique name that owns <a class="link" href="GDBusProxy.html#GDBusProxy--g-name" title="The “g-name” property"><span class="type">“g-name”</span></a> or <code class="literal">NULL</code> if no-one currently owns that name. You may connect to <span class="type">“notify”</span> signal to track changes to this property.</p> <p>Owner: GDBusProxy</p> <p>Flags: Read</p> <p>Default value: NULL</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxy--g-object-path"></a><h3>The <code class="literal">“g-object-path”</code> property</h3> <pre class="programlisting"> “g-object-path” <span class="type">gchar</span> *</pre> <p>The object path the proxy is for.</p> <p>Owner: GDBusProxy</p> <p>Flags: Read / Write / Construct Only</p> <p>Default value: NULL</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> </div> <div class="refsect1"> <a name="GDBusProxy.signal-details"></a><h2>Signal Details</h2> <div class="refsect2"> <a name="GDBusProxy-g-properties-changed"></a><h3>The <code class="literal">“g-properties-changed”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy, <span class="type">GVariant</span> *changed_properties, <span class="type">GStrv</span> invalidated_properties, <span class="type">gpointer</span> user_data)</pre> <p>Emitted when one or more D-Bus properties on <em class="parameter"><code>proxy</code></em> changes. The local cache has already been updated when this signal fires. Note that both <em class="parameter"><code>changed_properties</code></em> and <em class="parameter"><code>invalidated_properties</code></em> are guaranteed to never be <code class="literal">NULL</code> (either may be empty though).</p> <p>If the proxy has the flag <a class="link" href="GDBusProxy.html#G-DBUS-PROXY-FLAGS-GET-INVALIDATED-PROPERTIES:CAPS"><code class="literal">G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES</code></a> set, then <em class="parameter"><code>invalidated_properties</code></em> will always be empty.</p> <p>This signal corresponds to the <code class="literal">PropertiesChanged</code> D-Bus signal on the <code class="literal">org.freedesktop.DBus.Properties</code> interface.</p> <div class="refsect3"> <a name="GDBusProxy-g-properties-changed.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>The <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> emitting the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>changed_properties</p></td> <td class="parameter_description"><p>A <span class="type">GVariant</span> containing the properties that changed (type: <code class="literal">a{sv}</code>)</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>invalidated_properties</p></td> <td class="parameter_description"><p>A <code class="literal">NULL</code> terminated array of properties that was invalidated</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: Run Last</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> <hr> <div class="refsect2"> <a name="GDBusProxy-g-signal"></a><h3>The <code class="literal">“g-signal”</code> signal</h3> <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> *proxy, <span class="type">gchar</span> *sender_name, <span class="type">gchar</span> *signal_name, <span class="type">GVariant</span> *parameters, <span class="type">gpointer</span> user_data)</pre> <p>Emitted when a signal from the remote object and interface that <em class="parameter"><code>proxy</code></em> is for, has been received.</p> <div class="refsect3"> <a name="GDBusProxy-g-signal.parameters"></a><h4>Parameters</h4> <div class="informaltable"><table class="informaltable" width="100%" border="0"> <colgroup> <col width="150px" class="parameters_name"> <col class="parameters_description"> <col width="200px" class="parameters_annotations"> </colgroup> <tbody> <tr> <td class="parameter_name"><p>proxy</p></td> <td class="parameter_description"><p>The <a class="link" href="GDBusProxy.html" title="GDBusProxy"><span class="type">GDBusProxy</span></a> emitting the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>sender_name</p></td> <td class="parameter_description"><p>The sender of the signal or <code class="literal">NULL</code> if the connection is not a bus connection. </p></td> <td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td> </tr> <tr> <td class="parameter_name"><p>signal_name</p></td> <td class="parameter_description"><p>The name of the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>parameters</p></td> <td class="parameter_description"><p>A <span class="type">GVariant</span> tuple with parameters for the signal.</p></td> <td class="parameter_annotations"> </td> </tr> <tr> <td class="parameter_name"><p>user_data</p></td> <td class="parameter_description"><p>user data set when the signal handler was connected.</p></td> <td class="parameter_annotations"> </td> </tr> </tbody> </table></div> </div> <p>Flags: Run Last</p> <p class="since">Since: <a class="link" href="api-index-2-26.html#api-index-2.26">2.26</a></p> </div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.32</div> </body> </html>