~ubuntu-branches/ubuntu/trusty/glib2.0/trusty-proposed

« back to all changes in this revision

Viewing changes to docs/reference/gio/html/GDBusConnection.html

  • Committer: Package Import Robot
  • Author(s): Iain Lane
  • Date: 2014-03-04 13:08:00 UTC
  • mfrom: (1.63.34)
  • Revision ID: package-import@ubuntu.com-20140304130800-6f4fs4s8iri00blg
Tags: 2.39.91-0ubuntu1
* New upstream release 2.39.91
* revert-0001-Improve-GAsyncQueue-test-coverage.patch: Drop, fixed upstream.
* Re-enable test_timer_stop to gather more information about the failure.
* debian/libglib2.0-0.symbols: Update with new symbols in this release. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
</head>
14
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
 
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
 
15
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16
16
<td width="100%" align="left" class="shortcuts">
17
 
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> 
18
 
                  <a href="#GDBusConnection.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 
19
 
                  <a href="#GDBusConnection.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces"> <span class="dim">|</span> 
20
 
                  <a href="#GDBusConnection.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties"> <span class="dim">|</span> 
21
 
                  <a href="#GDBusConnection.properties" class="shortcut">Properties</a></span><span id="nav_signals"> <span class="dim">|</span> 
 
17
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
 
18
                  <a href="#GDBusConnection.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
 
19
                  <a href="#GDBusConnection.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
 
20
                  <a href="#GDBusConnection.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
 
21
                  <a href="#GDBusConnection.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
22
22
                  <a href="#GDBusConnection.signals" class="shortcut">Signals</a></span>
23
23
</td>
24
24
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
589
589
</div>
590
590
<div class="refsect1">
591
591
<a name="GDBusConnection.object-hierarchy"></a><h2>Object Hierarchy</h2>
592
 
<pre class="screen">    GFlags
 
592
<pre class="screen">    <a href="/home/desrt/.cache/jhbuild/install/share/gtk-doc/html/gobject/gobject-Enumeration-and-Flag-Types.html">GFlags</a>
593
593
    <span class="lineart">├──</span> GDBusCapabilityFlags
594
594
    <span class="lineart">╰──</span> GDBusConnectionFlags
595
595
    <a href="../gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
1894
1894
12
1895
1895
13
1896
1896
14</pre></td>
1897
 
        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="GDBusConnection.html#g-dbus-connection-call">g_dbus_connection_call</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">connection</span><span class="symbol">,</span>
1898
 
<span class="normal">                        </span><span class="string">"org.freedesktop.StringThings"</span><span class="symbol">,</span>
1899
 
<span class="normal">                        </span><span class="string">"/org/freedesktop/StringThings"</span><span class="symbol">,</span>
1900
 
<span class="normal">                        </span><span class="string">"org.freedesktop.StringThings"</span><span class="symbol">,</span>
1901
 
<span class="normal">                        </span><span class="string">"TwoStrings"</span><span class="symbol">,</span>
1902
 
<span class="normal">                        </span><span class="function"><a href="../glib/glib-GVariant.html#g-variant-new">g_variant_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"(ss)"</span><span class="symbol">,</span>
1903
 
<span class="normal">                                       </span><span class="string">"Thing One"</span><span class="symbol">,</span>
1904
 
<span class="normal">                                       </span><span class="string">"Thing Two"</span><span class="symbol">),</span>
1905
 
<span class="normal">                        <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
1906
 
<span class="normal">                        G_DBUS_CALL_FLAGS_NONE</span><span class="symbol">,</span>
1907
 
<span class="normal">                        </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">,</span>
1908
 
<span class="normal">                        <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
1909
 
<span class="normal">                        </span><span class="symbol">(</span><span class="normal"><a href="GAsyncResult.html#GAsyncReadyCallback">GAsyncReadyCallback</a></span><span class="symbol">)</span><span class="normal"> two_strings_done</span><span class="symbol">,</span>
1910
 
<span class="normal">                        <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span></pre></td>
 
