4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
<title>telepathy-glib API Reference Manual: The TpSvc* interfaces</title>
5
<title>The TpSvc* interfaces</title>
6
6
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
7
<link rel="home" href="index.html" title="telepathy-glib API Reference Manual">
8
8
<link rel="up" href="ch-service-dbus.html" title="Service-side D-Bus interfaces">
9
9
<link rel="prev" href="ch-service-dbus.html" title="Service-side D-Bus interfaces">
10
10
<link rel="next" href="telepathy-glib-svc-generic.html" title="Generic service-side interfaces">
11
<meta name="generator" content="GTK-Doc V1.20 (XML mode)">
11
<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
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">
16
<td width="100%" align="left" class="shortcuts"></td>
17
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
18
<td><a accesskey="u" href="ch-service-dbus.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
19
<td><a accesskey="p" href="ch-service-dbus.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
20
<td><a accesskey="n" href="telepathy-glib-svc-generic.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
15
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
16
<td><a accesskey="p" href="ch-service-dbus.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17
<td><a accesskey="u" href="ch-service-dbus.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19
<th width="100%" align="center">telepathy-glib API Reference Manual</th>
20
<td><a accesskey="n" href="telepathy-glib-svc-generic.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22
22
<div class="refentry">
23
23
<a name="telepathy-glib-svc"></a><div class="titlepage"></div>
63
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span> <span class="function">stream_handler_iface_init</span> <span class="gtkdoc opt">(</span>gpointer<span class="gtkdoc opt">,</span> gpointer<span class="gtkdoc opt">);</span>
63
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span><span class="function">stream_handler_iface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">);</span>
65
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-DEFINE-TYPE-WITH-CODE:CAPS">G_DEFINE_TYPE_WITH_CODE</a></span><span class="gtkdoc opt">(</span>GabbleMediaStream<span class="gtkdoc opt">,</span>
66
gabble_media_stream<span class="gtkdoc opt">,</span>
67
G_TYPE_OBJECT<span class="gtkdoc opt">,</span>
68
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span> <span class="gtkdoc opt">(</span>TP_TYPE_SVC_MEDIA_STREAM_HANDLER<span class="gtkdoc opt">,</span>
69
stream_handler_iface_init<span class="gtkdoc opt">)</span>
70
<span class="gtkdoc opt">)</span></pre></td>
65
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-DEFINE-TYPE-WITH-CODE:CAPS">G_DEFINE_TYPE_WITH_CODE</a></span><span class="symbol">(</span><span class="normal">GabbleMediaStream</span><span class="symbol">,</span>
66
<span class="normal"> gabble_media_stream</span><span class="symbol">,</span>
67
<span class="normal"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-TYPE-OBJECT:CAPS">G_TYPE_OBJECT</a></span><span class="symbol">,</span>
68
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">TP_TYPE_SVC_MEDIA_STREAM_HANDLER</span><span class="symbol">,</span>
69
<span class="normal"> stream_handler_iface_init</span><span class="symbol">)</span>
70
<span class="normal"> </span><span class="symbol">)</span></pre></td>
114
114
<td class="listing_code"><pre class="programlisting"><span class="comment">/* in header files */</span>
115
<span class="gtkdoc kwb">void</span> <span class="function">conn_aliasing_iface_init</span> <span class="gtkdoc opt">(</span>gpointer<span class="gtkdoc opt">,</span> gpointer<span class="gtkdoc opt">);</span>
116
<span class="gtkdoc kwb">void</span> <span class="function">conn_avatars_iface_init</span> <span class="gtkdoc opt">(</span>gpointer<span class="gtkdoc opt">,</span> gpointer<span class="gtkdoc opt">);</span>
117
<span class="gtkdoc kwb">void</span> <span class="function">conn_presence_iface_init</span> <span class="gtkdoc opt">(</span>gpointer<span class="gtkdoc opt">,</span> gpointer<span class="gtkdoc opt">);</span>
115
<span class="type">void</span><span class="normal"> </span><span class="function">conn_aliasing_iface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">);</span>
116
<span class="type">void</span><span class="normal"> </span><span class="function">conn_avatars_iface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">);</span>
117
<span class="type">void</span><span class="normal"> </span><span class="function">conn_presence_iface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">);</span>
119
119
<span class="comment">/* in gabble-connection.c */</span>
120
<span class="gtkdoc kwb">static void</span> <span class="function">conn_iface_init</span> <span class="gtkdoc opt">(</span>gpointer<span class="gtkdoc opt">,</span> gpointer<span class="gtkdoc opt">);</span>
121
<span class="gtkdoc kwb">static void</span> <span class="function">capabilities_iface_init</span> <span class="gtkdoc opt">(</span>gpointer<span class="gtkdoc opt">,</span> gpointer<span class="gtkdoc opt">);</span>
120
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span><span class="function">conn_iface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">);</span>
121
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span><span class="function">capabilities_iface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a></span><span class="symbol">);</span>
123
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-DEFINE-TYPE-WITH-CODE:CAPS">G_DEFINE_TYPE_WITH_CODE</a></span><span class="gtkdoc opt">(</span>GabbleConnection<span class="gtkdoc opt">,</span>
124
gabble_connection<span class="gtkdoc opt">,</span>
125
TP_TYPE_BASE_CONNECTION<span class="gtkdoc opt">,</span>
126
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span> <span class="gtkdoc opt">(</span>TP_TYPE_SVC_CONNECTION<span class="gtkdoc opt">,</span>
127
conn_iface_init<span class="gtkdoc opt">);</span>
128
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span> <span class="gtkdoc opt">(</span>TP_TYPE_SVC_CONNECTION_INTERFACE_ALIASING<span class="gtkdoc opt">,</span>
129
conn_aliasing_iface_init<span class="gtkdoc opt">);</span>
130
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span> <span class="gtkdoc opt">(</span>TP_TYPE_SVC_CONNECTION_INTERFACE_AVATARS<span class="gtkdoc opt">,</span>
131
conn_avatars_iface_init<span class="gtkdoc opt">);</span>
132
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span> <span class="gtkdoc opt">(</span>TP_TYPE_SVC_CONNECTION_INTERFACE_CAPABILITIES<span class="gtkdoc opt">,</span>
133
capabilities_init<span class="gtkdoc opt">);</span>
134
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span> <span class="gtkdoc opt">(</span>TP_TYPE_SVC_CONNECTION_INTERFACE_PRESENCE<span class="gtkdoc opt">,</span>
135
conn_presence_iface_init<span class="gtkdoc opt">);</span>
136
<span class="gtkdoc opt">)</span></pre></td>
123
<span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-DEFINE-TYPE-WITH-CODE:CAPS">G_DEFINE_TYPE_WITH_CODE</a></span><span class="symbol">(</span><span class="normal">GabbleConnection</span><span class="symbol">,</span>
124
<span class="normal"> gabble_connection</span><span class="symbol">,</span>
125
<span class="normal"> TP_TYPE_BASE_CONNECTION</span><span class="symbol">,</span>
126
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">TP_TYPE_SVC_CONNECTION</span><span class="symbol">,</span>
127
<span class="normal"> conn_iface_init</span><span class="symbol">);</span>
128
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">TP_TYPE_SVC_CONNECTION_INTERFACE_ALIASING</span><span class="symbol">,</span>
129
<span class="normal"> conn_aliasing_iface_init</span><span class="symbol">);</span>
130
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">TP_TYPE_SVC_CONNECTION_INTERFACE_AVATARS</span><span class="symbol">,</span>
131
<span class="normal"> conn_avatars_iface_init</span><span class="symbol">);</span>
132
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">TP_TYPE_SVC_CONNECTION_INTERFACE_CAPABILITIES</span><span class="symbol">,</span>
133
<span class="normal"> capabilities_init</span><span class="symbol">);</span>
134
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS">G_IMPLEMENT_INTERFACE</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">TP_TYPE_SVC_CONNECTION_INTERFACE_PRESENCE</span><span class="symbol">,</span>
135
<span class="normal"> conn_presence_iface_init</span><span class="symbol">);</span>
136
<span class="normal"> </span><span class="symbol">)</span></pre></td>
159
159
<td class="listing_lines" align="right"><pre>1
162
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">void</span> <span class="gtkdoc opt">(*</span>tp_svc_media_session_handler_error_impl<span class="gtkdoc opt">)</span>
163
<span class="gtkdoc opt">(</span>TpSvcMediaSessionHandler <span class="gtkdoc opt">*</span>self<span class="gtkdoc opt">,</span> guint errno<span class="gtkdoc opt">,</span> <span class="gtkdoc kwb">const char</span> <span class="gtkdoc opt">*</span>message<span class="gtkdoc opt">,</span>
164
DBusGMethodInvocation <span class="gtkdoc opt">*</span>context<span class="gtkdoc opt">);</span></pre></td>
162
<td class="listing_code"><pre class="programlisting"><span class="type">void</span><span class="normal"> </span><span class="symbol">(*</span><span class="normal"><a href="telepathy-glib-svc-media-interfaces.html#tp-svc-media-session-handler-error-impl">tp_svc_media_session_handler_error_impl</a></span><span class="symbol">)</span>
163
<span class="normal"> </span><span class="symbol">(</span><span class="usertype">TpSvcMediaSessionHandler</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">self</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">guint</span><span class="normal"> errno</span><span class="symbol">,</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">message</span><span class="symbol">,</span>
164
<span class="normal"> </span><span class="usertype">DBusGMethodInvocation</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">context</span><span class="symbol">);</span></pre></td>
186
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
187
<span class="function">gabble_media_session_error</span> <span class="gtkdoc opt">(</span>TpSvcMediaSessionHandler <span class="gtkdoc opt">*</span>iface<span class="gtkdoc opt">,</span>
188
guint errno<span class="gtkdoc opt">,</span>
189
<span class="gtkdoc kwb">const char</span> <span class="gtkdoc opt">*</span>message<span class="gtkdoc opt">,</span>
190
DBusGMethodInvocation <span class="gtkdoc opt">*</span>context<span class="gtkdoc opt">)</span>
191
<span class="gtkdoc opt">{</span>
192
GabbleMediaSession <span class="gtkdoc opt">*</span>self <span class="gtkdoc opt">=</span> <span class="function">GABBLE_MEDIA_SESSION</span> <span class="gtkdoc opt">(</span>iface<span class="gtkdoc opt">);</span>
186
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
187
<span class="function">gabble_media_session_error</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">TpSvcMediaSessionHandler</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">iface</span><span class="symbol">,</span>
188
<span class="normal"> </span><span class="usertype">guint</span><span class="normal"> errno</span><span class="symbol">,</span>
189
<span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">message</span><span class="symbol">,</span>
190
<span class="normal"> </span><span class="usertype">DBusGMethodInvocation</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">context</span><span class="symbol">)</span>
191
<span class="cbracket">{</span>
192
<span class="normal"> </span><span class="usertype">GabbleMediaSession</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">self </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GABBLE_MEDIA_SESSION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">iface</span><span class="symbol">);</span>
194
<span class="comment">/* do stuff with self here */</span></pre></td>
194
<span class="normal"> </span><span class="comment">/* do stuff with self here */</span></pre></td>
237
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
238
<span class="function">gabble_media_session_error</span> <span class="gtkdoc opt">(</span>TpSvcMediaSessionHandler <span class="gtkdoc opt">*</span>iface<span class="gtkdoc opt">,</span>
239
guint errno<span class="gtkdoc opt">,</span>
240
<span class="gtkdoc kwb">const char</span> <span class="gtkdoc opt">*</span>message<span class="gtkdoc opt">,</span>
241
DBusGMethodInvocation <span class="gtkdoc opt">*</span>context<span class="gtkdoc opt">)</span>
242
<span class="gtkdoc opt">{</span>
243
GabbleMediaSession <span class="gtkdoc opt">*</span>self <span class="gtkdoc opt">=</span> <span class="function">GABBLE_MEDIA_SESSION</span> <span class="gtkdoc opt">(</span>iface<span class="gtkdoc opt">);</span>
245
<span class="comment">/* do stuff with self here */</span>
247
<span class="function"><a href="telepathy-glib-svc-media-interfaces.html#tp-svc-media-session-handler-return-from-error">tp_svc_media_session_handler_return_from_error</a></span> <span class="gtkdoc opt">(</span>context<span class="gtkdoc opt">);</span>
248
<span class="gtkdoc opt">}</span></pre></td>
237
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
238
<span class="function">gabble_media_session_error</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">TpSvcMediaSessionHandler</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">iface</span><span class="symbol">,</span>
239
<span class="normal"> </span><span class="usertype">guint</span><span class="normal"> errno</span><span class="symbol">,</span>
240
<span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">message</span><span class="symbol">,</span>
241
<span class="normal"> </span><span class="usertype">DBusGMethodInvocation</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">context</span><span class="symbol">)</span>
242
<span class="cbracket">{</span>
243
<span class="normal"> </span><span class="usertype">GabbleMediaSession</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">self </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GABBLE_MEDIA_SESSION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">iface</span><span class="symbol">);</span>
245
<span class="normal"> </span><span class="comment">/* do stuff with self here */</span>
247
<span class="normal"> </span><span class="function"><a href="telepathy-glib-svc-media-interfaces.html#tp-svc-media-session-handler-return-from-error">tp_svc_media_session_handler_return_from_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">context</span><span class="symbol">);</span>
248
<span class="cbracket">}</span></pre></td>
270
270
<td class="listing_lines" align="right"><pre>1
272
<td class="listing_code"><pre class="programlisting"><span class="function"><a href="telepathy-glib-svc-media-interfaces.html#tp-svc-media-session-handler-emit-new-stream-handler">tp_svc_media_session_handler_emit_new_stream_handler</a></span> <span class="gtkdoc opt">(</span>session<span class="gtkdoc opt">,</span>
273
object_path<span class="gtkdoc opt">,</span> id<span class="gtkdoc opt">,</span> media_type<span class="gtkdoc opt">,</span> TP_MEDIA_STREAM_DIRECTION_BIDIRECTIONAL<span class="gtkdoc opt">);</span></pre></td>
272
<td class="listing_code"><pre class="programlisting"><span class="function"><a href="telepathy-glib-svc-media-interfaces.html#tp-svc-media-session-handler-emit-new-stream-handler">tp_svc_media_session_handler_emit_new_stream_handler</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">session</span><span class="symbol">,</span>
273
<span class="normal"> object_path</span><span class="symbol">,</span><span class="normal"> id</span><span class="symbol">,</span><span class="normal"> media_type</span><span class="symbol">,</span><span class="normal"> <a href="telepathy-glib-enums.html#TP-MEDIA-STREAM-DIRECTION-BIDIRECTIONAL:CAPS">TP_MEDIA_STREAM_DIRECTION_BIDIRECTIONAL</a></span><span class="symbol">);</span></pre></td>
304
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
305
<span class="function">session_handler_iface_init</span> <span class="gtkdoc opt">(</span>gpointer g_iface<span class="gtkdoc opt">,</span> gpointer iface_data<span class="gtkdoc opt">)</span>
306
<span class="gtkdoc opt">{</span>
307
TpSvcMediaSessionHandlerClass <span class="gtkdoc opt">*</span>klass <span class="gtkdoc opt">=</span>
308
<span class="gtkdoc opt">(</span>TpSvcMediaSessionHandlerClass <span class="gtkdoc opt">*)</span>g_iface<span class="gtkdoc opt">;</span>
304
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
305
<span class="function">session_handler_iface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> g_iface</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> iface_data</span><span class="symbol">)</span>
306
<span class="cbracket">{</span>
307
<span class="normal"> </span><span class="usertype">TpSvcMediaSessionHandlerClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">klass </span><span class="symbol">=</span>
308
<span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="telepathy-glib-svc-media-interfaces.html#TpSvcMediaSessionHandlerClass">TpSvcMediaSessionHandlerClass</a> </span><span class="symbol">*)</span><span class="normal">g_iface</span><span class="symbol">;</span>
310
<span class="function"><a href="telepathy-glib-svc-media-interfaces.html#tp-svc-media-session-handler-implement-error">tp_svc_media_session_handler_implement_error</a></span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">,</span>
311
gabble_media_session_error<span class="gtkdoc opt">);</span>
312
<span class="function"><a href="telepathy-glib-svc-media-interfaces.html#tp-svc-media-session-handler-implement-ready">tp_svc_media_session_handler_implement_ready</a></span> <span class="gtkdoc opt">(</span>klass<span class="gtkdoc opt">,</span>
313
gabble_media_session_ready<span class="gtkdoc opt">);</span>
314
<span class="gtkdoc opt">}</span></pre></td>
310
<span class="normal"> </span><span class="function"><a href="telepathy-glib-svc-media-interfaces.html#tp-svc-media-session-handler-implement-error">tp_svc_media_session_handler_implement_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">klass</span><span class="symbol">,</span>
311
<span class="normal"> gabble_media_session_error</span><span class="symbol">);</span>
312
<span class="normal"> </span><span class="function"><a href="telepathy-glib-svc-media-interfaces.html#tp-svc-media-session-handler-implement-ready">tp_svc_media_session_handler_implement_ready</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">klass</span><span class="symbol">,</span>
313
<span class="normal"> gabble_media_session_ready</span><span class="symbol">);</span>
314
<span class="cbracket">}</span></pre></td>
341
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
342
<span class="function">session_handler_iface_init</span> <span class="gtkdoc opt">(</span>gpointer g_iface<span class="gtkdoc opt">,</span> gpointer iface_data<span class="gtkdoc opt">)</span>
343
<span class="gtkdoc opt">{</span>
344
TpSvcMediaSessionHandlerClass <span class="gtkdoc opt">*</span>klass <span class="gtkdoc opt">=</span>
345
<span class="gtkdoc opt">(</span>TpSvcMediaSessionHandlerClass <span class="gtkdoc opt">*)</span>g_iface<span class="gtkdoc opt">;</span>
341
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
342
<span class="function">session_handler_iface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">gpointer</span><span class="normal"> g_iface</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> iface_data</span><span class="symbol">)</span>
343
<span class="cbracket">{</span>
344
<span class="normal"> </span><span class="usertype">TpSvcMediaSessionHandlerClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">klass </span><span class="symbol">=</span>
345
<span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="telepathy-glib-svc-media-interfaces.html#TpSvcMediaSessionHandlerClass">TpSvcMediaSessionHandlerClass</a> </span><span class="symbol">*)</span><span class="normal">g_iface</span><span class="symbol">;</span>
347
<span class="gtkdoc ppc">#define IMPLEMENT(x) tp_svc_media_session_handler_implement_##x (\</span>
348
<span class="gtkdoc ppc"> klass, gabble_media_session_##x)</span>
349
<span class="function">IMPLEMENT</span><span class="gtkdoc opt">(</span>error<span class="gtkdoc opt">);</span>
350
<span class="function">IMPLEMENT</span><span class="gtkdoc opt">(</span>ready<span class="gtkdoc opt">);</span>
351
<span class="gtkdoc ppc">#undef IMPLEMENT</span>
352
<span class="gtkdoc opt">}</span></pre></td>
347
<span class="preproc">#define</span><span class="normal"> </span><span class="function">IMPLEMENT</span><span class="symbol">(</span><span class="normal">x</span><span class="symbol">)</span><span class="normal"> tp_svc_media_session_handler_implement_##</span><span class="function">x</span><span class="normal"> </span><span class="symbol">(\</span>
348
<span class="normal"> klass</span><span class="symbol">,</span><span class="normal"> gabble_media_session_##x</span><span class="symbol">)</span>
349
<span class="normal"> </span><span class="function">IMPLEMENT</span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">);</span>
350
<span class="normal"> </span><span class="function">IMPLEMENT</span><span class="symbol">(</span><span class="normal">ready</span><span class="symbol">);</span>
351
<span class="preproc">#undef</span><span class="normal"> IMPLEMENT</span>
352
<span class="cbracket">}</span></pre></td>