<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>XMLRPC Support</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="index.html" title="libsoup Reference Manual">
<link rel="up" href="ch03.html" title="Web Services APIs">
<link rel="prev" href="libsoup-24-HTML-Form-Support.html" title="HTML Form Support">
<link rel="next" href="libsoup-24-GValue-Support.html" title="GValue Support">
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="ch01.html" title="Tutorial">
<link rel="chapter" href="ch02.html" title="Core API">
<link rel="chapter" href="ch03.html" title="Web Services APIs">
<link rel="chapter" href="ch04.html" title="GNOME integration">
<link rel="chapter" href="ch05.html" title="Low-level Networking API">
<link rel="index" href="ix01.html" title="Index">
</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="2">
<tr valign="middle">
<td><a accesskey="p" href="libsoup-24-HTML-Form-Support.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">libsoup Reference Manual</th>
<td><a accesskey="n" href="libsoup-24-GValue-Support.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libsoup-24-XMLRPC-Support.synopsis" class="shortcut">Top</a>
                 | 
                <a href="#libsoup-24-XMLRPC-Support.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" lang="en">
<a name="libsoup-24-XMLRPC-Support"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libsoup-24-XMLRPC-Support.top_of_page"></a>XMLRPC Support</span></h2>
<p>XMLRPC Support — XML-RPC support</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="libsoup-24-XMLRPC-Support.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
char *              <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-build-method-call" title="soup_xmlrpc_build_method_call ()">soup_xmlrpc_build_method_call</a>       (const char *method_name,
                                                         <a
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
>GValue</a> *params,
                                                         int n_params);
<a class="link" href="SoupMessage.html" title="SoupMessage">SoupMessage</a> *       <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-request-new" title="soup_xmlrpc_request_new ()">soup_xmlrpc_request_new</a>             (const char *uri,
                                                         const char *method_name,
                                                         ...);
<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-parse-method-response" title="soup_xmlrpc_parse_method_response ()">soup_xmlrpc_parse_method_response</a>   (const char *method_response,
                                                         int length,
                                                         <a
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
>GValue</a> *value,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-extract-method-response" title="soup_xmlrpc_extract_method_response ()">soup_xmlrpc_extract_method_response</a> (const char *method_response,
                                                         int length,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
>GError</a> **error,
                                                         <a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
>GType</a> type,
                                                         ...);

<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-parse-method-call" title="soup_xmlrpc_parse_method_call ()">soup_xmlrpc_parse_method_call</a>       (const char *method_call,
                                                         int length,
                                                         char **method_name,
                                                         <a
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
>GValueArray</a> **params);
<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-extract-method-call" title="soup_xmlrpc_extract_method_call ()">soup_xmlrpc_extract_method_call</a>     (const char *method_call,
                                                         int length,
                                                         char **method_name,
                                                         ...);
char *              <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-build-method-response" title="soup_xmlrpc_build_method_response ()">soup_xmlrpc_build_method_response</a>   (<a
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
>GValue</a> *value);
char *              <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-build-fault" title="soup_xmlrpc_build_fault ()">soup_xmlrpc_build_fault</a>             (int fault_code,
                                                         const char *fault_format,
                                                         ...);
void                <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-set-response" title="soup_xmlrpc_set_response ()">soup_xmlrpc_set_response</a>            (<a class="link" href="SoupMessage.html" title="SoupMessage">SoupMessage</a> *msg,
                                                         <a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
>GType</a> type,
                                                         ...);
void                <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-set-fault" title="soup_xmlrpc_set_fault ()">soup_xmlrpc_set_fault</a>               (<a class="link" href="SoupMessage.html" title="SoupMessage">SoupMessage</a> *msg,
                                                         int fault_code,
                                                         const char *fault_format,
                                                         ...);