1897
        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="GDBusConnection.html#g-dbus-connection-call">g_dbus_connection_call</a></span> <span class="gtkdoc opt">(</span>connection<span class="gtkdoc opt">,</span>
 
1898
                        <span class="string">&quot;org.freedesktop.StringThings&quot;</span><span class="gtkdoc opt">,</span>
 
1899
                        <span class="string">&quot;/org/freedesktop/StringThings&quot;</span><span class="gtkdoc opt">,</span>
 
1900
                        <span class="string">&quot;org.freedesktop.StringThings&quot;</span><span class="gtkdoc opt">,</span>
 
1901
                        <span class="string">&quot;TwoStrings&quot;</span><span class="gtkdoc opt">,</span>
 
1902
                        <span class="function"><a href="../glib/glib-GVariant.html#g-variant-new">g_variant_new</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;(ss)&quot;</span><span class="gtkdoc opt">,</span>
 
1903
                                       <span class="string">&quot;Thing One&quot;</span><span class="gtkdoc opt">,</span>
 
1904
                                       <span class="string">&quot;Thing Two&quot;</span><span class="gtkdoc opt">),</span>
 
1905
                        NULL<span class="gtkdoc opt">,</span>
 
1906
                        G_DBUS_CALL_FLAGS_NONE<span class="gtkdoc opt">,</span>
 
1907
                        <span class="gtkdoc opt">-</span><span class="number">1</span><span class="gtkdoc opt">,</span>
 
1908
                        NULL<span class="gtkdoc opt">,</span>
 
1909
                        <span class="gtkdoc opt">(</span>GAsyncReadyCallback<span class="gtkdoc opt">)</span> two_strings_done<span class="gtkdoc opt">,</span>
 
1910
                        NULL<span class="gtkdoc opt">);</span></pre></td>
1911
1911
      </tr>
1912
1912
    </tbody>
1913
1913
  </table>
2106
2106
11
2107
2107
12
2108
2108
13</pre></td>
2109
 
        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="GDBusConnection.html#g-dbus-connection-call-sync">g_dbus_connection_call_sync</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">connection</span><span class="symbol">,</span>
2110
 
<span class="normal">                             </span><span class="string">"org.freedesktop.StringThings"</span><span class="symbol">,</span>
2111
 
<span class="normal">                             </span><span class="string">"/org/freedesktop/StringThings"</span><span class="symbol">,</span>
2112
 
<span class="normal">                             </span><span class="string">"org.freedesktop.StringThings"</span><span class="symbol">,</span>
2113
 
<span class="normal">                             </span><span class="string">"TwoStrings"</span><span class="symbol">,</span>
2114
 
<span class="normal">                             </span><span class="function"><a href="../glib/glib-GVariant.html#g-variant-new">g_variant_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"(ss)"</span><span class="symbol">,</span>
2115
 
<span class="normal">                                            </span><span class="string">"Thing One"</span><span class="symbol">,</span>
2116
 
<span class="normal">                                            </span><span class="string">"Thing Two"</span><span class="symbol">),</span>
2117
 
<span class="normal">                             <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
2118
 
<span class="normal">                             G_DBUS_CALL_FLAGS_NONE</span><span class="symbol">,</span>
2119
 
<span class="normal">                             </span><span class="symbol">-</span><span class="number">1</span><span class="symbol">,</span>
2120
 
<span class="normal">                             <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
2121
 
<span class="normal">                             </span><span class="symbol">&amp;</span><span class="normal">error</span><span class="symbol">);</span></pre></td>
 
2109
        <td class="listing_code"><pre class="programlisting"><span class="function"><a href="GDBusConnection.html#g-dbus-connection-call-sync">g_dbus_connection_call_sync</a></span> <span class="gtkdoc opt">(</span>connection<span class="gtkdoc opt">,</span>
 
2110
                             <span class="string">&quot;org.freedesktop.StringThings&quot;</span><span class="gtkdoc opt">,</span>
 
2111
                             <span class="string">&quot;/org/freedesktop/StringThings&quot;</span><span class="gtkdoc opt">,</span>
 
2112
                             <span class="string">&quot;org.freedesktop.StringThings&quot;</span><span class="gtkdoc opt">,</span>
 
2113
                             <span class="string">&quot;TwoStrings&quot;</span><span class="gtkdoc opt">,</span>
 
2114
                             <span class="function"><a href="../glib/glib-GVariant.html#g-variant-new">g_variant_new</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;(ss)&quot;</span><span class="gtkdoc opt">,</span>
 
2115
                                            <span class="string">&quot;Thing One&quot;</span><span class="gtkdoc opt">,</span>
 
2116
                                            <span class="string">&quot;Thing Two&quot;</span><span class="gtkdoc opt">),</span>
 
