<!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>