1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
<title>GNOME Online Accounts Reference Manual: GoaProviderFactory</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
<link rel="home" href="index.html" title="GNOME Online Accounts Reference Manual">
8
<link rel="up" href="ch07.html" title="Core">
9
<link rel="prev" href="GoaProvider.html" title="GoaProvider">
10
<link rel="next" href="GoaOAuthProvider.html" title="GoaOAuthProvider">
11
<meta name="generator" content="GTK-Doc V1.20 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
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">
17
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
18
<a href="#GoaProviderFactory.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
19
<a href="#GoaProviderFactory.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
21
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22
<td><a accesskey="u" href="ch07.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23
<td><a accesskey="p" href="GoaProvider.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24
<td><a accesskey="n" href="GoaOAuthProvider.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
26
<div class="refentry">
27
<a name="GoaProviderFactory"></a><div class="titlepage"></div>
28
<div class="refnamediv"><table width="100%"><tr>
30
<h2><span class="refentrytitle"><a name="GoaProviderFactory.top_of_page"></a>GoaProviderFactory</span></h2>
31
<p>GoaProviderFactory — Abstract base class for provider factories</p>
33
<td class="gallery_image" valign="top" align="right"></td>
35
<div class="refsect1">
36
<a name="GoaProviderFactory.functions"></a><h2>Functions</h2>
37
<div class="informaltable"><table width="100%" border="0">
39
<col width="150px" class="functions_return">
40
<col class="functions_name">
44
<td class="function_type">
45
<a class="link" href="GoaProvider.html" title="GoaProvider"><span class="returnvalue">GoaProvider</span></a> *
47
<td class="function_name">
48
<a class="link" href="GoaProviderFactory.html#goa-provider-factory-get-provider" title="goa_provider_factory_get_provider ()">goa_provider_factory_get_provider</a> <span class="c_punctuation">()</span>
52
<td class="function_type">
53
<span class="returnvalue">void</span>
55
<td class="function_name">
56
<a class="link" href="GoaProviderFactory.html#goa-provider-factory-get-providers" title="goa_provider_factory_get_providers ()">goa_provider_factory_get_providers</a> <span class="c_punctuation">()</span>
60
<td class="function_type">
61
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
63
<td class="function_name">
64
<a class="link" href="GoaProviderFactory.html#goa-provider-factory-get-providers-finish" title="goa_provider_factory_get_providers_finish ()">goa_provider_factory_get_providers_finish</a> <span class="c_punctuation">()</span>
70
<div class="refsect1">
71
<a name="GoaProviderFactory.other"></a><h2>Types and Values</h2>
72
<div class="informaltable"><table width="100%" border="0">
74
<col width="150px" class="name">
75
<col class="description">
79
<td class="datatype_keyword">struct</td>
80
<td class="function_name"><a class="link" href="GoaProviderFactory.html#GoaProviderFactory-struct" title="struct GoaProviderFactory">GoaProviderFactory</a></td>
83
<td class="datatype_keyword">struct</td>
84
<td class="function_name"><a class="link" href="GoaProviderFactory.html#GoaProviderFactoryClass" title="struct GoaProviderFactoryClass">GoaProviderFactoryClass</a></td>
87
<td class="define_keyword">#define</td>
88
<td class="function_name"><a class="link" href="GoaProviderFactory.html#GOA-PROVIDER-FACTORY-EXTENSION-POINT-NAME:CAPS" title="GOA_PROVIDER_FACTORY_EXTENSION_POINT_NAME">GOA_PROVIDER_FACTORY_EXTENSION_POINT_NAME</a></td>
93
<div class="refsect1">
94
<a name="GoaProviderFactory.object-hierarchy"></a><h2>Object Hierarchy</h2>
95
<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
96
<span class="lineart">╰──</span> GoaProviderFactory
99
<div class="refsect1">
100
<a name="GoaProviderFactory.description"></a><h2>Description</h2>
101
<p><a class="link" href="GoaProviderFactory.html" title="GoaProviderFactory"><span class="type">GoaProviderFactory</span></a> implementations are used to dynamically create <a class="link" href="GoaProvider.html" title="GoaProvider"><span class="type">GoaProvider</span></a> instances.</p>
103
<div class="refsect1">
104
<a name="GoaProviderFactory.functions_details"></a><h2>Functions</h2>
105
<div class="refsect2">
106
<a name="goa-provider-factory-get-provider"></a><h3>goa_provider_factory_get_provider ()</h3>
107
<pre class="programlisting"><a class="link" href="GoaProvider.html" title="GoaProvider"><span class="returnvalue">GoaProvider</span></a> *
108
goa_provider_factory_get_provider (<em class="parameter"><code><a class="link" href="GoaProviderFactory.html" title="GoaProviderFactory"><span class="type">GoaProviderFactory</span></a> *factory</code></em>,
109
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *provider_name</code></em>);</pre>
110
<p>Create a dynamic <a class="link" href="GoaProvider.html" title="GoaProvider"><span class="type">GoaProvider</span></a> for the subclass-specific <em class="parameter"><code>provider_name</code></em>
112
<div class="refsect3">
113
<a name="id-1.5.2.4.7.2.5"></a><h4>Parameters</h4>
114
<div class="informaltable"><table width="100%" border="0">
116
<col width="150px" class="parameters_name">
117
<col class="parameters_description">
118
<col width="200px" class="parameters_annotations">
122
<td class="parameter_name"><p>factory</p></td>
123
<td class="parameter_description"><p>A <a class="link" href="GoaProviderFactory.html" title="GoaProviderFactory"><span class="type">GoaProviderFactory</span></a>.</p></td>
124
<td class="parameter_annotations"> </td>
127
<td class="parameter_name"><p>provider_name</p></td>
128
<td class="parameter_description"><p>A provider type identifier (ie. IM protocol names in <a class="link" href="goa-GoaTelepathyFactory.html#GoaTelepathyFactory" title="struct GoaTelepathyFactory"><span class="type">GoaTelepathyFactory</span></a>)</p></td>
129
<td class="parameter_annotations"> </td>
134
<div class="refsect3">
135
<a name="id-1.5.2.4.7.2.6"></a><h4>Returns</h4>
136
<p> A <a class="link" href="GoaProvider.html" title="GoaProvider"><span class="type">GoaProvider</span></a> (that must be freed
137
with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>) or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. </p>
138
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
142
<div class="refsect2">
143
<a name="goa-provider-factory-get-providers"></a><h3>goa_provider_factory_get_providers ()</h3>
144
<pre class="programlisting"><span class="returnvalue">void</span>
145
goa_provider_factory_get_providers (<em class="parameter"><code><a class="link" href="GoaProviderFactory.html" title="GoaProviderFactory"><span class="type">GoaProviderFactory</span></a> *factory</code></em>,
146
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
147
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
148
<p>Get asynchronously a list of <a class="link" href="GoaProvider.html" title="GoaProvider"><span class="type">GoaProvider</span></a> instances handled by <em class="parameter"><code>factory</code></em>
150
<p>When the result is ready, <em class="parameter"><code>callback</code></em>
151
will be called in the the <GTKDOCLINK HREF="g-main-context-push-thread-default">thread-default main
152
loop</GTKDOCLINK> this function was called from. You can then call
153
<a class="link" href="GoaProviderFactory.html#goa-provider-factory-get-providers-finish" title="goa_provider_factory_get_providers_finish ()"><code class="function">goa_provider_factory_get_providers_finish()</code></a> to get the result
154
of the operation.</p>
155
<p>This is a virtual method that must be implemented by subclasses.</p>
156
<div class="refsect3">
157
<a name="id-1.5.2.4.7.3.7"></a><h4>Parameters</h4>
158
<div class="informaltable"><table width="100%" border="0">
160
<col width="150px" class="parameters_name">
161
<col class="parameters_description">
162
<col width="200px" class="parameters_annotations">
166
<td class="parameter_name"><p>factory</p></td>
167
<td class="parameter_description"><p>A <a class="link" href="GoaProviderFactory.html" title="GoaProviderFactory"><span class="type">GoaProviderFactory</span></a>.</p></td>
168
<td class="parameter_annotations"> </td>
171
<td class="parameter_name"><p>callback</p></td>
172
<td class="parameter_description"><p>The function to call when the request is satisfied.</p></td>
173
<td class="parameter_annotations"> </td>
176
<td class="parameter_name"><p>user_data</p></td>
177
<td class="parameter_description"><p>Pointer to pass to <em class="parameter"><code>callback</code></em>
179
<td class="parameter_annotations"> </td>
186
<div class="refsect2">
187
<a name="goa-provider-factory-get-providers-finish"></a><h3>goa_provider_factory_get_providers_finish ()</h3>
188
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
189
goa_provider_factory_get_providers_finish
190
(<em class="parameter"><code><a class="link" href="GoaProviderFactory.html" title="GoaProviderFactory"><span class="type">GoaProviderFactory</span></a> *factory</code></em>,
191
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **out_providers</code></em>,
192
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html"><span class="type">GAsyncResult</span></a> *result</code></em>,
193
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
194
<p>Finishes an operation started with <a class="link" href="GoaProviderFactory.html#goa-provider-factory-get-providers" title="goa_provider_factory_get_providers ()"><code class="function">goa_provider_factory_get_providers()</code></a></p>
195
<p>This is a virtual method that subclasses may implement. The default implementation is suitable for
196
<a href="http://library.gnome.org/devel/gio/unstable/GSimpleAsyncResult.html"><span class="type">GSimpleAsyncResult</span></a> an implementation of <a class="link" href="GoaProviderFactory.html#goa-provider-factory-get-providers" title="goa_provider_factory_get_providers ()"><code class="function">goa_provider_factory_get_providers()</code></a> using <a href="http://library.gnome.org/devel/gio/unstable/GSimpleAsyncResult.html"><span class="type">GSimpleAsyncResult</span></a>.</p>
197
<div class="refsect3">
198
<a name="id-1.5.2.4.7.4.6"></a><h4>Parameters</h4>
199
<div class="informaltable"><table width="100%" border="0">
201
<col width="150px" class="parameters_name">
202
<col class="parameters_description">
203
<col width="200px" class="parameters_annotations">
207
<td class="parameter_name"><p>factory</p></td>
208
<td class="parameter_description"><p>A <a class="link" href="GoaProviderFactory.html" title="GoaProviderFactory"><span class="type">GoaProviderFactory</span></a>.</p></td>
209
<td class="parameter_annotations"> </td>
212
<td class="parameter_name"><p>out_providers</p></td>
213
<td class="parameter_description"><p> Return location for a list of <a class="link" href="GoaProvider.html" title="GoaProvider"><span class="type">GoaProvider</span></a> instances handled by <em class="parameter"><code>factory</code></em>
215
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
218
<td class="parameter_name"><p>result</p></td>
219
<td class="parameter_description"><p>A <a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html"><span class="type">GAsyncResult</span></a> obtained from the <a href="http://library.gnome.org/devel/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="GoaProviderFactory.html#goa-provider-factory-get-providers" title="goa_provider_factory_get_providers ()"><code class="function">goa_provider_factory_get_providers()</code></a>.</p></td>
220
<td class="parameter_annotations"> </td>
223
<td class="parameter_name"><p>error</p></td>
224
<td class="parameter_description"><p>Return location for error or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
225
<td class="parameter_annotations"> </td>
230
<div class="refsect3">
231
<a name="id-1.5.2.4.7.4.7"></a><h4>Returns</h4>
232
<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the list was successfully retrieved, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
238
<div class="refsect1">
239
<a name="GoaProviderFactory.other_details"></a><h2>Types and Values</h2>
240
<div class="refsect2">
241
<a name="GoaProviderFactory-struct"></a><h3>struct GoaProviderFactory</h3>
242
<pre class="programlisting">struct GoaProviderFactory;</pre>
243
<p>The <a class="link" href="GoaProviderFactory.html" title="GoaProviderFactory"><span class="type">GoaProviderFactory</span></a> structure contains only private data and should
244
only be accessed using the provided API.</p>
247
<div class="refsect2">
248
<a name="GoaProviderFactoryClass"></a><h3>struct GoaProviderFactoryClass</h3>
249
<pre class="programlisting">struct GoaProviderFactoryClass {
250
GObjectClass parent_class;
252
/* Mandatory to implement. */
253
GoaProvider *(*get_provider) (GoaProviderFactory *factory,
254
const gchar *provider_name);
256
/* The async method is mandatory to implement, but _finish has a default
257
* implementation suitable for a GSimpleAsyncResult. */
258
void (*get_providers) (GoaProviderFactory *factory,
259
GAsyncReadyCallback callback,
261
gboolean (*get_providers_finish) (GoaProviderFactory *factory,
262
GList **out_providers,
263
GAsyncResult *result,
267
<p>Class structure for <a class="link" href="GoaProviderFactory.html" title="GoaProviderFactory"><span class="type">GoaProviderFactory</span></a>.</p>
268
<div class="refsect3">
269
<a name="id-1.5.2.4.8.3.5"></a><h4>Members</h4>
270
<div class="informaltable"><table width="100%" border="0">
272
<col width="300px" class="struct_members_name">
273
<col class="struct_members_description">
274
<col width="200px" class="struct_members_annotations">
278
<td class="struct_member_name"><p><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> <em class="structfield"><code><a name="GoaProviderFactoryClass.parent-class"></a>parent_class</code></em>;</p></td>
279
<td class="struct_member_description"><p>The parent class.</p></td>
280
<td class="struct_member_annotations"> </td>
283
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaProviderFactoryClass.get-provider"></a>get_provider</code></em> ()</p></td>
284
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaProviderFactory.html#goa-provider-factory-get-provider" title="goa_provider_factory_get_provider ()"><code class="function">goa_provider_factory_get_provider()</code></a>.</p></td>
285
<td class="struct_member_annotations"> </td>
288
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaProviderFactoryClass.get-providers"></a>get_providers</code></em> ()</p></td>
289
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaProviderFactory.html#goa-provider-factory-get-providers" title="goa_provider_factory_get_providers ()"><code class="function">goa_provider_factory_get_providers()</code></a>.</p></td>
290
<td class="struct_member_annotations"> </td>
293
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaProviderFactoryClass.get-providers-finish"></a>get_providers_finish</code></em> ()</p></td>
294
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaProviderFactory.html#goa-provider-factory-get-providers-finish" title="goa_provider_factory_get_providers_finish ()"><code class="function">goa_provider_factory_get_providers_finish()</code></a>.</p></td>
295
<td class="struct_member_annotations"> </td>
302
<div class="refsect2">
303
<a name="GOA-PROVIDER-FACTORY-EXTENSION-POINT-NAME:CAPS"></a><h3>GOA_PROVIDER_FACTORY_EXTENSION_POINT_NAME</h3>
304
<pre class="programlisting">#define GOA_PROVIDER_FACTORY_EXTENSION_POINT_NAME "goa-backend-provider-factory"
306
<p>Extension point for <a class="link" href="GoaProviderFactory.html" title="GoaProviderFactory"><span class="type">GoaProviderFactory</span></a> implementations.</p>
312
Generated by GTK-Doc V1.20</div>
b'\\ No newline at end of file'