<p>
Example of a typical asynchronous operation flow:
</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
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38</pre></td>
- <td class="listing_code"><pre class="programlisting"><span class="type">void</span><span class="normal"> </span><span class="function">_theoretical_frobnitz_async</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">Theoretical</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">t</span><span class="symbol">,</span>
-<span class="normal"> </span><span class="usertype">GCancellable</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">c</span><span class="symbol">,</span>
-<span class="normal"> </span><span class="usertype">GAsyncReadyCallback</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">cb</span><span class="symbol">,</span>
-<span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> u</span><span class="symbol">);</span>
+<div class="informalexample"><pre class="programlisting">
+void _theoretical_frobnitz_async (Theoretical *t,
+ GCancellable *c,
+ GAsyncReadyCallback *cb,
+ gpointer u);
-<span class="normal"><a href="./../glib/glib/glib-Basic-Types.html#gboolean">gboolean</a> </span><span class="function">_theoretical_frobnitz_finish</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">Theoretical</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">t</span><span class="symbol">,</span>
-<span class="normal"> </span><span class="usertype">GAsyncResult</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">res</span><span class="symbol">,</span>
-<span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">e</span><span class="symbol">);</span>
+gboolean _theoretical_frobnitz_finish (Theoretical *t,
+ GAsyncResult *res,
+ GError **e);
-<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
-<span class="function">frobnitz_result_func</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">source_object</span><span class="symbol">,</span>
-<span class="normal"> </span><span class="usertype">GAsyncResult</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">res</span><span class="symbol">,</span>
-<span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> user_data</span><span class="symbol">)</span>
-<span class="cbracket">{</span>
-<span class="normal"> </span><span class="usertype">gboolean</span><span class="normal"> success </span><span class="symbol">=</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">;</span>
+static void
+frobnitz_result_func (GObject *source_object,
+ GAsyncResult *res,
+ gpointer user_data)
+{
+ gboolean success = FALSE;
-<span class="normal"> success </span><span class="symbol">=</span><span class="normal"> </span><span class="function">_theoretical_frobnitz_finish</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">source_object</span><span class="symbol">,</span><span class="normal"> res</span><span class="symbol">,</span><span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
+ success = _theoretical_frobnitz_finish (source_object, res, NULL);
-<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">success</span><span class="symbol">)</span>
-<span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-printf">g_printf</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Hurray!</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">);</span>
-<span class="normal"> </span><span class="keyword">else</span>
-<span class="normal"> </span><span class="function"><a href="./../glib/glib/glib-String-Utility-Functions.html#g-printf">g_printf</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Uh oh!</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">);</span>
+ if (success)
+ g_printf ("Hurray!\n");
+ else
+ g_printf ("Uh oh!\n");
-<span class="normal"> </span><span class="comment">/* ... */</span>
+ /* ... */
-<span class="cbracket">}</span>
+}
-<span class="type">int</span><span class="normal"> </span><span class="function">main</span><span class="normal"> </span><span class="symbol">(</span><span class="type">int</span><span class="normal"> argc</span><span class="symbol">,</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">argv</span><span class="symbol">[])</span>
-<span class="cbracket">{</span>
-<span class="normal"> </span><span class="comment">/* ... */</span>
+int main (int argc, void *argv[])
+{
+ /* ... */
-<span class="normal"> </span><span class="function">_theoretical_frobnitz_async</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">theoretical_data</span><span class="symbol">,</span>
-<span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
-<span class="normal"> frobnitz_result_func</span><span class="symbol">,</span>
-<span class="normal"> <a href="./../glib/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
-
-<span class="normal"> </span><span class="comment">/* ... */</span>
-<span class="cbracket">}</span></pre></td>
- </tr>
- </tbody>
- </table>
-</div>
+ _theoretical_frobnitz_async (theoretical_data,
+ NULL,
+ frobnitz_result_func,
+ NULL);
+ /* ... */
+}
+</pre></div>
<p>
</p>
<p>