#define             <a class="link" href="libsoup-24-XMLRPC-Support.html#SOUP-XMLRPC-ERROR--CAPS" title="SOUP_XMLRPC_ERROR">SOUP_XMLRPC_ERROR</a>
enum                <a class="link" href="libsoup-24-XMLRPC-Support.html#SoupXMLRPCError" title="enum SoupXMLRPCError">SoupXMLRPCError</a>;
#define             <a class="link" href="libsoup-24-XMLRPC-Support.html#SOUP-XMLRPC-FAULT--CAPS" title="SOUP_XMLRPC_FAULT">SOUP_XMLRPC_FAULT</a>
enum                <a class="link" href="libsoup-24-XMLRPC-Support.html#SoupXMLRPCFault" title="enum SoupXMLRPCFault">SoupXMLRPCFault</a>;
</pre>
</div>
<div class="refsect1" lang="en">
<a name="libsoup-24-XMLRPC-Support.description"></a><h2>Description</h2>
<p>
</p>
<p>
</p>
</div>
<div class="refsect1" lang="en">
<a name="libsoup-24-XMLRPC-Support.details"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="soup-xmlrpc-build-method-call"></a><h3>soup_xmlrpc_build_method_call ()</h3>
<pre class="programlisting">char *              soup_xmlrpc_build_method_call       (const char *method_name,
                                                         <a
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
>GValue</a> *params,
                                                         int n_params);</pre>
<p>
This creates an XML-RPC methodCall and returns it as a string.
This is the low-level method that <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-request-new" title="soup_xmlrpc_request_new ()"><code class="function">soup_xmlrpc_request_new()</code></a> and
<code class="function">soup_xmlrpc_call()</code> are built on.
</p>
<p>
<em class="parameter"><code>params</code></em> is an array of <a
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
><span class="type">GValue</span></a> representing the parameters to
<em class="parameter"><code>method</code></em>. (It is *not* a <a
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
><span class="type">GValueArray</span></a>, although if you have a
<a
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
><span class="type">GValueArray</span></a>, you can just pass its <code class="literal">values</code> and <code class="literal">n_values</code> fields.)
</p>
<p>
The correspondence between glib types and XML-RPC types is:
</p>
<p>
  int: <span class="type">int</span> (<a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-TYPE-INT--CAPS"
><code class="literal">G_TYPE_INT</code></a>)
  boolean: <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
><span class="type">gboolean</span></a> (<a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-TYPE-BOOLEAN--CAPS"
><code class="literal">G_TYPE_BOOLEAN</code></a>)
  string: <span class="type">char</span>* (<a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-TYPE-STRING--CAPS"
><code class="literal">G_TYPE_STRING</code></a>)
  double: <span class="type">double</span> (<a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-TYPE-DOUBLE--CAPS"
><code class="literal">G_TYPE_DOUBLE</code></a>)
  datetime.iso8601: <a class="link" href="libsoup-24-Soup-Miscellaneous-Utilities.html#SoupDate" title="SoupDate"><span class="type">SoupDate</span></a> (<code class="literal">SOUP_TYPE_DATE</code>)
  base64: <a
href="/usr/share/gtk-doc/html/glib/glib-Byte-Arrays.html#GByteArray"
><span class="type">GByteArray</span></a> (<a class="link" href="libsoup-24-GValue-Support.html#SOUP-TYPE-BYTE-ARRAY--CAPS" title="SOUP_TYPE_BYTE_ARRAY"><code class="literal">SOUP_TYPE_BYTE_ARRAY</code></a>)
  struct: <a
href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
><span class="type">GHashTable</span></a> (<a
href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html#G-TYPE-HASH-TABLE--CAPS"
><code class="literal">G_TYPE_HASH_TABLE</code></a>)
  array: <a
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
><span class="type">GValueArray</span></a> (<a
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#G-TYPE-VALUE-ARRAY--CAPS"
><code class="literal">G_TYPE_VALUE_ARRAY</code></a>)
</p>
<p>
For structs, use a <a
href="/usr/share/gtk-doc/html/glib/glib-Hash-Tables.html#GHashTable"
><span class="type">GHashTable</span></a> that maps strings to <a
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
><span class="type">GValue</span></a>;
<a class="link" href="libsoup-24-GValue-Support.html#soup-value-hash-new" title="soup_value_hash_new ()"><code class="function">soup_value_hash_new()</code></a> and related methods can help with this.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>method_name</code></em> :</span></p></td>
<td> the name of the XML-RPC method
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
<td> arguments to <em class="parameter"><code>method</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_params</code></em> :</span></p></td>
<td> length of <em class="parameter"><code>params</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the text of the methodCall, or <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a> on error
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="soup-xmlrpc-request-new"></a><h3>soup_xmlrpc_request_new ()</h3>
<pre class="programlisting"><a class="link" href="SoupMessage.html" title="SoupMessage">SoupMessage</a> *       soup_xmlrpc_request_new             (const char *uri,
                                                         const char *method_name,
                                                         ...);</pre>