2117
                             NULL<span class="gtkdoc opt">,</span>
 
2118
                             G_DBUS_CALL_FLAGS_NONE<span class="gtkdoc opt">,</span>
 
2119
                             <span class="gtkdoc opt">-</span><span class="number">1</span><span class="gtkdoc opt">,</span>
 
2120
                             NULL<span class="gtkdoc opt">,</span>
 
2121
                             <span class="gtkdoc opt">&amp;</span>error<span class="gtkdoc opt">);</span></pre></td>
2122
2122
      </tr>
2123
2123
    </tbody>
2124
2124
  </table>
3131
3131
7
3132
3132
8
3133
3133
9</pre></td>
3134
 
        <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> <a href="GDBusMessage.html">GDBusMessage</a> </span><span class="symbol">*</span>
3135
 
<span class="function">passive_filter</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="GDBusConnection.html">GDBusConnection</a> </span><span class="symbol">*</span><span class="normal">connection</span>
3136
 
<span class="normal">                </span><span class="usertype">GDBusMessage</span><span class="normal">    </span><span class="symbol">*</span><span class="normal">message</span><span class="symbol">,</span>
3137
 
<span class="normal">                </span><span class="usertype">gboolean</span><span class="normal">         incoming</span><span class="symbol">,</span>
3138
 
<span class="normal">                </span><span class="usertype">gpointer</span><span class="normal">         user_data</span><span class="symbol">)</span>
3139
 
<span class="cbracket">{</span>
3140
 
<span class="normal">  </span><span class="symbol">/&lt;!--</span><span class="normal"> </span><span class="symbol">--&gt;*</span><span class="normal"> inspect @message </span><span class="symbol">*&lt;!--</span><span class="normal"> </span><span class="symbol">--&gt;/</span>
3141
 
<span class="normal">  </span><span class="keyword">return</span><span class="normal"> message</span><span class="symbol">;</span>
3142
 
<span class="cbracket">}</span></pre></td>
 
3134
        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static</span> GDBusMessage <span class="gtkdoc opt">*</span>
 
3135
<span class="function">passive_filter</span> <span class="gtkdoc opt">(</span>GDBusConnection <span class="gtkdoc opt">*</span>connection
 
3136
                GDBusMessage    <span class="gtkdoc opt">*</span>message<span class="gtkdoc opt">,</span>
 
3137
                gboolean         incoming<span class="gtkdoc opt">,</span>
 
3138
                gpointer         user_data<span class="gtkdoc opt">)</span>
 
3139
<span class="gtkdoc opt">{</span>
 
3140
  <span class="gtkdoc opt">/&lt;!-- --&gt;*</span> inspect &#64;message <span class="gtkdoc opt">*&lt;!-- --&gt;/</span>
 
3141
  <span class="keyword">return</span> message<span class="gtkdoc opt">;</span>
 
3142
<span class="gtkdoc opt">}</span></pre></td>
3143
3143
      </tr>
3144
3144
    </tbody>
3145
3145
  </table>
3164
3164
11
3165
3165
12
3166
3166
13</pre></td>
3167
 
        <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> <a href="GDBusMessage.html">GDBusMessage</a> </span><span class="symbol">*</span>
3168
 
<span class="function">drop_filter</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="GDBusConnection.html">GDBusConnection</a> </span><span class="symbol">*</span><span class="normal">connection</span>
3169
 
<span class="normal">             </span><span class="usertype">GDBusMessage</span><span class="normal">    </span><span class="symbol">*</span><span class="normal">message</span><span class="symbol">,</span>
3170
 
<span class="normal">             </span><span class="usertype">gboolean</span><span class="normal">         incoming</span><span class="symbol">,</span>
3171
 
<span class="normal">             </span><span class="usertype">gpointer</span><span class="normal">         user_data</span><span class="symbol">)</span>
3172
 
<span class="cbracket">{</span>
3173
 
<span class="normal">  </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">should_drop_message</span><span class="symbol">)</span>
3174
 
<span class="normal">    </span><span class="cbracket">{</span>
3175
 
<span class="normal">      </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">message</span><span class="symbol">);</span>
3176
 
<span class="normal">      message </span><span class="symbol">=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
3177
 
<span class="normal">    </span><span class="cbracket">}</span>
3178
 
<span class="normal">  </span><span class="keyword">return</span><span class="normal"> message</span><span class="symbol">;</span>
3179
 
<span class="cbracket">}</span></pre></td>
 
3167
        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static</span> GDBusMessage <span class="gtkdoc opt">*</span>
 
3168
<span class="function">drop_filter</span> <span class="gtkdoc opt">(</span>GDBusConnection <span class="gtkdoc opt">*</span>connection
 
3169
             GDBusMessage    <span class="gtkdoc opt">*</span>message<span class="gtkdoc opt">,</span>
 
3170
             gboolean         incoming<span class="gtkdoc opt">,</span>
 
3171
             gpointer         user_data<span class="gtkdoc opt">)</span>
 
3172
<span class="gtkdoc opt">{</span>
 
3173
  <span class="keyword">if</span> <span class="gtkdoc opt">(</span>should_drop_message<span class="gtkdoc opt">)</span>
 
3174
    <span class="gtkdoc opt">{</span>
 
3175
      <span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">);</span>
 
3176
      message <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
 
3177
    <span class="gtkdoc opt">}</span>
 
3178
  <span class="keyword">return</span> message<span class="gtkdoc opt">;</span>
 
3179
<span class="gtkdoc opt">}</span></pre></td>
3180
3180
      </tr>
3181
3181
    </tbody>
3182
3182
  </table>
3206
3206
16
3207
3207
17
3208
3208
18</pre></td>
3209
 
        <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> <a href="GDBusMessage.html">GDBusMessage</a> </span><span class="symbol">*</span>
3210
 
<span class="function">modifying_filter</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="GDBusConnection.html">GDBusConnection</a> </span><span class="symbol">*</span><span class="normal">connection</span>
3211
 
<span class="normal">                  </span><span class="usertype">GDBusMessage</span><span class="normal">    </span><span class="symbol">*</span><span class="normal">message</span><span class="symbol">,</span>
3212
 
<span class="normal">                  </span><span class="usertype">gboolean</span><span class="normal">         incoming</span><span class="symbol">,</span>
3213
 
<span class="normal">                  </span><span class="usertype">gpointer</span><span class="normal">         user_data</span><span class="symbol">)</span>
3214
 
<span class="cbracket">{</span>
3215
 
<span class="normal">  </span><span class="usertype">GDBusMessage</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">copy</span><span class="symbol">;</span>
3216
 
<span class="normal">  </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">error</span><span class="symbol">;</span>
3217
 
 
3218
 
<span class="normal">  error </span><span class="symbol">=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
3219
 
<span class="normal">  copy </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GDBusMessage.html#g-dbus-message-copy">g_dbus_message_copy</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">message</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">error</span><span class="symbol">);</span>
3220
 
<span class="normal">  </span><span class="symbol">/&lt;!--</span><span class="normal"> </span><span class="symbol">--&gt;*</span><span class="normal"> handle @error being </span><span class="usertype">is</span><span class="normal"> set </span><span class="symbol">*&lt;!--</span><span class="normal"> </span><span class="symbol">--&gt;/</span>
3221
 
<span class="normal">  </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">message</span><span class="symbol">);</span>
3222
 
 
3223
 
<span class="normal">  </span><span class="symbol">/&lt;!--</span><span class="normal"> </span><span class="symbol">--&gt;*</span><span class="normal"> modify @copy </span><span class="symbol">*&lt;!--</span><span class="normal"> </span><span class="symbol">--&gt;/</span>
3224
 
 
3225
 
<span class="normal">  </span><span class="keyword">return</span><span class="normal"> copy</span><span class="symbol">;</span>
3226
 
<span class="cbracket">}</span></pre></td>
 