<p>
Creates an XML-RPC methodCall and returns a <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a>, ready
to send, for that method call.
</p>
<p>
The parameters are passed as type/value pairs; ie, first a <a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
><span class="type">GType</span></a>,
and then a value of the appropriate type, finally terminated by
<a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-TYPE-INVALID--CAPS"
><code class="literal">G_TYPE_INVALID</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td> URI of the XML-RPC service
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>method_name</code></em> :</span></p></td>
<td> the name of the XML-RPC method to invoke at <em class="parameter"><code>uri</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td> parameters for <em class="parameter"><code>method</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> encoding the indicated XML-RPC
request.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="soup-xmlrpc-parse-method-response"></a><h3>soup_xmlrpc_parse_method_response ()</h3>
<pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            soup_xmlrpc_parse_method_response   (const char *method_response,
                                                         int length,
                                                         <a
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
>GValue</a> *value,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Parses <em class="parameter"><code>method_response</code></em> and returns the return value in <em class="parameter"><code>value</code></em>. If
<em class="parameter"><code>method_response</code></em> is a fault, <em class="parameter"><code>value</code></em> will be unchanged, and <em class="parameter"><code>error</code></em>
will be set to an error of type <a class="link" href="libsoup-24-XMLRPC-Support.html#SOUP-XMLRPC-FAULT--CAPS" title="SOUP_XMLRPC_FAULT"><code class="literal">SOUP_XMLRPC_FAULT</code></a>, with the error
<span class="type">code</span> containing the fault code, and the error <span class="type">message</span> containing
the fault string. (If <em class="parameter"><code>method_response</code></em> cannot be parsed at all,
<a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-parse-method-response" title="soup_xmlrpc_parse_method_response ()"><code class="function">soup_xmlrpc_parse_method_response()</code></a> will return <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE--CAPS"
><code class="literal">FALSE</code></a>, but <em class="parameter"><code>error</code></em>
will be unset.)</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>method_response</code></em> :</span></p></td>
<td> the XML-RPC methodResponse string
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
<td> the length of <em class="parameter"><code>method_response</code></em>, or -1 if it is NUL-terminated
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
<td> on return, the return value from <em class="parameter"><code>method_call</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td> error return value
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE--CAPS"
><code class="literal">TRUE</code></a> if a return value was parsed, <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE--CAPS"
><code class="literal">FALSE</code></a> if the
response could not be parsed, or contained a fault.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="soup-xmlrpc-extract-method-response"></a><h3>soup_xmlrpc_extract_method_response ()</h3>
<pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            soup_xmlrpc_extract_method_response (const char *method_response,
                                                         int length,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
>GError</a> **error,
                                                         <a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
>GType</a> type,
                                                         ...);</pre>
<p>
Parses <em class="parameter"><code>method_response</code></em> and extracts the return value into
a variable of the correct type.
</p>
<p>
If <em class="parameter"><code>method_response</code></em> is a fault, the return value will be unset,
and <em class="parameter"><code>error</code></em> will be set to an error of type <a class="link" href="libsoup-24-XMLRPC-Support.html#SOUP-XMLRPC-FAULT--CAPS" title="SOUP_XMLRPC_FAULT"><code class="literal">SOUP_XMLRPC_FAULT</code></a>, with
the error <span class="type">code</span> containing the fault code, and the error <span class="type">message</span>
containing the fault string. (If <em class="parameter"><code>method_response</code></em> cannot be parsed
at all, <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-extract-method-response" title="soup_xmlrpc_extract_method_response ()"><code class="function">soup_xmlrpc_extract_method_response()</code></a> will return <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE--CAPS"
><code class="literal">FALSE</code></a>,
but <em class="parameter"><code>error</code></em> will be unset.)</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>method_response</code></em> :</span></p></td>
<td> the XML-RPC methodResponse string
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
<td> the length of <em class="parameter"><code>method_response</code></em>, or -1 if it is NUL-terminated
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td> error return value
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td> the expected type of the return value
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td> location for return value
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE--CAPS"
><code class="literal">TRUE</code></a> if a return value was parsed, <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE--CAPS"
><code class="literal">FALSE</code></a> if the
response was of the wrong type, or contained a fault.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="soup-xmlrpc-parse-method-call"></a><h3>soup_xmlrpc_parse_method_call ()</h3>
<pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            soup_xmlrpc_parse_method_call       (const char *method_call,
                                                         int length,
                                                         char **method_name,
                                                         <a
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
>GValueArray</a> **params);</pre>
<p>
Parses <em class="parameter"><code>method_call</code></em> to get the name and parameters, and returns the
parameter values in a <a
href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
><span class="type">GValueArray</span></a>; see also
<a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-extract-method-call" title="soup_xmlrpc_extract_method_call ()"><code class="function">soup_xmlrpc_extract_method_call()</code></a>, which is more convenient if you
know in advance what the types of the parameters will be.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>method_call</code></em> :</span></p></td>
<td> the XML-RPC methodCall string
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
<td> the length of <em class="parameter"><code>method_call</code></em>, or -1 if it is NUL-terminated
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>method_name</code></em> :</span></p></td>
<td> on return, the methodName from <em class="parameter"><code>method_call</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
<td> on return, the parameters from <em class="parameter"><code>method_call</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> success or failure.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="soup-xmlrpc-extract-method-call"></a><h3>soup_xmlrpc_extract_method_call ()</h3>
<pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            soup_xmlrpc_extract_method_call     (const char *method_call,
                                                         int length,
                                                         char **method_name,
                                                         ...);</pre>
<p>
Parses <em class="parameter"><code>method_call</code></em> to get the name and parameters, and puts
the parameters into variables of the appropriate types.
</p>
<p>
The parameters are handled similarly to
<em class="parameter"><code>soup_xmlrpc_build_method_call</code></em>, with pairs of types and values,
terminated by <a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-TYPE-INVALID--CAPS"
><code class="literal">G_TYPE_INVALID</code></a>, except that values are pointers to
variables of the indicated type, rather than values of the type.
</p>
<p>
See also <a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-parse-method-call" title="soup_xmlrpc_parse_method_call ()"><code class="function">soup_xmlrpc_parse_method_call()</code></a>, which can be used if
you don't know the types of the parameters.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>method_call</code></em> :</span></p></td>
<td> the XML-RPC methodCall string
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
<td> the length of <em class="parameter"><code>method_call</code></em>, or -1 if it is NUL-terminated
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>method_name</code></em> :</span></p></td>
<td> on return, the methodName from <em class="parameter"><code>method_call</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td> return types and locations for parameters
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> success or failure.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="soup-xmlrpc-build-method-response"></a><h3>soup_xmlrpc_build_method_response ()</h3>
<pre class="programlisting">char *              soup_xmlrpc_build_method_response   (<a
href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue"
>GValue</a> *value);</pre>
<p>
This creates a (successful) XML-RPC methodResponse and returns it
as a string. To create a fault response, use
<a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-build-fault" title="soup_xmlrpc_build_fault ()"><code class="function">soup_xmlrpc_build_fault()</code></a>.
</p>
<p>
The glib type to XML-RPC type mapping is as with
<a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-build-method-call" title="soup_xmlrpc_build_method_call ()"><code class="function">soup_xmlrpc_build_method_call()</code></a>, qv.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
<td> the return value
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the text of the methodResponse, or <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a> on error
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="soup-xmlrpc-build-fault"></a><h3>soup_xmlrpc_build_fault ()</h3>
<pre class="programlisting">char *              soup_xmlrpc_build_fault             (int fault_code,
                                                         const char *fault_format,
                                                         ...);</pre>
<p>
This creates an XML-RPC fault response and returns it as a string.
(To create a successful response, use
<a class="link" href="libsoup-24-XMLRPC-Support.html#soup-xmlrpc-build-method-response" title="soup_xmlrpc_build_method_response ()"><code class="function">soup_xmlrpc_build_method_response()</code></a>.)</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>fault_code</code></em> :</span></p></td>
<td> the fault code
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>fault_format</code></em> :</span></p></td>
<td> a <code class="function">printf()</code>-style format string
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td> the parameters to <em class="parameter"><code>fault_format</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the text of the fault
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="soup-xmlrpc-set-response"></a><h3>soup_xmlrpc_set_response ()</h3>
<pre class="programlisting">void                soup_xmlrpc_set_response            (<a class="link" href="SoupMessage.html" title="SoupMessage">SoupMessage</a> *msg,
                                                         <a
href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"
>GType</a> type,
                                                         ...);</pre>
<p>
Sets the status code and response body of <em class="parameter"><code>msg</code></em> to indicate a
successful XML-RPC call, with a return value given by <em class="parameter"><code>type</code></em> and the
following varargs argument, of the type indicated by <em class="parameter"><code>type</code></em>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
<td> an XML-RPC request
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td> the type of the response value
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td> the response value
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="soup-xmlrpc-set-fault"></a><h3>soup_xmlrpc_set_fault ()</h3>
<pre class="programlisting">void                soup_xmlrpc_set_fault               (<a class="link" href="SoupMessage.html" title="SoupMessage">SoupMessage</a> *msg,
                                                         int fault_code,
                                                         const char *fault_format,
                                                         ...);</pre>
<p>
Sets the status code and response body of <em class="parameter"><code>msg</code></em> to indicate an
unsuccessful XML-RPC call, with the error described by <em class="parameter"><code>fault_code</code></em>
and <em class="parameter"><code>fault_format</code></em>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>msg</code></em> :</span></p></td>
<td> an XML-RPC request
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>fault_code</code></em> :</span></p></td>
<td> the fault code
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>fault_format</code></em> :</span></p></td>
<td> a <code class="function">printf()</code>-style format string
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td> the parameters to <em class="parameter"><code>fault_format</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="SOUP-XMLRPC-ERROR--CAPS"></a><h3>SOUP_XMLRPC_ERROR</h3>
<pre class="programlisting">#define SOUP_XMLRPC_ERROR soup_xmlrpc_error_quark()
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="SoupXMLRPCError"></a><h3>enum SoupXMLRPCError</h3>
<pre class="programlisting">typedef enum {
	SOUP_XMLRPC_ERROR_ARGUMENTS,
	SOUP_XMLRPC_ERROR_RETVAL
} SoupXMLRPCError;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="SOUP-XMLRPC-FAULT--CAPS"></a><h3>SOUP_XMLRPC_FAULT</h3>
<pre class="programlisting">#define SOUP_XMLRPC_FAULT soup_xmlrpc_fault_quark()
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="SoupXMLRPCFault"></a><h3>enum SoupXMLRPCFault</h3>
<pre class="programlisting">typedef enum {
	SOUP_XMLRPC_FAULT_PARSE_ERROR_NOT_WELL_FORMED = -32700,
	SOUP_XMLRPC_FAULT_PARSE_ERROR_UNSUPPORTED_ENCODING = -32701,
	SOUP_XMLRPC_FAULT_PARSE_ERROR_INVALID_CHARACTER_FOR_ENCODING = -32702,
	SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_XML_RPC = -32600,
	SOUP_XMLRPC_FAULT_SERVER_ERROR_REQUESTED_METHOD_NOT_FOUND = -32601,
	SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_METHOD_PARAMETERS = -32602,
	SOUP_XMLRPC_FAULT_SERVER_ERROR_INTERNAL_XML_RPC_ERROR = -32603,
	SOUP_XMLRPC_FAULT_APPLICATION_ERROR = -32500,
	SOUP_XMLRPC_FAULT_SYSTEM_ERROR = -32400,
	SOUP_XMLRPC_FAULT_TRANSPORT_ERROR = -32300
} SoupXMLRPCFault;
</pre>
<p>
</p>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.11</div>
</body>
</html>