3209
        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static</span> GDBusMessage <span class="gtkdoc opt">*</span>
 
3210
<span class="function">modifying_filter</span> <span class="gtkdoc opt">(</span>GDBusConnection <span class="gtkdoc opt">*</span>connection
 
3211
                  GDBusMessage    <span class="gtkdoc opt">*</span>message<span class="gtkdoc opt">,</span>
 
3212
                  gboolean         incoming<span class="gtkdoc opt">,</span>
 
3213
                  gpointer         user_data<span class="gtkdoc opt">)</span>
 
3214
<span class="gtkdoc opt">{</span>
 
3215
  GDBusMessage <span class="gtkdoc opt">*</span>copy<span class="gtkdoc opt">;</span>
 
3216
  GError <span class="gtkdoc opt">*</span>error<span class="gtkdoc opt">;</span>
 
3217
 
 
3218
  error <span class="gtkdoc opt">=</span> NULL<span class="gtkdoc opt">;</span>
 
3219
  copy <span class="gtkdoc opt">=</span> <span class="function"><a href="GDBusMessage.html#g-dbus-message-copy">g_dbus_message_copy</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">, &amp;</span>error<span class="gtkdoc opt">);</span>
 
3220
  <span class="gtkdoc opt">/&lt;!-- --&gt;*</span> handle &#64;error being is set <span class="gtkdoc opt">*&lt;!-- --&gt;/</span>
 
3221
  <span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span> <span class="gtkdoc opt">(</span>message<span class="gtkdoc opt">);</span>
 
3222
 
 
3223
  <span class="gtkdoc opt">/&lt;!-- --&gt;*</span> modify &#64;copy <span class="gtkdoc opt">*&lt;!-- --&gt;/</span>
 
3224
 
 
3225
  <span class="keyword">return</span> copy<span class="gtkdoc opt">;</span>
 
3226
<span class="gtkdoc opt">}</span></pre></td>
3227
3227
      </tr>
3228
3228
    </tbody>
3229
3229
  </table>
4380
4380
interface.</p>
4381
4381
<p>Since 2.38, if you want to handle getting/setting D-Bus properties
4382
4382
asynchronously, give <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> as your <code class="function">get_property()</code> or <code class="function">set_property()</code>
4383
 
function.  The D-Bus call will be directed to your <em class="parameter"><code>method_call</code></em>
4384
 
 
4385
 
function, with the provided <em class="parameter"><code>interface_name</code></em>
4386
 
 set to
4387
 
&lt;literal&gt;"org.freedesktop.DBus.Properties"&lt;/literal&gt;.</p>
4388
 
<p>The usual checks on the validity of the calls is performed.  For
4389
 
&lt;literal&gt;'Get'&lt;/literal&gt; calls, an error is automatically returned if
4390
 
the property does not exist or the permissions do not allow access.
4391
 
The same checks are performed for &lt;literal&gt;'Set'&lt;/literal&gt; calls, and
4392
 
the provided value is also checked for being the correct type.</p>
4393
 
<p>For both &lt;literal&gt;'Get'&lt;/literal&gt; and &lt;literal&gt;'Set'&lt;/literal&gt; calls,
4394
 
the <a class="link" href="GDBusMethodInvocation.html" title="GDBusMethodInvocation"><span class="type">GDBusMethodInvocation</span></a> passed to the method_call handler can be
4395
 
queried with <a class="link" href="GDBusMethodInvocation.html#g-dbus-method-invocation-get-property-info" title="g_dbus_method_invocation_get_property_info ()"><code class="function">g_dbus_method_invocation_get_property_info()</code></a> to get a
4396
 
pointer to the <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusPropertyInfo"><span class="type">GDBusPropertyInfo</span></a> of the property.</p>
4397
 
<p>If you have readable properties specified in your interface info, you
4398
 
must ensure that you either provide a non-<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code><code class="function">get_property()</code></code></em>
4399
 
 
4400
 
function or provide implementations of both the
4401
 
&lt;literal&gt;'Get'&lt;/literal&gt; and &lt;literal&gt;'GetAll'&lt;/literal&gt; methods on
4402
 
the &lt;literal&gt;'org.freedesktop.DBus.Properties'&lt;/literal&gt; interface in
4403
 
your <em class="parameter"><code>method_call</code></em>
4404
 
 function.  Note that the required return type of
4405
 
the &lt;literal&gt;'Get'&lt;/literal&gt; call is &lt;literal&gt;(v)&lt;/literal&gt;, not the
4406
 
type of the property.  &lt;literal&gt;'GetAll'&lt;/literal&gt; expects a return
4407
 
value of type &lt;literal&gt;a{sv}&lt;/literal&gt;.</p>
4408
 
<p>If you have writable properties specified in your interface info, you
4409
 
must ensure that you either provide a non-<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code><code class="function">set_property()</code></code></em>
4410
 
 
4411
 
function or provide an implementation of the &lt;literal&gt;'Set'&lt;/literal&gt;
4412
 
call.  If implementing the call, you must return the value of type
4413
 
<a href="../glib/glib-GVariantType.html#G-VARIANT-TYPE-UNIT:CAPS"><code class="literal">G_VARIANT_TYPE_UNIT</code></a>.</p>
 
4383
function. The D-Bus call will be directed to your <em class="parameter"><code>method_call</code></em>
 
4384
 function,
 
4385
with the provided <em class="parameter"><code>interface_name</code></em>
 
4386
 set to "org.freedesktop.DBus.Properties".</p>
 
4387
<p>The usual checks on the validity of the calls is performed. For
 
4388
<code class="literal">Get</code> calls, an error is automatically returned if the property does
 
4389
not exist or the permissions do not allow access. The same checks are
 
4390
performed for <code class="literal">Set</code> calls, and the provided value is also checked for
 
4391
being the correct type.</p>
 
4392
<p>For both <code class="literal">Get</code> and <code class="literal">Set</code> calls, the <a class="link" href="GDBusMethodInvocation.html" title="GDBusMethodInvocation"><span class="type">GDBusMethodInvocation</span></a>
 
4393
passed to the <em class="parameter"><code>method_call</code></em>
 
4394
 handler can be queried with
 
4395
<a class="link" href="GDBusMethodInvocation.html#g-dbus-method-invocation-get-property-info" title="g_dbus_method_invocation_get_property_info ()"><code class="function">g_dbus_method_invocation_get_property_info()</code></a> to get a pointer
 
4396
to the <a class="link" href="gio-D-Bus-Introspection-Data.html#GDBusPropertyInfo"><span class="type">GDBusPropertyInfo</span></a> of the property.</p>
 
4397
<p>If you have readable properties specified in your interface info,
 
4398
you must ensure that you either provide a non-<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code><code class="function">get_property()</code></code></em>
 
4399
 
 
4400
function or provide implementations of both the <code class="literal">Get</code> and <code class="literal">GetAll</code>
 
4401
methods on org.freedesktop.DBus.Properties interface in your <em class="parameter"><code>method_call</code></em>
 
4402
 
 
4403
function. Note that the required return type of the <code class="literal">Get</code> call is
 
4404
<code class="literal">(v)</code>, not the type of the property. <code class="literal">GetAll</code> expects a return value
 
4405
of type <code class="literal">a{sv}</code>.</p>
 
4406
<p>If you have writable properties specified in your interface info,
 
4407
you must ensure that you either provide a non-<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code><code class="function">set_property()</code></code></em>
 
4408
 
 
4409
function or provide an implementation of the <code class="literal">Set</code> call. If implementing
 
4410
the call, you must return the value of type <a href="../glib/glib-GVariantType.html#G-VARIANT-TYPE-UNIT:CAPS"><code class="literal">G_VARIANT_TYPE_UNIT</code></a>.</p>
4414
4411
<div class="refsect3">
4415
4412
<a name="id-1.4.17.7.12.9.10"></a><h4>Members</h4>
4416
4413
<div class="informaltable"><table width="100%" border="0">