diff options
author | Dan Winship <danw@src.gnome.org> | 2008-01-15 17:40:47 +0000 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2008-01-15 17:40:47 +0000 |
commit | 96d28e7f42ead1ddde6bccca9fba6831710a531f (patch) | |
tree | 8b3fd4ae679d19656aef6264cfcf260e515a8eec /docs/reference | |
parent | 3f957a48574e9ac8eba06cf91fb2f101ffcf982d (diff) | |
download | libsoup-96d28e7f42ead1ddde6bccca9fba6831710a531f.tar.gz libsoup-96d28e7f42ead1ddde6bccca9fba6831710a531f.tar.bz2 libsoup-96d28e7f42ead1ddde6bccca9fba6831710a531f.zip |
Merge libsoup-2.4 branch to trunk
* Merge libsoup-2.4 branch to trunk
svn path=/trunk/; revision=1041
Diffstat (limited to 'docs/reference')
34 files changed, 1442 insertions, 5418 deletions
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am index 0dae9709..f34e154a 100644 --- a/docs/reference/Makefile.am +++ b/docs/reference/Makefile.am @@ -29,7 +29,13 @@ HFILE_GLOB= CFILE_GLOB= # Header files to ignore when scanning. -IGNORE_HFILES= soup.h soup-marshal.h soup-types.h +IGNORE_HFILES= soup.h soup-marshal.h \ + soup-message-private.h soup-session-private.h \ + soup-types.h soup-enum-types.h \ + soup-auth-basic.h soup-auth-digest.h soup-auth-ntlm.h \ + soup-connection.h soup-connection-ntlm.h \ + soup-dns.h soup-auth-manager.h soup-md5-utils.h \ + soup-message-queue.h soup-path-map.h soup-ssl.h # Images to copy into HTML directory. HTML_IMAGES = @@ -51,7 +57,11 @@ GTKDOC_CFLAGS = \ GTKDOC_LIBS = $(top_builddir)/libsoup/libsoup-$(SOUP_API_VERSION).la - # include common portion ... include $(top_srcdir)/gtk-doc.make +# kludges +tmpl/*.sgml: + +clean: clean-am + rm -rf tmpl diff --git a/docs/reference/client-howto.xml b/docs/reference/client-howto.xml index ac7caa06..c52f6353 100644 --- a/docs/reference/client-howto.xml +++ b/docs/reference/client-howto.xml @@ -44,7 +44,7 @@ slightly different behavior: </itemizedlist> <para> -If you want to do a mix of synchronous and asynchronous I/O, you will +If you want to do a mix of mainloop-based and blocking I/O, you will need to create two different session objects. </para> @@ -142,8 +142,10 @@ only need to create the message and it's ready to send: <para> In more complicated cases, you can use various <link -linkend="SoupMessage">SoupMessage</link> methods to set the request -headers and body of the message: +linkend="SoupMessage">SoupMessage</link>, <link +linkend="SoupMessageHeaders">SoupMessageHeaders</link>, and <link +linkend="SoupMessageBody">SoupMessageBody</link> methods to set the +request headers and body of the message: </para> <informalexample><programlisting> @@ -151,8 +153,8 @@ headers and body of the message: msg = soup_message_new ("POST", "http://example.com/form.cgi"); soup_message_set_request (msg, "application/x-www-form-urlencoded", - SOUP_BUFFER_USER_OWNED, formdata, strlen (formdata)); - soup_message_add_header (msg->request_headers, "Referer", referring_url); + SOUP_MEMORY_COPY, formdata, strlen (formdata)); + soup_message_headers_append (msg->request_headers, "Referer", referring_url); </programlisting></informalexample> <para> @@ -180,20 +182,18 @@ linkend="soup-session-send-message"><function>soup_session_send_message</functio </programlisting></informalexample> <para> -<literal>session</literal> can be either a <link -linkend="SoupSessionSync"><type>SoupSessionSync</type></link> or a -<link linkend="SoupSessionAsync"><type>SoupSessionAsync</type></link>; -if you use <function>soup_session_send_message</function> on an async -session, it will run the main loop itself until the message is -complete. +(If you use <function>soup_session_send_message</function> with a +<link linkend="SoupSessionAsync"><type>SoupSessionAsync</type></link>, +it will run the main loop itself until the message is complete.) </para> <para> -The return value from <function>soup_session_send</function> is a <link -linkend="soup-status">soup status code</link>, indicating either a -transport error that prevented the message from being sent, or the +The return value from <function>soup_session_send</function> is a +<link linkend="soup-status">soup status code</link>, indicating either +a transport error that prevented the message from being sent, or the HTTP status that was returned by the server in response to the -message. +message. (The status is also available as +<literal>msg->status_code</literal>.) </para> </refsect3> @@ -202,10 +202,8 @@ message. <title>Sending a Message Asynchronously</title> <para> -To send a message asynchronously (which can only be done if you're -using <link -linkend="SoupSessionAsync"><type>SoupSessionAsync</type></link>), use -<link linkend="soup-session-queue-message"><function>soup_session_queue_message</function></link>: +To send a message asynchronously, use <link +linkend="soup-session-queue-message"><function>soup_session_queue_message</function></link>: </para> <informalexample><programlisting> @@ -215,7 +213,7 @@ linkend="SoupSessionAsync"><type>SoupSessionAsync</type></link>), use } static void -my_callback (SoupMessage *msg, gpointer user_data) +my_callback (SoupSession, *session, SoupMessage *msg, gpointer user_data) { /* Handle the response here */ } @@ -229,6 +227,15 @@ response be will be read. When the message is complete, passed to <function>soup_session_queue_message</function>. </para> +<para> +(If you use <link +linkend="soup-session-queue-message"><function>soup_session_queue_message</function></link> +with a <link +linkend="SoupSessionSync"><type>SoupSessionSync</type></link>, the +message will be sent in another thread, with the callback eventually +being invoked in the session's <link linkend="SOUP-SESSION-ASYNC-CONTEXT:CAPS"><literal>SOUP_SESSION_ASYNC_CONTEXT</literal></link>.) +</para> + </refsect3> </refsect2> @@ -245,11 +252,11 @@ asynchronously, you can look at the response fields in the status and textual status response from the server. <structfield>response_headers</structfield> contains the response headers, which you can investigate using <link -linkend="soup-message-get-header"><function>soup_message_get_header</function></link> and +linkend="soup-message-headers-get"><function>soup_message_headers_get</function></link> and <link - linkend="soup-message-foreach-header"><function>soup_message_foreach_header</function></link>. + linkend="soup-message-headers-foreach"><function>soup_message_headers_foreach</function></link>. The response body (if any) is in the -<structfield>response</structfield> field. +<structfield>response_body</structfield> field. </para> <para> @@ -272,17 +279,17 @@ it. <title>Intermediate/Automatic Processing</title> <para> -You can also connect to various <literal>SoupMessage</literal> -signals, or set up handlers using <link -linkend="soup-message-add-handler"><function>soup_message_add_handler</function></link> -and the other handler methods. Notably, <link +You can also connect to various <literal>SoupMessage</literal> signals +to do processing at intermediate stages of HTTP I/O. +<literal>SoupMessage</literal> also provides two convenience methods, +<link linkend="soup-message-add-header-handler"><function>soup_message_add_header_handler</function></link>, -<link linkend="soup-message-add-status-code-handler"><function>soup_message_add_status_code_handler</function></link>, -and -<link linkend="soup-message-add-status-class-handler"><function>soup_message_add_status_class_handler</function></link> -allow you to invoke a handler automatically for messages with certain -response headers or status codes. <type>SoupSession</type> uses -this internally to handle authentication and redirection. +and <link +linkend="soup-message-add-status-code-handler"><function>soup_message_add_status_code_handler</function></link>, +which allow you to set up a signal handler that will only be invoked +for messages with certain response headers or status codes. +<type>SoupSession</type> uses this internally to handle authentication +and redirection. </para> <para> @@ -293,10 +300,9 @@ linkend="soup-session-send-message"><function>soup_session_send_message</functio <para> To automatically set up handlers on all messages sent via a session, -you can create a <link -linkend="SoupMessageFilter">SoupMessageFilter</link> and attach it to -the session with <link -linkend="soup-session-add-filter"><function>soup_session_add_filter</function></link>. +you can connect to the session's <link +linkend="SoupSession-request-started"><literal>request_started</literal></link> +signal, and add handlers to each message from there. </para> </refsect2> @@ -309,76 +315,36 @@ linkend="soup-session-add-filter"><function>soup_session_add_filter</function></ authentication for you. If it receives a 401 ("Unauthorized") or 407 ("Proxy Authentication Required") response, the session will emit the <link linkend="SoupSession-authenticate">authenticate</link> signal, -indicating the authentication type ("Basic", "Digest", or "NTLM") and -the realm name provided by the server. You should connect to this -signal and, if possible, fill in the <parameter>username</parameter> -and <parameter>password</parameter> parameters with authentication -information. (The session will <function>g_free</function> the strings -when it is done with them.) If the handler doesn't fill in those -parameters, then the session will just return the message to the -application with its 401 or 407 status. +providing you with a <link +linkend="SoupAuth"><type>SoupAuth</type></link> object indicating the +authentication type ("Basic", "Digest", or "NTLM") and the realm name +provided by the server. If you have a username and password available +(or can generate one), call <link +linkend="soup-auth-authenticate"><function>soup_auth_authenticate</function></link> +to give the information to libsoup. The session will automatically +requeue the message and try it again with that authentication +information. (If you don't call +<function>soup_auth_authenticate</function>, the session will just +return the message to the application with its 401 or 407 status.) </para> <para> -If the <literal>authenticate</literal> handler returns a username and -password, but the request still gets an authorization error using that -information, then the session will emit the <link -linkend="SoupSession-reauthenticate">reauthenticate</link> signal. -This lets the application know that the information it provided -earlier was incorrect, and gives it a chance to try again. If this +If the server doesn't accept the username and password provided, the +session will emit <link +linkend="SoupSession-authenticate">authenticate</link> again, with the +<literal>retrying</literal> parameter set to <link +linkend="TRUE:CAPS"><literal>TRUE</literal></link>. This lets the +application know that the information it provided earlier was +incorrect, and gives it a chance to try again. If this username/password pair also doesn't work, the session will contine to -emit <literal>reauthenticate</literal> again and again until the -returned username/password successfully authentications, or until the -signal handler fails to provide a username, at which point -<application>libsoup</application> will allow the message to fail -(with status 401 or 407). +emit <literal>authenticate</literal> again and again until the +provided username/password successfully authenticates, or until the +signal handler fails to call <link +linkend="soup-auth-authenticate"><function>soup_auth_authenticate</function></link>, +at which point <application>libsoup</application> will allow the +message to fail (with status 401 or 407). </para> -<para> -There are basically three ways an application might want to use -the signals: -</para> - -<itemizedlist> - <listitem><para> - An interactive application that doesn't cache passwords could - just connect both <literal>authenticate</literal> and - <literal>reauthenticate</literal> to the same signal handler, - which would ask the user for a username and password and then - return that to soup. This handler would be called repeatedly - until the provided information worked, or until it failed to - return any information (eg, because the user hit "Cancel" - instead of "OK"). - </para></listitem> - - <listitem><para> - A slightly cleverer interactive application would look in its - password cache from the <literal>authenticate</literal> - handler, and return a password from there if one was - available. If no password was cached, it would just call its - <literal>reauthenticate</literal> handler to prompt the user. - The <literal>reauthenticate</literal> handler would first - clear any cached password for this host, auth type, and realm, - then ask the user as in the case above, and then store that - information in its cache before returning it to soup. (If the - password turns out to be incorrect, then - <literal>reauthenticate</literal> will be called again to - force it to be uncached.) - </para></listitem> - - <listitem><para> - A non-interactive program that only has access to cached - passwords would only connect to - <literal>authenticate</literal>. If the username and password - that <literal>authenticate</literal> returns fail, the session - will emit <literal>reauthenticate</literal>, but since the - application is not listening to that signal, no new username - and password will be returned there, so the message will be - returned to the application with a 401 or 407 status, which - the application can deal with as it needs to. - </para></listitem> -</itemizedlist> - </refsect2> <refsect2> @@ -396,12 +362,12 @@ A few sample programs are available in the </para></listitem> <listitem><para> - <emphasis role="bold"><literal>dict</literal></emphasis> and - <emphasis role="bold"><literal>getbug</literal></emphasis> are trivial - demonstrations of the <link - linkend="SoupSoapMessage">SOAP</link> and <link - linkend="SoupXmlrpcMessage">XMLRPC</link> interfaces, - respectively. + <emphasis role="bold"><literal>getbug</literal></emphasis> is a trivial + demonstration of the <link + linkend="libsoup-XMLRPC-Support">XMLRPC</link> interface. + (<emphasis + role="bold"><literal>xmlrpc-test</literal></emphasis> provides + a slightly more complicated example.) </para></listitem> <listitem><para> diff --git a/docs/reference/libsoup-docs.sgml b/docs/reference/libsoup-docs.sgml index 6c8011f8..ce97a913 100644 --- a/docs/reference/libsoup-docs.sgml +++ b/docs/reference/libsoup-docs.sgml @@ -10,36 +10,32 @@ <title>libsoup Tutorial</title> <xi:include href="client-howto.xml"/> <xi:include href="server-howto.xml"/> + <xi:include href="porting-2.2-2.4.xml"/> </chapter> <chapter> <title>libsoup API Reference</title> <xi:include href="xml/soup-address.xml"/> <xi:include href="xml/soup-auth.xml"/> - <xi:include href="xml/soup-connection.xml"/> - <xi:include href="xml/soup-connection-ntlm.xml"/> + <xi:include href="xml/soup-auth-domain.xml"/> + <xi:include href="xml/soup-auth-domain-basic.xml"/> + <xi:include href="xml/soup-auth-domain-digest.xml"/> + <xi:include href="xml/soup-logger.xml"/> <xi:include href="xml/soup-message.xml"/> - <xi:include href="xml/soup-message-filter.xml"/> - <xi:include href="xml/soup-server-message.xml"/> + <xi:include href="xml/soup-message-headers.xml"/> + <xi:include href="xml/soup-message-body.xml"/> + <xi:include href="xml/soup-method.xml"/> <xi:include href="xml/soup-server.xml"/> <xi:include href="xml/soup-session.xml"/> <xi:include href="xml/soup-session-async.xml"/> <xi:include href="xml/soup-session-sync.xml"/> - <xi:include href="xml/soup-soap-message.xml"/> - <xi:include href="xml/soup-soap-response.xml"/> <xi:include href="xml/soup-socket.xml"/> <xi:include href="xml/soup-status.xml"/> <xi:include href="xml/soup-uri.xml"/> - <xi:include href="xml/soup-xmlrpc-message.xml"/> - <xi:include href="xml/soup-xmlrpc-response.xml"/> + <xi:include href="xml/soup-value-utils.xml"/> + <xi:include href="xml/soup-xmlrpc.xml"/> <xi:include href="xml/soup-misc.xml"/> </chapter> - <chapter> - <title>libsoup internals</title> - <xi:include href="xml/soup-dns.xml"/> - <xi:include href="xml/soup-ssl.xml"/> - </chapter> - <index></index> </book> diff --git a/docs/reference/libsoup-overrides.txt b/docs/reference/libsoup-overrides.txt index 9828402a..06826ca5 100644 --- a/docs/reference/libsoup-overrides.txt +++ b/docs/reference/libsoup-overrides.txt @@ -1,9 +1,4 @@ <FUNCTION> -<NAME>soup_dns_lookup_get_address</NAME> -<RETURNS>struct sockaddr *</RETURNS> -SoupDNSLookup *lookup -</FUNCTION> -<FUNCTION> <NAME>soup_address_get_sockaddr</NAME> <RETURNS>struct sockaddr *</RETURNS> SoupAddress *addr, diff --git a/docs/reference/libsoup-sections.txt b/docs/reference/libsoup-sections.txt index c9f24c9a..afda49ff 100644 --- a/docs/reference/libsoup-sections.txt +++ b/docs/reference/libsoup-sections.txt @@ -2,26 +2,13 @@ <FILE>soup-message</FILE> <TITLE>SoupMessage</TITLE> SoupMessage -SoupMessageStatus -SOUP_MESSAGE_IS_STARTING -SoupTransferEncoding -SoupOwnership -SoupDataBuffer -SoupMessageCallbackFn <SUBSECTION> soup_message_new soup_message_new_from_uri soup_message_set_request soup_message_set_response <SUBSECTION> -soup_message_add_header -soup_message_get_header -soup_message_get_header_list -soup_message_foreach_header -soup_message_remove_header -soup_message_clear_headers -<SUBSECTION> -SoupHttpVersion +SoupHTTPVersion soup_message_set_http_version soup_message_get_http_version soup_message_get_uri @@ -32,25 +19,17 @@ soup_message_get_flags <SUBSECTION> soup_message_set_status soup_message_set_status_full -soup_message_add_chunk -soup_message_add_final_chunk -soup_message_pop_chunk soup_message_is_keepalive -soup_message_get_request_encoding -soup_message_get_response_encoding <SUBSECTION> -SoupHandlerPhase -soup_message_add_handler soup_message_add_header_handler soup_message_add_status_code_handler -soup_message_add_status_class_handler -soup_message_remove_handler -<SUBSECTION> -soup_message_send_request -soup_message_read_request -soup_message_io_pause -soup_message_io_unpause -soup_message_io_stop +<SUBSECTION> +SOUP_MESSAGE_METHOD +SOUP_MESSAGE_URI +SOUP_MESSAGE_HTTP_VERSION +SOUP_MESSAGE_FLAGS +SOUP_MESSAGE_STATUS_CODE +SOUP_MESSAGE_REASON_PHRASE <SUBSECTION Standard> SOUP_MESSAGE SOUP_IS_MESSAGE @@ -60,9 +39,21 @@ SOUP_MESSAGE_CLASS SOUP_IS_MESSAGE_CLASS SOUP_MESSAGE_GET_CLASS SoupMessageClass -SoupMessagePrivate -SOUP_MESSAGE_GET_PRIVATE <SUBSECTION Private> +soup_message_wrote_informational +soup_message_wrote_headers +soup_message_wrote_chunk +soup_message_wrote_body +soup_message_got_informational +soup_message_got_headers +soup_message_got_chunk +soup_message_got_body +soup_message_finished +soup_message_restarted +</SECTION> + +<SECTION> +<FILE>soup-method</FILE> SOUP_METHOD_OPTIONS SOUP_METHOD_GET SOUP_METHOD_HEAD @@ -79,35 +70,63 @@ SOUP_METHOD_MOVE SOUP_METHOD_LOCK SOUP_METHOD_UNLOCK SOUP_METHOD_PATCH -SoupMethodId -soup_method_get_id -soup_message_wrote_informational -soup_message_wrote_headers -soup_message_wrote_chunk -soup_message_wrote_body -soup_message_got_informational -soup_message_got_headers -soup_message_got_chunk -soup_message_got_body -soup_message_finished -soup_message_restarted -SoupMessageGetHeadersFn -SoupMessageParseHeadersFn -soup_message_cleanup_response -soup_message_io_client -soup_message_io_in_progress -soup_message_io_server -soup_message_run_handlers -soup_message_send_request_internal -soup_message_get_auth -soup_message_get_proxy_auth -soup_message_set_auth -soup_message_set_proxy_auth +</SECTION> + +<SECTION> +<FILE>soup-message-headers</FILE> +<TITLE>SoupMessageHeaders</TITLE> +SoupMessageHeaders +SoupMessageHeadersType +soup_message_headers_new +soup_message_headers_free +<SUBSECTION> +soup_message_headers_append +soup_message_headers_replace +soup_message_headers_remove +soup_message_headers_clear +soup_message_headers_get +SoupMessageHeadersForeachFunc +soup_message_headers_foreach +<SUBSECTION> +SoupEncoding +soup_message_headers_get_encoding +soup_message_headers_set_encoding +soup_message_headers_get_content_length +soup_message_headers_set_content_length +<SUBSECTION> +SoupExpectation +soup_message_headers_get_expectations +soup_message_headers_set_expectations +</SECTION> + +<SECTION> +<FILE>soup-message-body</FILE> +<TITLE>SoupMessageBody</TITLE> +SoupBuffer +SoupMemoryUse +soup_buffer_new +soup_buffer_new_subbuffer +soup_buffer_copy +soup_buffer_free +<SUBSECTION> +SoupMessageBody +soup_message_body_new +soup_message_body_free +<SUBSECTION> +soup_message_body_append +soup_message_body_append_buffer +soup_message_body_truncate +soup_message_body_complete +soup_message_body_flatten +soup_message_body_get_chunk +<SUBSECTION Standard> +SOUP_TYPE_BUFFER +soup_buffer_get_type </SECTION> <SECTION> <FILE>soup-status</FILE> -SoupStatusClass +SOUP_STATUS_IS_TRANSPORT_ERROR SOUP_STATUS_IS_INFORMATIONAL SOUP_STATUS_IS_SUCCESSFUL SOUP_STATUS_IS_REDIRECTION @@ -115,38 +134,48 @@ SOUP_STATUS_IS_CLIENT_ERROR SOUP_STATUS_IS_SERVER_ERROR SoupKnownStatusCode soup_status_get_phrase -<SUBSECTION Standard> -SOUP_STATUS_IS_TRANSPORT_ERROR +<SUBSECTION> +SOUP_HTTP_ERROR +<SUBSECTION Private> +soup_http_error_quark </SECTION> <SECTION> <FILE>soup-server</FILE> <TITLE>SoupServer</TITLE> SoupServer -SoupServerContext -SoupServerCallbackFn -SoupServerUnregisterFn soup_server_new -soup_server_get_protocol +soup_server_is_https soup_server_get_port soup_server_get_listener soup_server_run soup_server_run_async soup_server_quit +soup_server_get_async_context <SUBSECTION> -SoupServerHandler +SoupServerCallback soup_server_add_handler soup_server_remove_handler -soup_server_get_handler -soup_server_list_handlers -soup_server_context_get_client_address -soup_server_context_get_client_host +<SUBSECTION> +SoupClientContext +soup_client_context_get_socket +soup_client_context_get_address +soup_client_context_get_host +soup_client_context_get_auth_domain +soup_client_context_get_auth_user +<SUBSECTION> +soup_server_add_auth_domain +soup_server_remove_auth_domain +<SUBSECTION> +soup_server_pause_message +soup_server_unpause_message <SUBSECTION> SOUP_SERVER_PORT SOUP_SERVER_INTERFACE SOUP_SERVER_SSL_CERT_FILE SOUP_SERVER_SSL_KEY_FILE SOUP_SERVER_ASYNC_CONTEXT +SOUP_SERVER_RAW_PATHS <SUBSECTION Standard> SOUP_SERVER SOUP_IS_SERVER @@ -156,18 +185,87 @@ SOUP_SERVER_CLASS SOUP_IS_SERVER_CLASS SOUP_SERVER_GET_CLASS SoupServerClass -<SUBSECTION Private> -soup_server_auth_check_passwd -soup_server_auth_context_challenge -soup_server_auth_free -soup_server_auth_get_user -soup_server_auth_new -SoupServerAuthBasic -SoupServerAuthCallbackFn -SoupServerAuthContext -SoupServerAuthDigest -SoupAuthType -SoupDigestAlgorithm +SOUP_TYPE_CLIENT_CONTEXT +soup_client_context_get_type +</SECTION> + +<SECTION> +<FILE>soup-auth-domain</FILE> +<TITLE>SoupAuthDomain</TITLE> +SoupAuthDomain +<SUBSECTION> +soup_auth_domain_add_path +soup_auth_domain_remove_path +SoupAuthDomainFilter +soup_auth_domain_set_filter +soup_auth_domain_get_realm +<SUBSECTION> +soup_auth_domain_covers +soup_auth_domain_accepts +soup_auth_domain_challenge +<SUBSECTION> +SOUP_AUTH_DOMAIN_REALM +SOUP_AUTH_DOMAIN_PROXY +SOUP_AUTH_DOMAIN_ADD_PATH +SOUP_AUTH_DOMAIN_REMOVE_PATH +SOUP_AUTH_DOMAIN_FILTER +SOUP_AUTH_DOMAIN_FILTER_DATA +<SUBSECTION Standard> +SOUP_AUTH_DOMAIN +SOUP_IS_AUTH_DOMAIN +SOUP_TYPE_AUTH_DOMAIN +soup_auth_domain_get_type +SOUP_AUTH_DOMAIN_CLASS +SOUP_IS_AUTH_DOMAIN_CLASS +SOUP_AUTH_DOMAIN_GET_CLASS +SoupAuthDomainClass +</SECTION> + +<SECTION> +<FILE>soup-auth-domain-basic</FILE> +<TITLE>SoupAuthDomainBasic</TITLE> +SoupAuthDomainBasic +soup_auth_domain_basic_new +<SUBSECTION> +SoupAuthDomainBasicAuthCallback +soup_auth_domain_basic_set_auth_callback +<SUBSECTION> +SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK +SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA +<SUBSECTION Standard> +SOUP_AUTH_DOMAIN_BASIC +SOUP_IS_AUTH_DOMAIN_BASIC +SOUP_TYPE_AUTH_DOMAIN_BASIC +soup_auth_domain_basic_get_type +SOUP_AUTH_DOMAIN_BASIC_CLASS +SOUP_IS_AUTH_DOMAIN_BASIC_CLASS +SOUP_AUTH_DOMAIN_BASIC_GET_CLASS +SoupAuthDomainBasicClass +</SECTION> + +<SECTION> +<FILE>soup-auth-domain-digest</FILE> +<TITLE>SoupAuthDomainDigest</TITLE> +SoupAuthDomainDigest +soup_auth_domain_digest_new +<SUBSECTION> +SoupAuthDomainDigestAuthCallback +soup_auth_domain_digest_set_auth_callback +soup_auth_domain_digest_encode_password +<SUBSECTION> +soup_auth_domain_digest_evil_check_password +<SUBSECTION> +SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK +SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA +<SUBSECTION Standard> +SOUP_AUTH_DOMAIN_DIGEST +SOUP_IS_AUTH_DOMAIN_DIGEST +SOUP_TYPE_AUTH_DOMAIN_DIGEST +soup_auth_domain_digest_get_type +SOUP_AUTH_DOMAIN_DIGEST_CLASS +SOUP_IS_AUTH_DOMAIN_DIGEST_CLASS +SOUP_AUTH_DOMAIN_DIGEST_GET_CLASS +SoupAuthDomainDigestClass </SECTION> <SECTION> @@ -179,10 +277,11 @@ SOUP_ADDRESS_ANY_PORT soup_address_new soup_address_new_from_sockaddr soup_address_new_any +<SUBSECTION> SoupAddressCallback soup_address_resolve_async -soup_address_resolve_async_full soup_address_resolve_sync +<SUBSECTION> soup_address_get_name soup_address_get_sockaddr soup_address_get_physical @@ -196,103 +295,27 @@ SOUP_ADDRESS_CLASS SOUP_IS_ADDRESS_CLASS SOUP_ADDRESS_GET_CLASS SoupAddressClass -</SECTION> - -<SECTION> -<FILE>soup-soap-message</FILE> -SoupSoapMessage -<TITLE>SoupSoapMessage</TITLE> -soup_soap_message_new -soup_soap_message_new_from_uri -soup_soap_message_start_envelope -soup_soap_message_end_envelope -soup_soap_message_start_body -soup_soap_message_end_body -soup_soap_message_start_element -soup_soap_message_end_element -soup_soap_message_start_fault -soup_soap_message_end_fault -soup_soap_message_start_fault_detail -soup_soap_message_end_fault_detail -soup_soap_message_start_header -soup_soap_message_end_header -soup_soap_message_start_header_element -soup_soap_message_end_header_element -soup_soap_message_write_int -soup_soap_message_write_double -soup_soap_message_write_base64 -soup_soap_message_write_time -soup_soap_message_write_string -soup_soap_message_write_buffer -soup_soap_message_set_element_type -soup_soap_message_set_null -soup_soap_message_add_attribute -soup_soap_message_add_namespace -soup_soap_message_set_default_namespace -soup_soap_message_set_encoding_style -soup_soap_message_reset -soup_soap_message_persist -soup_soap_message_get_namespace_prefix -soup_soap_message_get_xml_doc -soup_soap_message_parse_response -<SUBSECTION Standard> -SOUP_IS_SOAP_MESSAGE -SOUP_IS_SOAP_MESSAGE_CLASS -SOUP_SOAP_MESSAGE -SOUP_SOAP_MESSAGE_CLASS -SOUP_SOAP_MESSAGE_GET_CLASS -SOUP_TYPE_SOAP_MESSAGE -SoupSoapMessageClass -soup_soap_message_get_type -</SECTION> - -<SECTION> -<FILE>soup-soap-response</FILE> -<TITLE>SoupSoapResponse</TITLE> -SoupSoapResponse -SoupSoapParameter -soup_soap_response_new -soup_soap_response_new_from_string -soup_soap_response_set_method_name -soup_soap_parameter_get_first_child -soup_soap_parameter_get_first_child_by_name -soup_soap_parameter_get_int_value -soup_soap_parameter_get_name -soup_soap_parameter_get_next_child -soup_soap_parameter_get_next_child_by_name -soup_soap_parameter_get_property -soup_soap_parameter_get_string_value -soup_soap_response_from_string -soup_soap_response_get_first_parameter -soup_soap_response_get_first_parameter_by_name -soup_soap_response_get_method_name -soup_soap_response_get_next_parameter -soup_soap_response_get_next_parameter_by_name -soup_soap_response_get_parameters -<SUBSECTION Standard> -SOUP_IS_SOAP_RESPONSE -SOUP_IS_SOAP_RESPONSE_CLASS -SOUP_SOAP_RESPONSE -SOUP_SOAP_RESPONSE_CLASS -SOUP_SOAP_RESPONSE_GET_CLASS -SOUP_TYPE_SOAP_RESPONSE -SoupSoapResponseClass -soup_soap_response_get_type +<SUBSECTION Private> +AF_INET6 </SECTION> <SECTION> <FILE>soup-session</FILE> <TITLE>SoupSession</TITLE> SoupSession +<SUBSECTION> +SoupSessionCallback soup_session_queue_message soup_session_requeue_message soup_session_send_message -soup_session_abort -soup_session_add_filter soup_session_cancel_message -soup_session_get_connection -soup_session_remove_filter -soup_session_try_prune_connection +soup_session_abort +<SUBSECTION> +soup_session_pause_message +soup_session_unpause_message +<SUBSECTION> +soup_session_get_async_context +<SUBSECTION> SOUP_SESSION_PROXY_URI SOUP_SESSION_MAX_CONNS SOUP_SESSION_MAX_CONNS_PER_HOST @@ -309,17 +332,6 @@ SOUP_SESSION_GET_CLASS SOUP_TYPE_SESSION SoupSessionClass soup_session_get_type -<SUBSECTION Private> -SoupMessageQueue -SoupMessageQueueIter -soup_message_queue_append -soup_message_queue_destroy -soup_message_queue_first -soup_message_queue_free_iter -soup_message_queue_new -soup_message_queue_next -soup_message_queue_remove -soup_message_queue_remove_message </SECTION> <SECTION> @@ -360,16 +372,27 @@ soup_session_sync_get_type <FILE>soup-auth</FILE> <TITLE>SoupAuth</TITLE> SoupAuth -SoupAuthBasic -SoupAuthDigest -soup_auth_new_from_header_list +soup_auth_new +soup_auth_update +<SUBSECTION> +soup_auth_is_for_proxy soup_auth_get_scheme_name +soup_auth_get_host soup_auth_get_realm +soup_auth_get_info +<SUBSECTION> soup_auth_authenticate soup_auth_is_authenticated +<SUBSECTION> soup_auth_get_authorization soup_auth_get_protection_space soup_auth_free_protection_space +<SUBSECTION> +SOUP_AUTH_SCHEME_NAME +SOUP_AUTH_REALM +SOUP_AUTH_HOST +SOUP_AUTH_IS_FOR_PROXY +SOUP_AUTH_IS_AUTHENTICATED <SUBSECTION Standard> SOUP_AUTH SOUP_IS_AUTH @@ -379,22 +402,6 @@ SOUP_AUTH_CLASS SOUP_IS_AUTH_CLASS SOUP_AUTH_GET_CLASS SoupAuthClass -SOUP_AUTH_BASIC -SOUP_IS_AUTH_BASIC -SOUP_TYPE_AUTH_BASIC -soup_auth_basic_get_type -SOUP_AUTH_BASIC_CLASS -SOUP_IS_AUTH_BASIC_CLASS -SOUP_AUTH_BASIC_GET_CLASS -SoupAuthBasicClass -SOUP_AUTH_DIGEST -SOUP_IS_AUTH_DIGEST -SOUP_TYPE_AUTH_DIGEST -soup_auth_digest_get_type -SOUP_AUTH_DIGEST_CLASS -SOUP_IS_AUTH_DIGEST_CLASS -SOUP_AUTH_DIGEST_GET_CLASS -SoupAuthDigestClass </SECTION> <SECTION> @@ -402,31 +409,38 @@ SoupAuthDigestClass <TITLE>SoupSocket</TITLE> SoupSocket soup_socket_new -soup_socket_connect +<SUBSECTION> +SoupSocketCallback +soup_socket_connect_async +soup_socket_connect_sync +<SUBSECTION> soup_socket_listen +<SUBSECTION> soup_socket_start_ssl soup_socket_start_proxy_ssl +soup_socket_is_ssl +<SUBSECTION> soup_socket_disconnect soup_socket_is_connected -SoupSocketCallback -SoupSocketListenerCallback -soup_socket_client_new_async -soup_socket_client_new_sync -soup_socket_server_new +<SUBSECTION> soup_socket_get_local_address soup_socket_get_remote_address +<SUBSECTION> SoupSocketIOStatus soup_socket_read soup_socket_read_until soup_socket_write +<SUBSECTION> +SOUP_SSL_ERROR +SoupSSLError +<SUBSECTION> +SOUP_SOCKET_LOCAL_ADDRESS +SOUP_SOCKET_REMOTE_ADDRESS SOUP_SOCKET_FLAG_NONBLOCKING -SOUP_SOCKET_FLAG_NODELAY -SOUP_SOCKET_FLAG_REUSEADDR -SOUP_SOCKET_FLAG_CLOEXEC -SOUP_SOCKET_TIMEOUT SOUP_SOCKET_IS_SERVER SOUP_SOCKET_SSL_CREDENTIALS SOUP_SOCKET_ASYNC_CONTEXT +SOUP_SOCKET_TIMEOUT <SUBSECTION Standard> SOUP_SOCKET SOUP_IS_SOCKET @@ -436,260 +450,154 @@ SOUP_SOCKET_CLASS SOUP_IS_SOCKET_CLASS SOUP_SOCKET_GET_CLASS SoupSocketClass -</SECTION> - -<SECTION> -<FILE>soup-connection-ntlm</FILE> -<TITLE>SoupConnectionNTLM</TITLE> -SoupConnectionNTLM -<SUBSECTION Standard> -SOUP_CONNECTION_NTLM -SOUP_IS_CONNECTION_NTLM -SOUP_TYPE_CONNECTION_NTLM -soup_connection_ntlm_get_type -SOUP_CONNECTION_NTLM_CLASS -SOUP_IS_CONNECTION_NTLM_CLASS -SOUP_CONNECTION_NTLM_GET_CLASS -SoupConnectionNTLMClass -</SECTION> - -<SECTION> -<FILE>soup-connection</FILE> -<TITLE>SoupConnection</TITLE> -SoupConnection -soup_connection_new -SoupConnectionCallback -soup_connection_connect_async -soup_connection_connect_sync -soup_connection_disconnect -soup_connection_is_in_use -soup_connection_last_used -soup_connection_send_request -soup_connection_authenticate -soup_connection_reauthenticate -soup_connection_release -soup_connection_reserve -SOUP_CONNECTION_ORIGIN_URI -SOUP_CONNECTION_PROXY_URI -SOUP_CONNECTION_SSL_CREDENTIALS -SOUP_CONNECTION_MESSAGE_FILTER -SOUP_CONNECTION_ASYNC_CONTEXT -SOUP_CONNECTION_TIMEOUT -<SUBSECTION Standard> -SOUP_CONNECTION -SOUP_IS_CONNECTION -SOUP_TYPE_CONNECTION -soup_connection_get_type -SOUP_CONNECTION_CLASS -SOUP_IS_CONNECTION_CLASS -SOUP_CONNECTION_GET_CLASS -SoupConnectionClass -</SECTION> - -<SECTION> -<FILE>soup-server-message</FILE> -<TITLE>SoupServerMessage</TITLE> -SoupServerMessage -soup_server_message_new -soup_server_message_get_server -soup_server_message_set_encoding -soup_server_message_get_encoding -soup_server_message_start -soup_server_message_is_started -soup_server_message_finish -soup_server_message_is_finished -<SUBSECTION Standard> -SOUP_SERVER_MESSAGE -SOUP_IS_SERVER_MESSAGE -SOUP_TYPE_SERVER_MESSAGE -soup_server_message_get_type -SOUP_SERVER_MESSAGE_CLASS -SOUP_IS_SERVER_MESSAGE_CLASS -SOUP_SERVER_MESSAGE_GET_CLASS -SoupServerMessageClass -</SECTION> - -<SECTION> -<FILE>soup-dns</FILE> -soup_dns_init -soup_dns_ntop -SoupDNSLookup -soup_dns_lookup_name -soup_dns_lookup_address -soup_dns_lookup_resolve -SoupDNSCallback -soup_dns_lookup_resolve_async -soup_dns_lookup_cancel -soup_dns_lookup_get_hostname -soup_dns_lookup_get_address -soup_dns_lookup_free -</SECTION> - -<SECTION> -<FILE>soup-ssl</FILE> -soup_ssl_supported -<SUBSECTION> -SoupSSLType -SoupSSLCredentials -soup_ssl_get_client_credentials -soup_ssl_free_client_credentials -soup_ssl_get_server_credentials -soup_ssl_free_server_credentials -soup_ssl_wrap_iochannel -SOUP_SSL_ERROR +<SUBSECTION Private> soup_ssl_error_quark -SoupSocketError </SECTION> <SECTION> <FILE>soup-uri</FILE> -<TITLE>SoupUri</TITLE> -SoupUri -SoupProtocol -SOUP_PROTOCOL_HTTP -SOUP_PROTOCOL_HTTPS +<TITLE>SoupURI</TITLE> +SoupURI soup_uri_new_with_base soup_uri_new soup_uri_to_string +<SUBSECTION> soup_uri_copy -soup_uri_copy_root soup_uri_equal soup_uri_free +<SUBSECTION> soup_uri_encode soup_uri_decode +soup_uri_normalize +<SUBSECTION> +SOUP_URI_SCHEME_HTTP +SOUP_URI_SCHEME_HTTPS soup_uri_uses_default_port -</SECTION> - -<SECTION> -<FILE>soup-message-filter</FILE> -<TITLE>SoupMessageFilter</TITLE> -soup_message_filter_setup_message +<SUBSECTION> +soup_uri_set_scheme +soup_uri_set_user +soup_uri_set_password +soup_uri_set_host +soup_uri_set_port +soup_uri_set_path +soup_uri_set_query +soup_uri_set_query_from_form +soup_uri_set_fragment <SUBSECTION Standard> -SOUP_IS_MESSAGE_FILTER -SOUP_IS_MESSAGE_FILTER_CLASS -SOUP_MESSAGE_FILTER -SOUP_MESSAGE_FILTER_CLASS -SOUP_MESSAGE_FILTER_GET_CLASS -SOUP_MESSAGE_FILTER_GET_CLASS -SOUP_TYPE_MESSAGE_FILTER -SoupMessageFilterClass -soup_message_filter_get_type +SOUP_TYPE_URI +soup_uri_get_type </SECTION> <SECTION> <FILE>soup-misc</FILE> <TITLE>Soup Miscellaneous Utilities</TITLE> -soup_base64_decode -soup_base64_encode -soup_base64_decode_step -soup_base64_encode_step -soup_base64_encode_close -<SUBSECTION> -soup_add_idle -soup_add_io_watch -soup_add_timeout -soup_signal_connect_once +SoupDate +SoupDateFormat +soup_date_new +soup_date_new_from_string +soup_date_new_from_time_t +soup_date_new_from_now +soup_date_to_string +soup_date_free <SUBSECTION> -soup_date_parse -soup_date_iso8601_parse -soup_date_generate -soup_gmtime -soup_mktime_utc +soup_form_decode_urlencoded +soup_form_encode_urlencoded +soup_form_encode_urlencoded_list <SUBSECTION> -soup_header_param_copy_token -soup_header_param_decode_token -soup_header_param_destroy_hash -soup_header_param_parse_list soup_headers_parse_request soup_headers_parse_response soup_headers_parse_status_line <SUBSECTION> +soup_header_parse_list +soup_header_parse_quality_list +soup_header_free_list +soup_header_contains +soup_header_parse_param_list +soup_header_free_param_list +<SUBSECTION> soup_str_case_equal soup_str_case_hash <SUBSECTION> -soup_xml_real_node +soup_add_idle +soup_add_io_watch +soup_add_timeout +<SUBSECTION> +soup_ssl_supported +<SUBSECTION Private> +soup_date_copy +soup_signal_connect_once +SOUP_TYPE_DATE +soup_date_get_type </SECTION> <SECTION> -<FILE>soup-xmlrpc-message</FILE> -<TITLE>SoupXmlrpcMessage</TITLE> -SoupXmlrpcMessage -soup_xmlrpc_message_new -soup_xmlrpc_message_new_from_uri -soup_xmlrpc_message_from_string -<SUBSECTION> -soup_xmlrpc_message_start_call -soup_xmlrpc_message_end_call -soup_xmlrpc_message_start_param -soup_xmlrpc_message_end_param -<SUBSECTION> -soup_xmlrpc_message_write_int -soup_xmlrpc_message_write_boolean -soup_xmlrpc_message_write_string -soup_xmlrpc_message_write_double -soup_xmlrpc_message_write_datetime -soup_xmlrpc_message_write_base64 -<SUBSECTION> -soup_xmlrpc_message_start_struct -soup_xmlrpc_message_end_struct -soup_xmlrpc_message_start_member -soup_xmlrpc_message_end_member -<SUBSECTION> -soup_xmlrpc_message_start_array -soup_xmlrpc_message_end_array -<SUBSECTION> -soup_xmlrpc_message_to_string -soup_xmlrpc_message_persist -<SUBSECTION> -soup_xmlrpc_message_parse_response -<SUBSECTION Standard> -SOUP_IS_XMLRPC_MESSAGE -SOUP_IS_XMLRPC_MESSAGE_CLASS -SOUP_TYPE_XMLRPC_MESSAGE -SOUP_XMLRPC_MESSAGE -SOUP_XMLRPC_MESSAGE_CLASS -SOUP_XMLRPC_MESSAGE_GET_CLASS -SoupXmlrpcMessageClass -soup_xmlrpc_message_get_type +<FILE>soup-xmlrpc</FILE> +<TITLE>XMLRPC Support</TITLE> +<SUBSECTION> +soup_xmlrpc_build_method_call +soup_xmlrpc_request_new +soup_xmlrpc_parse_method_response +soup_xmlrpc_extract_method_response +<SUBSECTION> +soup_xmlrpc_parse_method_call +soup_xmlrpc_extract_method_call +soup_xmlrpc_build_method_response +soup_xmlrpc_build_fault +soup_xmlrpc_set_response +soup_xmlrpc_set_fault +<SUBSECTION> +SOUP_XMLRPC_ERROR +SoupXMLRPCError +SOUP_XMLRPC_FAULT +<SUBSECTION Private> +soup_xmlrpc_error_quark +soup_xmlrpc_fault_quark </SECTION> <SECTION> -<FILE>soup-xmlrpc-response</FILE> -<TITLE>SoupXmlrpcResponse</TITLE> -SoupXmlrpcResponse -soup_xmlrpc_response_new -soup_xmlrpc_response_new_from_string -soup_xmlrpc_response_from_string -soup_xmlrpc_response_to_string -<SUBSECTION> -SoupXmlrpcValue -SoupXmlrpcValueType -soup_xmlrpc_response_is_fault -soup_xmlrpc_response_get_value -<SUBSECTION> -soup_xmlrpc_value_get_type -soup_xmlrpc_value_get_int -soup_xmlrpc_value_get_double -soup_xmlrpc_value_get_boolean -soup_xmlrpc_value_get_string -soup_xmlrpc_value_get_datetime -soup_xmlrpc_value_get_base64 -soup_xmlrpc_value_get_struct -<SUBSECTION> -SoupXmlrpcValueArrayIterator -soup_xmlrpc_value_array_get_iterator -soup_xmlrpc_value_array_iterator_prev -soup_xmlrpc_value_array_iterator_next -soup_xmlrpc_value_array_iterator_get_value -<SUBSECTION> -soup_xmlrpc_value_dump +<FILE>soup-value-utils</FILE> +<TITLE>GValue Support</TITLE> +soup_value_hash_new +soup_value_hash_insert_value +soup_value_hash_insert +soup_value_hash_lookup +<SUBSECTION> +soup_value_array_from_args +soup_value_array_to_args +soup_value_array_insert +soup_value_array_append +soup_value_array_get_nth +<SUBSECTION> +SOUP_VALUE_SETV +SOUP_VALUE_GETV +<SUBSECTION> +SOUP_TYPE_BYTE_ARRAY +<SUBSECTION Private> +soup_byte_array_get_type +</SECTION> + +<SECTION> +<FILE>soup-logger</FILE> +<TITLE>SoupLogger</TITLE> +SoupLogger +SoupLoggerLogLevel +soup_logger_new +soup_logger_attach +soup_logger_detach +<SUBSECTION> +SoupLoggerFilter +soup_logger_set_request_filter +soup_logger_set_response_filter +<SUBSECTION> +SoupLoggerPrinter +soup_logger_set_printer <SUBSECTION Standard> -SOUP_IS_XMLRPC_RESPONSE -SOUP_IS_XMLRPC_RESPONSE_CLASS -SOUP_TYPE_XMLRPC_RESPONSE -SOUP_XMLRPC_RESPONSE -SOUP_XMLRPC_RESPONSE_CLASS -SOUP_XMLRPC_RESPONSE_GET_CLASS -SoupXmlrpcResponseClass -soup_xmlrpc_response_get_type +SoupLoggerClass +soup_logger_get_type +SOUP_IS_LOGGER +SOUP_IS_LOGGER_CLASS +SOUP_LOGGER +SOUP_LOGGER_CLASS +SOUP_LOGGER_GET_CLASS +SOUP_TYPE_LOGGER </SECTION> diff --git a/docs/reference/libsoup.types b/docs/reference/libsoup.types index 7c6a4d23..9effee14 100644 --- a/docs/reference/libsoup.types +++ b/docs/reference/libsoup.types @@ -1,37 +1,14 @@ -#include <libsoup/soup-address.h> -#include <libsoup/soup-auth.h> -#include <libsoup/soup-auth-basic.h> -#include <libsoup/soup-auth-digest.h> -#include <libsoup/soup-connection.h> -#include <libsoup/soup-connection-ntlm.h> -#include <libsoup/soup-message.h> -#include <libsoup/soup-message-filter.h> -#include <libsoup/soup-server-message.h> -#include <libsoup/soup-server.h> -#include <libsoup/soup-session.h> -#include <libsoup/soup-session-sync.h> -#include <libsoup/soup-session-async.h> -#include <libsoup/soup-soap-message.h> -#include <libsoup/soup-soap-response.h> -#include <libsoup/soup-socket.h> -#include <libsoup/soup-xmlrpc-message.h> -#include <libsoup/soup-xmlrpc-response.h> +#include <libsoup/soup.h> soup_address_get_type soup_auth_get_type -soup_auth_basic_get_type -soup_auth_digest_get_type -soup_connection_get_type -soup_connection_ntlm_get_type +soup_auth_domain_get_type +soup_auth_domain_basic_get_type +soup_auth_domain_digest_get_type soup_message_get_type -soup_message_filter_get_type -soup_server_message_get_type soup_server_get_type soup_session_get_type soup_session_sync_get_type soup_session_async_get_type -soup_soap_message_get_type -soup_soap_response_get_type soup_socket_get_type -soup_xmlrpc_message_get_type -soup_xmlrpc_response_get_type + diff --git a/docs/reference/porting-2.2-2.4.xml b/docs/reference/porting-2.2-2.4.xml new file mode 100644 index 00000000..4e01880c --- /dev/null +++ b/docs/reference/porting-2.2-2.4.xml @@ -0,0 +1,878 @@ +<?xml version="1.0"?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" + "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> +<refentry id="libsoup-porting-2.2-2.4"> +<refmeta> +<refentrytitle>libsoup 2.2 to 2.4 porting notes</refentrytitle> +<manvolnum>3</manvolnum> +<refmiscinfo>LIBSOUP Library</refmiscinfo> +</refmeta> + +<refnamediv> +<refname>Porting notes</refname><refpurpose>Notes on porting from libsoup 2.2 to 2.4</refpurpose> +</refnamediv> + +<refsect2> +<title>Overview</title> + +<para> +After many API-compatible releases in the 2.2 series, +<application>libsoup</application> has now changed its API and bumped +its version number to 2.4. Changes were made for a variety of reasons: +</para> + +<itemizedlist> + <listitem><para> + To fix bugs and add features that couldn't be done ABI-compatibly. + </para></listitem> + + <listitem><para> + To make it easier to generate bindings for libsoup for + languages other than C. + </para></listitem> + + <listitem><para> + To clean up ugly/confusing old APIs + </para></listitem> + + <listitem><para> + To be more glib/gobject/gtk-like in general. + </para></listitem> +</itemizedlist> + +</refsect2> + +<refsect2> +<title>SoupMessage</title> + +<para> +<link linkend="SoupMessage"><type>SoupMessage</type></link> has had a +number of API changes made, mostly to increase its +language-bindability. +</para> + +<refsect3> +<title>SoupMessageHeaders</title> + +<para> + <type>SoupMessage</type>'s + <structfield>request_headers</structfield> and + <structfield>response_headers</structfield> fields are now an + opaque type (<link + linkend="SoupMessageHeaders"><type>SoupMessageHeaders</type></link>) + rather than being <type>GHashTables</type>. The method names have + changed slightly to reflect this: +</para> + +<variablelist> + <varlistentry> + <term><function>soup_message_add_header</function></term> + <listitem><para> + → <link linkend="soup-message-headers-append"><function>soup_message_headers_append</function></link> + </para></listitem> + </varlistentry> + <varlistentry> + <term><function>soup_message_get_header</function></term> + <listitem><para> + → <link linkend="soup-message-headers-get"><function>soup_message_headers_get</function></link> + </para></listitem> + </varlistentry> + <varlistentry> + <term><function>soup_message_foreach_header</function></term> + <listitem><para> + → <link linkend="soup-message-headers-foreach"><function>soup_message_headers_foreach</function></link> + </para></listitem> + </varlistentry> + <varlistentry> + <term><function>soup_message_remove_header</function></term> + <listitem><para> + → <link linkend="soup-message-headers-remove"><function>soup_message_headers_remove</function></link> + </para></listitem> + </varlistentry> + <varlistentry> + <term><function>soup_message_clear_headers</function></term> + <listitem><para> + → <link linkend="soup-message-headers-clear"><function>soup_message_headers_append</function></link> + </para></listitem> + </varlistentry> +</variablelist> + +<para> + <function>soup_message_get_header_list</function> has no equivalent; + if multiple copies of a header are present, + <function>soup_message_headers_get</function> will return all of + them, concatenated together and separated by commas; RFC 2616 says + that the two forms (multiple headers, and a single header with + comma-separated values) are equivalent; this change to libsoup + ensures that applications will treat them as equivalent. +</para> + +<para> + In addition, certain important header fields now have + dedicated get/set methods: +</para> + +<itemizedlist> + <listitem><para> + <link linkend="soup-message-headers-get-encoding"><function>soup_message_headers_get_encoding</function></link> / <link linkend="soup-message-headers-set-encoding"><function>soup_message_headers_set_encoding</function></link> + </para></listitem> + + <listitem><para> + <link linkend="soup-message-headers-get-content-length"><function>soup_message_headers_get_content_length</function></link> / <link linkend="soup-message-headers-set-content-length"><function>soup_message_headers_set_content_length</function></link> + </para></listitem> + + <listitem><para> + <link linkend="soup-message-headers-get-expectations"><function>soup_message_headers_get_expectations</function></link> / <link linkend="soup-message-headers-set-expectations"><function>soup_message_headers_set_expectations</function></link> + </para></listitem> +</itemizedlist> + +<para> + (<literal>soup_message_headers_set_expectation(msg, SOUP_EXPECTATION_CONTINUE)</literal> + replaces the <literal>SOUP_MESSAGE_EXPECT_CONTINUE</literal> + message flag). +</para> + +</refsect3> + +<refsect3> +<title>SoupMessageBody</title> + +<para> + Similarly, the <structfield>request_body</structfield> and + <structfield>response</structfield> fields (renamed from + <structfield>request</structfield> and <structfield>response</structfield>) are + now a new type, <link + linkend="SoupMessageBody"><type>SoupMessageBody</type></link>, + implemented in terms of <link + linkend="SoupBuffer"><type>SoupBuffer</type></link>, a refcounted + memory buffer type with clearer semantics than the old + <type>SoupDataBuffer</type>/<type>SoupOwnership</type>. +</para> + +<variablelist> + <varlistentry> + <term><literal>SOUP_BUFFER_STATIC</literal></term> + <listitem><para> + → <link + linkend="SOUP-MEMORY-STATIC:CAPS"><literal>SOUP_MEMORY_STATIC</literal></link> + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal>SOUP_BUFFER_SYSTEM_OWNED</literal></term> + <listitem><para> + → <link + linkend="SOUP-MEMORY-TAKE:CAPS"><literal>SOUP_MEMORY_TAKE</literal></link> + (meaning <application>libsoup</application> + should take ownership of the memory from your). + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal>SOUP_BUFFER_USER_OWNED</literal></term> + <listitem><para> + → <link + linkend="SOUP-MEMORY-COPY:CAPS"><literal>SOUP_MEMORY_COPY</literal></link> + (meaning <application>libsoup</application> + should make a copy of the memory, because you + can't make any guarantees about how long it will + last.) + </para></listitem> + </varlistentry> +</variablelist> + +<para> + A fourth <type>SoupMemoryUse</type> value is also available: <link + linkend="SOUP-MEMORY-TEMPORARY:CAPS"><literal>SOUP_MEMORY_TEMPORARY</literal></link>, + which helps to avoid extra copies in some cases. + <literal>SOUP_MEMORY_TEMPORARY</literal> means that the memory + will last at least as long as the object you are handing it to (a + <type>SoupBuffer</type>, <type>SoupMessageBody</type>, or + <type>SoupMessage</type>), and so doesn't need to be copied right + away, but that if anyone makes a copy of the buffer, + <application>libsoup</application> needs to make a new copy of the + memory for them at that point, since the original pointer may not + remain valid for the lifetime of the new copy. +</para> + +<para> + (In the future, there may be additional <type>SoupBuffer</type> + and <type>SoupMessageBody</type> methods to work directly with + mmapped memory, splicing to file descriptors, etc.) +</para> + +<para> + <link + linkend="soup-message-set-request"><function>soup_message_set_request</function></link> + and <link + linkend="soup-message-set-response"><function>soup_message_set_response</function></link> + still work roughly like they used to. +</para> + +<para> + Unlike the old <structfield>request</structfield> and + <structfield>response</structfield> fields, the new + <structfield>request_body</structfield> and + <structfield>response_body</structfield> fields are not guaranteed + to be filled in at all times. (In particular, the + <structfield>response_body</structfield> is not filled in until it + has been fully read, although you can use <link + linkend="soup-message-body-get-chunk"><function>soup_message_body_get_chunk</function></link> + to iterate through the chunks before that point if you need to.) +</para> + +<para> + When <structfield>request_body</structfield> and + <structfield>response_body</structfield> <emphasis>are</emphasis> + filled in, they are <literal>'\0'</literal>-terminated for your + processing convenience. (The terminating 0 byte is not included in + their length.) +</para> + +</refsect3> + +<refsect3> +<title>Chunked encoding</title> + +<para> + The prototype of the <link + linkend="SoupMessage-got-chunk"><literal>SoupMessage::got_chunk</literal></link> + signal has been changed; it now includes the chunk as a + <type>SoupBuffer</type> parameter (rather than storing the chunk + data in <literal>msg->response</literal> as in 2.2). <link + linkend="SoupMessageFlags"><literal>SOUP_MESSAGE_OVERWRITE_CHUNKS</literal></link> + is now somewhat poorly named, but still has essentially the same + semantics: if you set it, each chunk will be discarded after it is + read, and <literal>msg->response_body</literal> will not be filled + in with the complete response at the end of message processing. +</para> + +<para> + The API for sending chunked responses from a + <type>SoupServer</type> is also slightly different now: +</para> + +<variablelist> + <varlistentry> + <term><function>soup_server_message_set_encoding</function></term> + <listitem><para> + → <link + linkend="soup-message-headers-set-encoding"><function>soup_message_headers_set_encoding</function></link> + </para></listitem> + </varlistentry> + <varlistentry> + <term><function>soup_message_add_chunk</function></term> + <listitem><para> + → <link + linkend="soup-message-body-append"><function>soup_message_body_append</function></link> + or <link + linkend="soup-message-body-append-buffer"><function>soup_message_body_append_buffer</function></link> + </para></listitem> + </varlistentry> + <varlistentry> + <term><function>soup_message_add_final_chunk</function></term> + <listitem><para> + → <link + linkend="soup-message-body-complete"><function>soup_message_body_complete</function></link> + </para></listitem> + </varlistentry> +</variablelist> + +<para> + Since the new chunk-sending APIs require you to explicitly pass + the + <structfield>request_headers</structfield>/<structfield>request_body</structfield> + fields, rather than just assuming you're talking about the + response body, in theory it is now possible to use chunked + encoding with the request as well. As of the 2.3.0 release this + has not yet been tested. +</para> + +</refsect3> + +<refsect3> +<title>Methods</title> + +<para> + <type>SoupMessage</type>'s + <structfield>method</structfield> field is now an interned + string, and you can compare the method directly against + the defines such as <link + linkend="SOUP-METHOD-GET:CAPS"><literal>SOUP_METHOD_GET</literal></link> + (eg, in a <type>SoupServer</type> request handler). + <function>soup_method_get_id</function> and the + <literal>SOUP_METHOD_ID_*</literal> macros are now gone. +</para> +</refsect3> + +<refsect3> +<title>Handlers</title> + +<para> + <link + linkend="soup-message-add-header-handler"><function>soup_message_add_header_handler</function></link> + and <link + linkend="soup-message-add-status-code-handler"><function>soup_message_add_status_code_handler</function></link> + are now just clever wrappers around + <function>g_signal_connect</function>. In particular, you now pass + a signal name to them rather than a <type>SoupHandlerPhase</type>, + and you remove them with the normal signal handler remove methods. + However, they still retain the special behavior that if the + message has been cancelled or requeued when the time comes for the + handler to run, then the handler will be skipped. (Use plain + <function>g_signal_connect</function> if you don't want that + behavior.) +</para> +</refsect3> + +<refsect3> +<title>I/O-related <type>SoupMessage</type> methods</title> + +<para> + <function>soup_message_io_pause</function> and + <function>soup_message_io_unpause</function> have been moved to + <type>SoupSession</type> and <type>SoupServer</type>, to better + reflect the fact that the session/server control the I/O, and + <type>SoupMessage</type> is merely acted-upon by them. +</para> + +<variablelist> + <varlistentry> + <term><function>soup_message_io_pause</function></term> + <listitem><para> + → <link linkend="soup-session-pause-message"><function>soup_session_pause_message</function></link> / <link linkend="soup-server-pause-message"><function>soup_server_pause_message</function></link> + </para></listitem> + </varlistentry> + <varlistentry> + <term><function>soup_message_io_unpause</function></term> + <listitem><para> + → <link linkend="soup-session-unpause-message"><function>soup_session_unpause_message</function></link> / <link linkend="soup-server-unpause-message"><function>soup_server_unpause_message</function></link> + </para></listitem> + </varlistentry> +</variablelist> + +<para> + <literal>msg->status</literal> (the I/O status) is now + gone as well, because (a) it's really an internal state of + <type>SoupSession</type>, and (b) it's too easy to confuse + with <literal>msg->status_code</literal> (the HTTP status) + anyway. Code that used to check if status was + <literal>SOUP_MESSAGE_STATUS_FINISHED</literal> needs to + be rewritten to track whether or not the <link + linkend="SoupMessage-finished"><literal>finished</literal></link> + signal has been emitted. +</para> + +</refsect3> + +<refsect3> +<title>HTTP-Version</title> + +<para> + <type>SoupHttpVersion</type> is now <link + linkend="SoupHTTPVersion"><type>SoupHTTPVersion</type></link> +</para> +</refsect3> + +</refsect2> + +<refsect2> +<title>SoupSession</title> + +<refsect3> +<title><function>soup_session_queue_message</function> callback</title> + +<para> + <link + linkend="soup-session-queue-message"><function>soup_session_queue_message</function></link>'s + callback parameter now includes the <type>SoupSession</type> as a + parameter, reflecting the fact that it is a + <type>SoupSession</type> callback, not a <type>SoupMessage</type> + callback. (It has also been renamed, from + <type>SoupMessageCallbackFn</type> to <link + linkend="SoupSessionCallback"><type>SoupSessionCallback</type></link>.) +</para> +</refsect3> + +<refsect3> +<title>Authentication</title> + +<para> + <type>SoupSession</type>'s <literal>authenticate</literal> and + <literal>reauthenticate</literal> signals have been merged into a + single <link + linkend="SoupSession-authenticate"><literal>authenticate</literal></link> + signal with a <parameter>retrying</parameter> parameter to indicate if + it's the second (or later) try. Also, the signal now includes a + <link linkend="SoupAuth"><type>SoupAuth</type></link> directly, + and you authenticate by calling <link + linkend="soup-auth-authenticate"><function>soup_auth_authenticate</function></link> + on the auth (rather than passing back a username and password from + the signal handler). +</para> +</refsect3> + +<refsect3> +<title><type>SoupLogger</type></title> + +<para> +<link linkend="libsoup-SoupLogger"><type>SoupLogger</type></link> is a +new object that copies the behavior of +<application>evolution-exchange</application>'s +<literal>E2K_DEBUG</literal> and its clones. That is, it causes a +<type>SoupSession</type> to start logging some or all of its HTTP +traffic to stdout, for debugging purposes. +</para> +</refsect3> + +<refsect3> +<title><type>SoupMessageFilter</type></title> + +<para> + <type>SoupMessageFilter</type> is gone; code that used to use it + can now connect to the <link + linkend="SoupSession-request-started"><literal>SoupSession::request-started</literal></link> + signal to get a chance to act on each message as it is sent. + (This is how <type>SoupLogger</type> works.) +</para> +</refsect3> + +<refsect3> +<title>Internal types</title> + +<para> + The <type>SoupConnection</type> and <type>SoupMessageQueue</type> + types (which should always have been internal to + <type>SoupSession</type>) have been removed from the public API. +</para> +</refsect3> + +</refsect2> + +<refsect2> +<title>SoupURI</title> + +<type>SoupUri</type> has been renamed <link +linkend="SoupURI"><type>SoupURI</type></link>, and its behavior has +changed in a few ways: + +<itemizedlist> + <listitem> + <para> + It no longer fully-decodes %-encoded URI components. This + is necessary to ensure that complicated URIs (eg, URIs + that include other URIs as query parameters) can be + round-tripped correctly. This corresponds to the old + <structfield>broken_encoding</structfield> behavior, but + that flag no longer exists, since it is the default and + there's no way to turn it off. + </para> + + <para> + In theory, this is an ABI-breaking change, especially for + <link + linkend="SoupServer"><type>SoupServer</type></link>s. + However, it is unlikely to actually break anything. (And + in the <type>SoupServer</type> case, servers now + fully-decode the <structfield>path</structfield> component + themselves unless you set the <link + linkend="SOUP-SERVER-RAW-PATHS:CAPS"><literal>SOUP_SERVER_RAW_PATHS</literal></link> + flag on the server, so the behavior should still be the + same. + </para> + </listitem> + + <listitem><para> + It uses the RFC3986 parsing rules, including support for IPv6 literal + addresses. + </para></listitem> + + <listitem> + <para> + The field formerly called + <structfield>protocol</structfield> is now + <structfield>scheme</structfield>, to match the spec, and + it's an interned string rather than a quark. The names of + the predefined values have changed to match: + </para> + + <variablelist> + <varlistentry> + <term><function>SOUP_PROTOCOL_HTTP</function></term> + <listitem><para> + → <link linkend="SOUP-URI-SCHEME-HTTP:CAPS"><literal>SOUP_URI_SCHEME_HTTP</literal></link> + </para></listitem> + </varlistentry> + <varlistentry> + <term><function>SOUP_PROTOCOL_HTTPS</function></term> + <listitem><para> + → <link linkend="SOUP-URI-SCHEME-HTTPS:CAPS"><literal>SOUP_URI_SCHEME_HTTPS</literal></link> + </para></listitem> + </varlistentry> + </variablelist> + </listitem> +</itemizedlist> + +<para> +<link linkend="soup-uri-decode"><function>soup_uri_decode</function></link> +now returns a new string rather than modifying its input string in +place. The new method <link +linkend="soup-uri-normalize"><function>soup_uri_normalize</function></link>, +which removes some, but not all, %-encoding, behaves similarly. +</para> + +<para> +Finally, <type>SoupURI</type> (as well as most other struct types in +<application>libsoup</application>) now uses the glib "slice" +allocator, so any code that uses <link +linkend="g-new"><function>g_new</function></link> to create +<type>SoupURI</type>s is wrong. If you want to create a URI "by hand", +you can call <link +linkend="soup-uri-new"><function>soup_uri_new</function></link>, +passing <literal>NULL</literal>, and you will get back an empty +<type>SoupURI</type>. There are also now methods that can be used to +set its fields (eg, <link +linkend="soup-uri-set-scheme"><function>soup_uri_set_scheme</function></link>, +<link +linkend="soup-uri-set-path"><function>soup_uri_set_path</function></link>, +etc) rather than mucking with the fields directly. +</para> + +<refsect3> +<title>Forms</title> + +<para> +Related to <type>SoupURI</type>, there are some new helper methods for +dealing with HTML forms. <link +linkend="soup-form-decode-urlencoded">soup_form_decode_urlencoded</link> +decodes a URI <structfield>query</structfield> component (or an +<literal>application/x-www-form-urlencoded</literal> request body) +into a <type>GHashTable</type>. <link +linkend="soup-form-encode-urlencoded">soup_form_encode_urlencoded</link> +reverses the process, allowing you to fill in a +<literal>uri->query</literal> with a properly-encoded form dataset. +(<type>SoupURI</type> also provides <link +linkend="soup-uri-set-query-from-form"><function>soup_uri_set_query_from_form</function></link> +to help with this.) +</para> +</refsect3> + +</refsect2> + + +<refsect2> +<title>XML-RPC and SOAP</title> + +<refsect3> +<title>SOAP</title> +<para> +SOAP support has been removed; the existing methods covered only a +teeny tiny subset of SOAP, which was really only useful to a single +application. (The code that was formerly in libsoup has been moved to +that application.). If you were using this code, you can resurrect a +libsoup-2.4-compatible version of it from revision 1016 of libsoup +svn. +</para> +</refsect3> + +<refsect3> +<title>XML-RPC</title> +<para> +The XML-RPC code has been completely rewritten to make it simpler to +implement XML-RPC clients and servers. (Note: the server-side code has +not been heavily tested yet.) The <link +linkend="libsoup-XMLRPC-Support">new XML-RPC API</link> makes use of +<type>GValue</type>s, with the following type mappings: +</para> + +<variablelist> + <varlistentry> + <term><literal>int</literal></term> + <listitem><para> + → <type>int</type> (<link linkend="G-TYPE-INT:CAPS"><literal>G_TYPE_INT</literal></link>) + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal>boolean</literal></term> + <listitem><para> + → <type>gboolean</type> (<link linkend="G-TYPE-BOOLEAN:CAPS"><literal>G_TYPE_BOOLEAN</literal></link>) + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal>string</literal></term> + <listitem><para> + → <type>char *</type> (<link linkend="G-TYPE-STRING:CAPS"><literal>G_TYPE_STRING</literal></link>) + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal>double</literal></term> + <listitem><para> + → <type>double</type> (<link linkend="G-TYPE-DOUBLE:CAPS"><literal>G_TYPE_DOUBLE</literal></link>) + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal>dateTime.iso8601</literal></term> + <listitem><para> + → <link linkend="SoupDate"><type>SoupDate</type></link> (<link linkend="SOUP-TYPE-DATE:CAPS"><literal>SOUP_TYPE_DATE</literal></link>) + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal>base64</literal></term> + <listitem><para> + → <type>GByteArray</type> (<link linkend="SOUP-TYPE-BYTE-ARRAY:CAPS"><literal>SOUP_TYPE_BYTE_ARRAY</literal></link>) + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal>struct</literal></term> + <listitem><para> + → <type>GHashTable</type> (<link linkend="G-TYPE-HASH-TABLE:CAPS"><literal>G_TYPE_HASH_TABLE</literal></link>) + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal>array</literal></term> + <listitem><para> + → <type>GValueArray</type> (<link linkend="G-TYPE-VALUE-ARRAY:CAPS"><literal>G_TYPE_VALUE_ARRAY</literal></link>) + </para></listitem> + </varlistentry> +</variablelist> + +<para> +<type>SoupDate</type> is discussed below. +<literal>SOUP_TYPE_BYTE_ARRAY</literal> is just a new +<type>GType</type> value defined by <application>libsoup</application> +to represent <type>GByteArray</type>s, which glib does not define a +<type>GType</type> for. +</para> + +<para> +<application>libsoup</application> provides some additional <link +linkend="libsoup-GValue-Support"><type>GValue</type> support +methods</link> for working with +<type>GValueArray</type>s, and <type>GHashTable</type>s of +<type>GValue</type>s, for the XML-RPC <literal>struct</literal> and +<literal>array</literal> types. Eg, you can use <link +linkend="soup-value-hash-new"><function>soup_value_hash_new</function></link> +to create a <type>GHashTable</type> to use with the XML-RPC methods, +and <link +linkend="soup-value-hash-insert"><function>soup_value_hash_insert</function></link> +to add values to it without needing to muck with <type>GValue</type>s +directly. +</para> + +<para> +The <literal>getbug</literal> and <literal>xmlrpc-test</literal> +programs in the <application>libsoup</application> sources provide +examples of how to use the new API. (Beware that +<literal>xmlrpc-test</literal>'s use of the API is a little +complicated because of the way it sends all calls through a single +<literal>do_xmlrpc</literal> method.) +</para> + +</refsect3> +</refsect2> + +<refsect2> +<title>SoupServer</title> + +<refsect3> +<title>SoupServer handlers</title> + +<para> + The prototypes for <link + linkend="soup-server-add-handler"><function>soup_server_add_handler</function></link>, + and for the <link + linkend="SoupServerCallback"><type>SoupServer</type> + handlers</link> themselves have changed: +</para> + +<informalexample><programlisting> +typedef void (*SoupServerCallback) (SoupServer *server, + SoupMessage *msg, + const char *path, + GHashTable *query, + SoupClientContext *client, + gpointer user_data); + +void soup_server_add_handler (SoupServer *server, + const char *path, + SoupServerCallback callback, + gpointer data, + GDestroyNotify destroy); +</programlisting></informalexample> + +<para> + <function>soup_server_add_handler</function> no longer takes a + <type>SoupServerAuthContext</type> (see the discussion of server + authentication below), and the order of the final two arguments + has been swapped. (Additionally, <type>SoupServerCallbackFn</type> + has been renamed to <type>SoupServerCallback</type>, and the old + <parameter>unregister</parameter> parameter of type + <type>SoupServerUnregisterFn</type> is now a standard + <type>GDestroyNotify</type>. The change to + <type>GDestroyNotify</type> and the swapping of the final two + arguments is to make the method conform to standard glib/gtk + practices.) +</para> + +<para> + In <type>SoupServerCallback</type>, several bits of data that used + to be part of the <parameter>context</parameter> argument are now + provided directly, and <parameter>context</parameter> specifically + only contains more specifically-client-related information (such + as the <type>SoupSocket</type> that the request arrived on, and + information about authentication). +</para> + +<para> + <parameter>path</parameter> is the fully %-decoded path component + of <parameter>msg</parameter>'s URI, and + <parameter>query</parameter> is a hash table containing + <parameter>msg</parameter>'s URI's + <structfield>query</structfield> component decoded with <link + linkend="soup-form-decode-urlencoded">soup_form_decode_urlencoded</link>. + These are provided for your convenience; if you need the raw + query, you can get it out of <parameter>msg</parameter>'s URI + directly. If you need the raw path, you'll need to set the <link + linkend="SOUP-SERVER-RAW-PATHS:CAPS"><literal>SOUP_SERVER_RAW_PATHS</literal></link> + property on the server, which actually changes the behavior of the + server with respect to how paths are matched; see the + documentation for details. +</para> +</refsect3> + +<refsect3> +<title>Server-side authentication</title> + +<para> + <type>SoupServer</type> authentication has been completely + rewritten, with <type>SoupServerAuthContext</type> being replaced + with <link + linkend="SoupAuthDomain"><type>SoupAuthDomain</type></link>. Among + other improvements, you no longer need to have the cleartext + password available to check against. See the + <type>SoupAuthDomain</type> documentation, the <link + linkend="libsoup-server-howto">server tutorial</link>, and + <literal>tests/server-auth-test.c</literal>. +</para> +</refsect3> + +<refsect3> +<title><literal>Expect: 100-continue</literal> and other early <type>SoupMessage</type> processing</title> + +<para> + <type>SoupServer</type> now handles + "<literal>Expect: 100-continue</literal>" correctly. In + particular, if the client passes that header, and your server + requires authentication, then authentication will be checked + before reading the request body. +</para> + +<para> + If you want to do additional pre-request-body handling, you can + connect to <type>SoupServer</type>'s <link + linkend="SoupServer-request-started"><literal>request_started</literal></link> + signal, and connect to the request's <link + linkend="SoupMessage-got-headers"><literal>got_headers</literal></link> + signal from there. (See the description of + <literal>request_started</literal> for information about other + related <type>SoupServer</type> signals.) +</para> +</refsect3> + +<refsect3> +<title>Date header</title> + +<para> + <type>SoupServer</type> now automatically sets the + <literal>Date</literal> header on all responses, as required by + RFC 2616. +</para> +</refsect3> + +<refsect3> +<title>SoupServerMessage</title> + +<para> + <type>SoupServerMessage</type> is now merged into + <type>SoupMessage</type>. + <function>soup_server_message_set_encoding</function> is replaced + with <link + linkend="soup-message-headers-set-encoding"><function>soup_message_headers_set_encoding</function></link> + as described in the section on <type>SoupMessage</type> above. +</para> +</refsect3> + +<refsect3> +<title><function>soup_server_run</function> / <function>soup_server_quit</function></title> + +<para> + <link + linkend="soup-server-run"><function>soup_server_run</function></link> + and <link + linkend="soup-server-run-async"><function>soup_server_run_async</function></link> + no longer <function>g_object_ref</function> the server, and + <link + linkend="soup-server-quit"><function>soup_server_quit</function></link> + no longer unrefs it. +</para> +</refsect3> + +</refsect2> + +<refsect2> +<title>Miscellaneous</title> + +<refsect3> +<title>SoupDate</title> + +<para> + The new <link linkend="SoupDate"><type>SoupDate</type></link> type + replaces the old <function>soup_date_*</function> methods, and has + an improved (more liberal) date parser. +</para> +</refsect3> + +<refsect3> +<title>Header parsing</title> + +<para> + <literal>soup-headers.h</literal> now has a few additional methods + for parsing list-type headers. +</para> +</refsect3> + +<refsect3> +<title>SoupAddress, SoupSocket</title> + +<para> + <type>SoupSocket</type> has had various simplifications made to + reflect the fact that this is specifically libsoup's socket + implementation, not some random generic socket API. +</para> + +<para> + Various <type>SoupAddress</type> and <type>SoupSocket</type> + methods now take arguments of the new <link + linkend="GCancellable"><type>GCancellable</type></link> type, from + libgio. When porting old code, you can just pass + <literal>NULL</literal> for these. (<link + linkend="soup-address-resolve-async"><function>soup_address_resolve_async</function></link> + also takes another new argument, a <link + linkend="GMainContext"><type>GMainContext</type></link> that + you'll want to pass <literal>NULL</literal> for.) If you pass a + <type>GCancellable</type>, you can use it to cleanly cancel the + address resolution / socket operation. +</para> + +</refsect3> + +<refsect3> +<title>Base64 methods</title> + +<para> + The deprecated base64 methods are now gone; use glib's base64 + methods instead. +</para> +</refsect3> + +</refsect2> + +</refentry> diff --git a/docs/reference/server-howto.xml b/docs/reference/server-howto.xml index 2d7971b6..76c19182 100644 --- a/docs/reference/server-howto.xml +++ b/docs/reference/server-howto.xml @@ -21,17 +21,6 @@ most of your interactions with libsoup. In this case, <link linkend="SoupServer"><type>SoupServer</type></link>. </para> -<warning> - <para> - Note that <type>SoupServer</type> isn't as polished as - <type>SoupSession</type>, and thus not as stable, and the APIs - will likely change in incompatible (but not - difficult-to-port-to) ways in the future to make things nicer. - We apologize in advance for the inconvenience. - </para> -</warning> - - <para> You create the server with <link linkend="soup-server-new"><function>soup_server_new</function></link>, @@ -83,6 +72,16 @@ various additional options: other than the main thread. </para></listitem> </varlistentry> + <varlistentry> + <term><link linkend="SOUP-SERVER-RAW-PATHS:CAPS"><literal>SOUP_SERVER_RAW_PATHS</literal></link></term> + <listitem><para> + Set this to <literal>TRUE</literal> if you don't want + <application>libsoup</application> to decode %-encoding + in the Request-URI. (Eg, because you need to treat + <literal>"/foo/bar"</literal> and + <literal>"/foo%2Fbar"</literal> as different paths. + </para></listitem> + </varlistentry> </variablelist> </refsect2> @@ -100,8 +99,8 @@ to set a callback to handle certain URI paths. </para> <informalexample><programlisting> -soup_server_add_handler (server, "/foo", NULL, server_callback, - unregister_callback, data); + soup_server_add_handler (server, "/foo", server_callback, + data, destroy_notify); </programlisting></informalexample> <para> @@ -131,18 +130,28 @@ A handler callback looks something like this: <informalexample><programlisting> static void -server_callback (SoupServerContext *context, SoupMessage *msg, gpointer data) +server_callback (SoupServer *server, + SoupMessage *msg, + const char *path, + GHashTable *query, + SoupClientContext *client, + gpointer user_data) { ... } </programlisting></informalexample> <para> -<literal>msg</literal> is the request that has been received. -<literal>data</literal> is the same data that was passed to <link +<literal>msg</literal> is the request that has been received and +<literal>user_data</literal> is the data that was passed to <link linkend="soup-server-add-handler"><function>soup_server_add_handler</function></link>. -The <link>context</link> argument contains some additional information -related to the request. +<literal>path</literal> is the path (from <literal>msg</literal>'s +URI), and <literal>query</literal> contains the result of parsing the +URI query field. (It is <literal>NULL</literal> if there was no +query.) <literal>client</literal> is a <link +linkend="SoupClientContext"><type>SoupClientContext</type></link>, +which contains additional information about the client (including its +IP address, and whether or not it used HTTP authentication). </para> <para> @@ -151,10 +160,10 @@ completely finished processing the message when you return from the callback, and that it can therefore begin sending the response. If you are not ready to send a response immediately (eg, you have to contact another server, or wait for data from a database), you must call <link -linkend="soup-message-io-pause"><function>soup_message_io_pause</function></link> +linkend="soup-server-pause-message"><function>soup_server_pause_message</function></link> on the message before returning from the callback. This will delay sending a response until you call <link -linkend="soup-message-io-unpause"><function>soup_message_io_unpause</function></link>. +linkend="soup-server-unpause-message"><function>soup_server_unpause_message</function></link>. (You must also connect to the <link linkend="SoupMessage-finished">finished</link> signal on the message in this case, so that you can break off processing if the client @@ -166,10 +175,8 @@ To set the response status, call <link linkend="soup-message-set-status"><function>soup_message_set_status</function></link> or <link linkend="soup-message-set-status-full"><function>soup_message_set_status_full</function></link>. -If the response requires a body, the callback must call <link -linkend="soup-server-message-set-encoding"><function>soup_server_message_set_encoding</function></link> -to indicate whether it will provide the response all at once with -<literal>Content-Length</literal> encoding, or in pieces with +If the response requires a body, you must decide whether to use +<literal>Content-Length</literal> encoding (the default), or <literal>chunked</literal> encoding. </para> @@ -184,29 +191,34 @@ data available at once. <informalexample><programlisting> static void -server_callback (SoupServerContext *context, SoupMessage *msg, gpointer data) +server_callback (SoupServer *server, + SoupMessage *msg, + const char *path, + GHashTable *query, + SoupClientContext *client, + gpointer user_data) { - MyServerData *server_data = data; - SoupUri *uri = soup_message_get_uri (msg); + MyServerData *server_data = user_data; const char *mime_type; GByteArray *body; - if (context->method_id != SOUP_METHOD_ID_GET) { + if (msg->method != SOUP_METHOD_GET) { soup_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED); return; } - body = g_hash_table_lookup (server_data->bodies, uri->path); - mime_type = g_hash_table_lookup (server_data->mime_types, uri->path); + /* This is somewhat silly. Presumably your server will do + * something more interesting. + */ + body = g_hash_table_lookup (server_data->bodies, path); + mime_type = g_hash_table_lookup (server_data->mime_types, path); if (!body || !mime_type) { soup_message_set_status (msg, SOUP_STATUS_NOT_FOUND); return; } soup_message_set_status (msg, SOUP_STATUS_OK); - soup_server_message_set_encoding (SOUP_SERVER_MESSAGE (msg), - SOUP_TRANSFER_CONTENT_LENGTH); - soup_message_set_response (msg, mime_type, SOUP_BUFFER_USER_OWNED, + soup_message_set_response (msg, mime_type, SOUP_MEMORY_COPY, body->data, body->len); } </programlisting></informalexample> @@ -219,16 +231,22 @@ server_callback (SoupServerContext *context, SoupMessage *msg, gpointer data) <para> If you want to supply the response body in chunks as it becomes available, use <literal>chunked</literal> encoding instead. In this -case, call <link -linkend="soup-message-add-chunk"><function>soup_message_add_chunk</function></link> with -each chunk of the response body as it becomes available, and call -<link -linkend="soup-message-add-final-chunk"><function>soup_message_add_final_chunk</function></link> +case, first call <link +linkend="soup-message-headers-set-encoding"><function>soup_message_headers_set_encoding</function></link> <literal>(msg->response_headers, <link +linkend="SoupEncoding">SOUP_ENCODING_CHUNKED</link>)</literal> +to tell <application>libsoup</application> that you'll be using +chunked encoding. Then call <link +linkend="soup-message-body-append"><function>soup_message_body_append</function></link> +(or <link +linkend="soup-message-body-append-buffer"><function>soup_message_body_append_buffer</function></link>) +on <literal>msg->response_body</literal> with each chunk of the +response body as it becomes available, and call <link +linkend="soup-message-body-complete"><function>soup_message_body_complete</function></link> when the response is complete. After each of these calls, you must also call <link -linkend="soup-message-io-unpause"><function>soup_message_io_unpause</function></link> to -cause the chunk to be sent. (You do not normally need to call -<link linkend="soup-message-io-pause"><function>soup_message_io_pause</function></link>, +linkend="soup-server-unpause-message"><function>soup_server_unpause_message</function></link> +to cause the chunk to be sent. (You do not normally need to call <link +linkend="soup-server-pause-message"><function>soup_server_pause_message</function></link>, because I/O is automatically paused when doing a <literal>chunked</literal> transfer if no chunks are available.) </para> @@ -239,7 +257,9 @@ linkend="SoupMessage-finished">finished</link> signal on the message, so that you will be notified if the client disconnects between two chunks; <type>SoupServer</type> will unref the message if that happens, so you must stop adding new chunks to the response at that -point. +point. (An alternate possibility is to write each new chunk only when +the <link linkend="SoupMessage-wrote-chunk">wrote_chunk</link> signal +is emitted indicating that the previous one was written successfully.) </para> <para> @@ -257,59 +277,92 @@ using <literal>chunked</literal> encoding. <para> To have <link linkend="SoupServer"><type>SoupServer</type></link> -handle HTTP authentication for you, pass a <link -linkend="SoupAuthContext"><type>SoupAuthContext</type></link> to <link -linkend="soup-server-add-handler"><function>soup_server_add_handler</function></link>: +handle HTTP authentication for you, create a <link +linkend="SoupAuthDomainBasic"><type>SoupAuthDomainBasic</type></link> +or <link +linkend="SoupAuthDomainDigest"><type>SoupAuthDomainDigest</type></link>, +and pass it to <link +linkend="soup-server-add-auth-domain"><function>soup_server_add_auth_domain</function></link>: </para> <informalexample><programlisting> -SoupServerAuthContext auth_ctx; - -auth_ctx.types = SOUP_AUTH_TYPE_BASIC; -auth_ctx.callback = auth_callback; -auth_ctx.user_data = data; -auth_ctx.basic_info.realm = "My Realm"; - -soup_server_add_handler (server, "/bar", &auth_ctx, server_callback, - unregister_callback, data); + SoupAuthDomain *domain; + + domain = soup_auth_domain_basic_new ( + SOUP_AUTH_DOMAIN_REALM, "My Realm", + SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK, auth_callback, + SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA, auth_data, + SOUP_AUTH_DOMAIN_ADD_PATH, "/foo", + SOUP_AUTH_DOMAIN_ADD_PATH, "/bar/private", + NULL); + soup_server_add_auth_domain (server, domain); + g_object_unref (domain); </programlisting></informalexample> <para> -Then, every request that matches that handler will be passed to the -<literal>auth_callback</literal> first before being passed to the -<literal>server_callback</literal>: +Then, every request under one of the auth domain's paths will be +passed to the <literal>auth_callback</literal> first before being +passed to the <literal>server_callback</literal>: </para> <informalexample><programlisting> static gboolean -auth_callback (SoupServerAuthContext *auth_ctx, SoupServerAuth *auth, - SoupMessage *msg, gpointer user_data) +auth_callback (SoupAuthDomain *domain, SoupMessage *msg, + const char *username, const char *password, + gpointer user_data) { MyServerData *server_data = user_data; - const char *username, *password; + MyUserData *user; - if (!auth) + user = my_server_data_lookup_user (server_data, username); + if (!user) return FALSE; - username = soup_server_auth_get_user (auth); - password = g_hash_table_lookup (server_data->passwords, username); - if (!password) - return FALSE; - - return soup_server_auth_check_passwd (auth, password); + /* FIXME: Don't do this. Keeping a cleartext password database + * is bad. + */ + return strcmp (password, user->password) == 0; } </programlisting></informalexample> <para> -The <literal>auth</literal> parameter indicates the authentication -information passed by the client. If no -<literal>WWW-Authenticate</literal> header was present, this will be -<literal>NULL</literal>, so we return <literal>FALSE</literal> from -the callback to indicate that the server should return a <literal>401 -Unauthorized</literal> response. If it is non-<literal>NULL</literal>, -we extract the username from it, and compare it against our stored -password. Assuming it matches, we return <literal>TRUE</literal>, and -the server callback is then invoked normally. +The <link +linkend="SoupAuthDomainBasicAuthCallback"><type>SoupAuthDomainBasicAuthCallback</type></link> +is given the username and password from the +<literal>Authorization</literal> header and must determine, in some +server-specific manner, whether or not to accept them. (In this +example we compare the password against a cleartext password database, +but it would be better to store the password somehow encoded, as in +the UNIX password database. Alternatively, you may need to delegate +the password check to PAM or some other service.) +</para> + +<para> +If you are using Digest authentication, note that <link +linkend="SoupAuthDomainDigestAuthCallback"><type>SoupAuthDomainDigestAuthCallback</type></link> +works completely differently (since the server doesn't receive the +cleartext password from the client in that case, so there's no way to +compare it directly). See the documentation for <link +linkend="SoupAuthDomainDigest"><type>SoupAuthDomainDigest</type></link> +for more details. +</para> + +<para> +You can have multiple <type>SoupAuthDomain</type>s attached to a +<literal>SoupServer</literal>, either in separate parts of the path +hierarchy, or overlapping. (Eg, you might want to accept either Basic +or Digest authentication for a given path.) When more than one auth +domain covers a given path, the request will be accepted if the user +authenticates successfully against <emphasis>any</emphasis> of the +domains. +</para> + +<para> +If you want to require authentication for some requests under a +certain path, but not all of them (eg, you want to authenticate +<literal>PUT</literal>s, but not <literal>GET</literal>s), use a +<link +linkend="SoupAuthDomainFilter"><type>SoupAuthDomainFilter</type></link>. </para> </refsect2> diff --git a/docs/reference/tmpl/libsoup-unused.sgml b/docs/reference/tmpl/libsoup-unused.sgml deleted file mode 100644 index f4901ef4..00000000 --- a/docs/reference/tmpl/libsoup-unused.sgml +++ /dev/null @@ -1,497 +0,0 @@ -<!-- ##### SECTION ./tmpl/soup-auth-basic.sgml:Long_Description ##### --> -<para> -This implements the Basic HTTP Authentication mechanism, as described -in RFC 2617. It is created automatically by #SoupSession when needed. -</para> - - -<!-- ##### SECTION ./tmpl/soup-auth-basic.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-auth-basic.sgml:Short_Description ##### --> -HTTP Basic Authentication - - -<!-- ##### SECTION ./tmpl/soup-auth-basic.sgml:Title ##### --> -SoupAuthBasic - - -<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:Long_Description ##### --> -<para> -This implements the Digest HTTP Authentication mechanism, as described -in RFC 2617. It is created automatically by #SoupSession when needed. -</para> - - -<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:Short_Description ##### --> -HTTP Digest Authentication - - -<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:Title ##### --> -SoupAuthDigest - - -<!-- ##### SECTION ./tmpl/soup-md5-utils.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-md5-utils.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-md5-utils.sgml:Short_Description ##### --> -MD5 hash utilities - - -<!-- ##### SECTION ./tmpl/soup-md5-utils.sgml:Title ##### --> -soup-md5-utils - - -<!-- ##### SECTION ./tmpl/soup-message-filter.sgml.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-message-filter.sgml.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-message-filter.sgml.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/soup-message-filter.sgml.sgml:Stability_Level ##### --> - - - -<!-- ##### SECTION ./tmpl/soup-message-filter.sgml.sgml:Title ##### --> -Soup Miscellaneous Utilities - - -<!-- ##### SECTION ./tmpl/soup-message-private.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-message-private.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-message-private.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/soup-message-private.sgml:Title ##### --> -soup-message-private - - -<!-- ##### SECTION ./tmpl/soup-message-queue.sgml:Long_Description ##### --> -<para> -#SoupMessageQueue maintains the queue of pending messages in a -#SoupSession. -</para> - - -<!-- ##### SECTION ./tmpl/soup-message-queue.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-message-queue.sgml:Short_Description ##### --> -Message queue object - - -<!-- ##### SECTION ./tmpl/soup-message-queue.sgml:Title ##### --> -soup-message-queue - - -<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:Short_Description ##### --> -Server-side authentication structures - - -<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:Title ##### --> -soup-server-auth - - -<!-- ##### ENUM SoupAuthType ##### --> -<para> - -</para> - -@SOUP_AUTH_TYPE_BASIC: -@SOUP_AUTH_TYPE_DIGEST: - -<!-- ##### ENUM SoupDigestAlgorithm ##### --> -<para> - -</para> - -@SOUP_ALGORITHM_MD5: -@SOUP_ALGORITHM_MD5_SESS: - -<!-- ##### STRUCT SoupMD5Context ##### --> -<para> - -</para> - - -<!-- ##### USER_FUNCTION SoupMessageGetHeadersFn ##### --> -<para> - -</para> - -@msg: -@headers: -@encoding: -@user_data: - -<!-- ##### USER_FUNCTION SoupMessageParseHeadersFn ##### --> -<para> - -</para> - -@msg: -@headers: -@header_len: -@encoding: -@content_len: -@user_data: -@Returns: - -<!-- ##### TYPEDEF SoupMessageQueue ##### --> -<para> - -</para> - - -<!-- ##### STRUCT SoupMessageQueueIter ##### --> -<para> - -</para> - - -<!-- ##### STRUCT SoupServerAuthBasic ##### --> -<para> - -</para> - -@type: -@user: -@passwd: - -<!-- ##### USER_FUNCTION SoupServerAuthCallbackFn ##### --> -<para> - -</para> - -@auth_ctx: -@auth: -@msg: -@data: -@Returns: - -<!-- ##### STRUCT SoupServerAuthContext ##### --> -<para> - -</para> - -@types: -@callback: -@user_data: - -<!-- ##### STRUCT SoupServerAuthDigest ##### --> -<para> - -</para> - -@type: -@algorithm: -@integrity: -@realm: -@user: -@nonce: -@nonce_count: -@cnonce: -@digest_uri: -@digest_response: -@request_method: - -<!-- ##### FUNCTION soup_md5_final ##### --> -<para> - -</para> - -@ctx: -@digest: - -<!-- ##### FUNCTION soup_md5_final_hex ##### --> -<para> - -</para> - -@ctx: -@digest: - -<!-- ##### FUNCTION soup_md5_init ##### --> -<para> - -</para> - -@ctx: - -<!-- ##### FUNCTION soup_md5_update ##### --> -<para> - -</para> - -@ctx: -@buf: -@len: - -<!-- ##### FUNCTION soup_message_cleanup_response ##### --> -<para> - -</para> - -@req: - -<!-- ##### FUNCTION soup_message_finished ##### --> -<para> - -</para> - -@msg: - -<!-- ##### FUNCTION soup_message_got_body ##### --> -<para> - -</para> - -@msg: - -<!-- ##### FUNCTION soup_message_got_chunk ##### --> -<para> - -</para> - -@msg: - -<!-- ##### FUNCTION soup_message_got_headers ##### --> -<para> - -</para> - -@msg: - -<!-- ##### FUNCTION soup_message_got_informational ##### --> -<para> - -</para> - -@msg: - -<!-- ##### FUNCTION soup_message_io_client ##### --> -<para> - -</para> - -@msg: -@sock: -@get_headers_cb: -@parse_headers_cb: -@user_data: - -<!-- ##### FUNCTION soup_message_io_server ##### --> -<para> - -</para> - -@msg: -@sock: -@get_headers_cb: -@parse_headers_cb: -@user_data: - -<!-- ##### FUNCTION soup_message_queue_append ##### --> -<para> - -</para> - -@queue: -@msg: - -<!-- ##### FUNCTION soup_message_queue_destroy ##### --> -<para> - -</para> - -@queue: - -<!-- ##### FUNCTION soup_message_queue_first ##### --> -<para> - -</para> - -@queue: -@iter: -@Returns: - -<!-- ##### FUNCTION soup_message_queue_free_iter ##### --> -<para> - -</para> - -@queue: -@iter: - -<!-- ##### FUNCTION soup_message_queue_new ##### --> -<para> - -</para> - -@Returns: - -<!-- ##### FUNCTION soup_message_queue_next ##### --> -<para> - -</para> - -@queue: -@iter: -@Returns: - -<!-- ##### FUNCTION soup_message_queue_remove ##### --> -<para> - -</para> - -@queue: -@iter: -@Returns: - -<!-- ##### FUNCTION soup_message_queue_remove_message ##### --> -<para> - -</para> - -@queue: -@msg: - -<!-- ##### FUNCTION soup_message_restarted ##### --> -<para> - -</para> - -@msg: - -<!-- ##### FUNCTION soup_message_run_handlers ##### --> -<para> - -</para> - -@msg: -@phase: - -<!-- ##### FUNCTION soup_message_wrote_body ##### --> -<para> - -</para> - -@msg: - -<!-- ##### FUNCTION soup_message_wrote_chunk ##### --> -<para> - -</para> - -@msg: - -<!-- ##### FUNCTION soup_message_wrote_headers ##### --> -<para> - -</para> - -@msg: - -<!-- ##### FUNCTION soup_message_wrote_informational ##### --> -<para> - -</para> - -@msg: - -<!-- ##### FUNCTION soup_server_auth_check_passwd ##### --> -<para> - -</para> - -@auth: -@passwd: -@Returns: - -<!-- ##### FUNCTION soup_server_auth_context_challenge ##### --> -<para> - -</para> - -@auth_ctx: -@msg: -@header_name: - -<!-- ##### FUNCTION soup_server_auth_free ##### --> -<para> - -</para> - -@auth: - -<!-- ##### FUNCTION soup_server_auth_get_user ##### --> -<para> - -</para> - -@auth: -@Returns: - -<!-- ##### FUNCTION soup_server_auth_new ##### --> -<para> - -</para> - -@auth_ctx: -@auth_hdrs: -@msg: -@Returns: - diff --git a/docs/reference/tmpl/soup-address.sgml b/docs/reference/tmpl/soup-address.sgml deleted file mode 100644 index 5cebb3bc..00000000 --- a/docs/reference/tmpl/soup-address.sgml +++ /dev/null @@ -1,162 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupAddress - -<!-- ##### SECTION Short_Description ##### --> -Higher-level IP address object - -<!-- ##### SECTION Long_Description ##### --> -<para> -#SoupAddress represents the address of a TCP connection endpoint; both -the IP address and the port. (It is somewhat like an object-oriented -version of struct #sockaddr.) -</para> - -<para> -If libsoup was built with IPv6 support, #SoupAddress will allow both -IPv4 and IPv6 addresses. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupAddress ##### --> -<para> - -</para> - - -<!-- ##### SIGNAL SoupAddress::dns-result ##### --> -<para> - -</para> - -@addr: -@status: - -<!-- ##### ENUM SoupAddressFamily ##### --> -<para> - -</para> - -@SOUP_ADDRESS_FAMILY_IPV4: -@SOUP_ADDRESS_FAMILY_IPV6: - -<!-- ##### MACRO SOUP_ADDRESS_ANY_PORT ##### --> -<para> - -</para> - - - -<!-- ##### FUNCTION soup_address_new ##### --> -<para> - -</para> - -@name: -@port: -@Returns: - - -<!-- ##### FUNCTION soup_address_new_from_sockaddr ##### --> -<para> - -</para> - -@sa: -@len: -@Returns: - - -<!-- ##### FUNCTION soup_address_new_any ##### --> -<para> - -</para> - -@family: -@port: -@Returns: - - -<!-- ##### USER_FUNCTION SoupAddressCallback ##### --> -<para> - -</para> - -@addr: -@status: -@data: - - -<!-- ##### FUNCTION soup_address_resolve_async ##### --> -<para> - -</para> - -@addr: -@callback: -@user_data: - - -<!-- ##### FUNCTION soup_address_resolve_async_full ##### --> -<para> - -</para> - -@addr: -@async_context: -@callback: -@user_data: - - -<!-- ##### FUNCTION soup_address_resolve_sync ##### --> -<para> - -</para> - -@addr: -@Returns: - - -<!-- ##### FUNCTION soup_address_get_name ##### --> -<para> - -</para> - -@addr: -@Returns: - - -<!-- ##### FUNCTION soup_address_get_sockaddr ##### --> -<para> - -</para> - -@addr: -@len: -@Returns: - - -<!-- ##### FUNCTION soup_address_get_physical ##### --> -<para> - -</para> - -@addr: -@Returns: - - -<!-- ##### FUNCTION soup_address_get_port ##### --> -<para> - -</para> - -@addr: -@Returns: - - diff --git a/docs/reference/tmpl/soup-auth.sgml b/docs/reference/tmpl/soup-auth.sgml deleted file mode 100644 index e612ffbb..00000000 --- a/docs/reference/tmpl/soup-auth.sgml +++ /dev/null @@ -1,117 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupAuth - -<!-- ##### SECTION Short_Description ##### --> -HTTP Authentication support - -<!-- ##### SECTION Long_Description ##### --> -<para> -#SoupAuth objects store the authentication data associated with a -given bit of webspace. They are created and maintained automatically -by #SoupSession. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> -#SoupSession, #SoupConnectionNTLM -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupAuth ##### --> -<para> -The abstract base class for handling authentication. Specific HTTP -Authentication mechanisms are implemented by its subclasses. (NTLM -authentication, which works quite differently from normal HTTP -authentication, is handled by #SoupConnectionNTLM.) -</para> - - -<!-- ##### STRUCT SoupAuthBasic ##### --> -<para> -An object representing Basic HTTP authentication. -</para> - - -<!-- ##### STRUCT SoupAuthDigest ##### --> -<para> -An object representing Digest HTTP authentication. -</para> - - -<!-- ##### FUNCTION soup_auth_new_from_header_list ##### --> -<para> - -</para> - -@vals: -@Returns: - - -<!-- ##### FUNCTION soup_auth_get_scheme_name ##### --> -<para> - -</para> - -@auth: -@Returns: - - -<!-- ##### FUNCTION soup_auth_get_realm ##### --> -<para> - -</para> - -@auth: -@Returns: - - -<!-- ##### FUNCTION soup_auth_authenticate ##### --> -<para> - -</para> - -@auth: -@username: -@password: - - -<!-- ##### FUNCTION soup_auth_is_authenticated ##### --> -<para> - -</para> - -@auth: -@Returns: - - -<!-- ##### FUNCTION soup_auth_get_authorization ##### --> -<para> - -</para> - -@auth: -@msg: -@Returns: - - -<!-- ##### FUNCTION soup_auth_get_protection_space ##### --> -<para> - -</para> - -@auth: -@source_uri: -@Returns: - - -<!-- ##### FUNCTION soup_auth_free_protection_space ##### --> -<para> - -</para> - -@auth: -@space: - - diff --git a/docs/reference/tmpl/soup-connection-ntlm.sgml b/docs/reference/tmpl/soup-connection-ntlm.sgml deleted file mode 100644 index f72ad2aa..00000000 --- a/docs/reference/tmpl/soup-connection-ntlm.sgml +++ /dev/null @@ -1,26 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupConnectionNTLM - -<!-- ##### SECTION Short_Description ##### --> -NTLM-authenticated connection - -<!-- ##### SECTION Long_Description ##### --> -<para> -#SoupSession automatically creates #SoupConnectionNTLM rather than -#SoupConnection if you set the %SOUP_SESSION_USE_NTLM flag. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupConnectionNTLM ##### --> -<para> - -</para> - - diff --git a/docs/reference/tmpl/soup-connection.sgml b/docs/reference/tmpl/soup-connection.sgml deleted file mode 100644 index 3af9305f..00000000 --- a/docs/reference/tmpl/soup-connection.sgml +++ /dev/null @@ -1,254 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupConnection - -<!-- ##### SECTION Short_Description ##### --> -a single possibly-persistent HTTP connection - -<!-- ##### SECTION Long_Description ##### --> -<para> -#SoupConnection represents a single connection to an HTTP server -(possibly via a proxy). Connection objects are created and destroyed -automatically by #SoupSession. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupConnection ##### --> -<para> - -</para> - - -<!-- ##### SIGNAL SoupConnection::authenticate ##### --> -<para> - -</para> - -@conn: -@msg: -@auth_type: -@auth_realm: -@username: -@password: - -<!-- ##### SIGNAL SoupConnection::connect-result ##### --> -<para> - -</para> - -@conn: -@status: - -<!-- ##### SIGNAL SoupConnection::disconnected ##### --> -<para> - -</para> - -@conn: - -<!-- ##### SIGNAL SoupConnection::reauthenticate ##### --> -<para> - -</para> - -@conn: -@msg: -@auth_type: -@auth_realm: -@username: -@password: - -<!-- ##### ARG SoupConnection:async-context ##### --> -<para> - -</para> - -<!-- ##### ARG SoupConnection:message-filter ##### --> -<para> - -</para> - -<!-- ##### ARG SoupConnection:origin-uri ##### --> -<para> - -</para> - -<!-- ##### ARG SoupConnection:proxy-uri ##### --> -<para> - -</para> - -<!-- ##### ARG SoupConnection:ssl-creds ##### --> -<para> - -</para> - -<!-- ##### ARG SoupConnection:timeout ##### --> -<para> - -</para> - -<!-- ##### FUNCTION soup_connection_new ##### --> -<para> - -</para> - -@propname1: -@Varargs: -@Returns: - - -<!-- ##### USER_FUNCTION SoupConnectionCallback ##### --> -<para> - -</para> - -@conn: -@status: -@data: - - -<!-- ##### FUNCTION soup_connection_connect_async ##### --> -<para> - -</para> - -@conn: -@callback: -@user_data: - - -<!-- ##### FUNCTION soup_connection_connect_sync ##### --> -<para> - -</para> - -@conn: -@Returns: - - -<!-- ##### FUNCTION soup_connection_disconnect ##### --> -<para> - -</para> - -@conn: - - -<!-- ##### FUNCTION soup_connection_is_in_use ##### --> -<para> - -</para> - -@conn: -@Returns: - - -<!-- ##### FUNCTION soup_connection_last_used ##### --> -<para> - -</para> - -@conn: -@Returns: - - -<!-- ##### FUNCTION soup_connection_send_request ##### --> -<para> - -</para> - -@conn: -@req: - - -<!-- ##### FUNCTION soup_connection_authenticate ##### --> -<para> - -</para> - -@conn: -@msg: -@auth_type: -@auth_realm: -@username: -@password: - - -<!-- ##### FUNCTION soup_connection_reauthenticate ##### --> -<para> - -</para> - -@conn: -@msg: -@auth_type: -@auth_realm: -@username: -@password: - - -<!-- ##### FUNCTION soup_connection_release ##### --> -<para> - -</para> - -@conn: - - -<!-- ##### FUNCTION soup_connection_reserve ##### --> -<para> - -</para> - -@conn: - - -<!-- ##### MACRO SOUP_CONNECTION_ORIGIN_URI ##### --> -<para> -An alias for the "origin-uri" property. -</para> - - - -<!-- ##### MACRO SOUP_CONNECTION_PROXY_URI ##### --> -<para> -An alias for the "proxy-uri" property. -</para> - - - -<!-- ##### MACRO SOUP_CONNECTION_SSL_CREDENTIALS ##### --> -<para> -An alias for the "ssl-creds" property. -</para> - - - -<!-- ##### MACRO SOUP_CONNECTION_MESSAGE_FILTER ##### --> -<para> -An alias for the "message-filter" property. -</para> - - - -<!-- ##### MACRO SOUP_CONNECTION_ASYNC_CONTEXT ##### --> -<para> -An alias for the "async-context" property. -</para> - - - -<!-- ##### MACRO SOUP_CONNECTION_TIMEOUT ##### --> -<para> -An alias for the "timeout" property. -</para> - - - diff --git a/docs/reference/tmpl/soup-dns.sgml b/docs/reference/tmpl/soup-dns.sgml deleted file mode 100644 index bc13b525..00000000 --- a/docs/reference/tmpl/soup-dns.sgml +++ /dev/null @@ -1,123 +0,0 @@ -<!-- ##### SECTION Title ##### --> -soup-dns - -<!-- ##### SECTION Short_Description ##### --> -Low-level DNS routines - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### FUNCTION soup_dns_init ##### --> -<para> - -</para> - - - -<!-- ##### FUNCTION soup_dns_ntop ##### --> -<para> - -</para> - -@sa: -@Returns: - - -<!-- ##### TYPEDEF SoupDNSLookup ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_dns_lookup_name ##### --> -<para> - -</para> - -@name: -@Returns: - - -<!-- ##### FUNCTION soup_dns_lookup_address ##### --> -<para> - -</para> - -@sockaddr: -@Returns: - - -<!-- ##### FUNCTION soup_dns_lookup_resolve ##### --> -<para> - -</para> - -@lookup: -@Returns: - - -<!-- ##### USER_FUNCTION SoupDNSCallback ##### --> -<para> - -</para> - -@lookup: -@success: -@user_data: - - -<!-- ##### FUNCTION soup_dns_lookup_resolve_async ##### --> -<para> - -</para> - -@lookup: -@async_context: -@callback: -@user_data: - - -<!-- ##### FUNCTION soup_dns_lookup_cancel ##### --> -<para> - -</para> - -@lookup: - - -<!-- ##### FUNCTION soup_dns_lookup_get_hostname ##### --> -<para> - -</para> - -@lookup: -@Returns: - - -<!-- ##### FUNCTION soup_dns_lookup_get_address ##### --> -<para> - -</para> - -@lookup: -@Returns: - - -<!-- ##### FUNCTION soup_dns_lookup_free ##### --> -<para> - -</para> - -@lookup: - - diff --git a/docs/reference/tmpl/soup-md5-utils.sgml b/docs/reference/tmpl/soup-md5-utils.sgml deleted file mode 100644 index afb42b2b..00000000 --- a/docs/reference/tmpl/soup-md5-utils.sgml +++ /dev/null @@ -1,49 +0,0 @@ -<!-- ##### SECTION Title ##### --> -soup-md5-utils - -<!-- ##### SECTION Short_Description ##### --> -MD5 hash utilities - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### STRUCT SoupMD5Context ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_md5_init ##### --> -<para> - -</para> - -@ctx: - - -<!-- ##### FUNCTION soup_md5_update ##### --> -<para> - -</para> - -@ctx: -@buf: -@len: - - -<!-- ##### FUNCTION soup_md5_final ##### --> -<para> - -</para> - -@ctx: -@digest: - - diff --git a/docs/reference/tmpl/soup-message-filter.sgml b/docs/reference/tmpl/soup-message-filter.sgml deleted file mode 100644 index f1c02af5..00000000 --- a/docs/reference/tmpl/soup-message-filter.sgml +++ /dev/null @@ -1,28 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupMessageFilter - -<!-- ##### SECTION Short_Description ##### --> -Automatic message processing - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### FUNCTION soup_message_filter_setup_message ##### --> -<para> - -</para> - -@filter: -@msg: - - diff --git a/docs/reference/tmpl/soup-message-private.sgml b/docs/reference/tmpl/soup-message-private.sgml deleted file mode 100644 index 581531f2..00000000 --- a/docs/reference/tmpl/soup-message-private.sgml +++ /dev/null @@ -1,82 +0,0 @@ -<!-- ##### SECTION Title ##### --> -soup-message-private - -<!-- ##### SECTION Short_Description ##### --> - - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### FUNCTION soup_message_run_handlers ##### --> -<para> - -</para> - -@msg: -@phase: - - -<!-- ##### FUNCTION soup_message_cleanup_response ##### --> -<para> - -</para> - -@req: - - -<!-- ##### USER_FUNCTION SoupMessageGetHeadersFn ##### --> -<para> - -</para> - -@msg: -@headers: -@encoding: -@user_data: - - -<!-- ##### USER_FUNCTION SoupMessageParseHeadersFn ##### --> -<para> - -</para> - -@msg: -@headers: -@header_len: -@encoding: -@content_len: -@user_data: -@Returns: - - -<!-- ##### FUNCTION soup_message_io_client ##### --> -<para> - -</para> - -@msg: -@sock: -@get_headers_cb: -@parse_headers_cb: -@user_data: - - -<!-- ##### FUNCTION soup_message_io_server ##### --> -<para> - -</para> - -@msg: -@sock: -@get_headers_cb: -@parse_headers_cb: -@user_data: - - diff --git a/docs/reference/tmpl/soup-message-queue.sgml b/docs/reference/tmpl/soup-message-queue.sgml deleted file mode 100644 index 468f0d68..00000000 --- a/docs/reference/tmpl/soup-message-queue.sgml +++ /dev/null @@ -1,102 +0,0 @@ -<!-- ##### SECTION Title ##### --> -soup-message-queue - -<!-- ##### SECTION Short_Description ##### --> -Message queue object - -<!-- ##### SECTION Long_Description ##### --> -<para> -#SoupMessageQueue maintains the queue of pending messages in a -#SoupSession. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### TYPEDEF SoupMessageQueue ##### --> -<para> - -</para> - - -<!-- ##### STRUCT SoupMessageQueueIter ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_message_queue_new ##### --> -<para> - -</para> - -@Returns: - - -<!-- ##### FUNCTION soup_message_queue_append ##### --> -<para> - -</para> - -@queue: -@msg: - - -<!-- ##### FUNCTION soup_message_queue_first ##### --> -<para> - -</para> - -@queue: -@iter: -@Returns: - - -<!-- ##### FUNCTION soup_message_queue_next ##### --> -<para> - -</para> - -@queue: -@iter: -@Returns: - - -<!-- ##### FUNCTION soup_message_queue_remove ##### --> -<para> - -</para> - -@queue: -@iter: -@Returns: - - -<!-- ##### FUNCTION soup_message_queue_free_iter ##### --> -<para> - -</para> - -@queue: -@iter: - - -<!-- ##### FUNCTION soup_message_queue_destroy ##### --> -<para> - -</para> - -@queue: - - -<!-- ##### FUNCTION soup_message_queue_remove_message ##### --> -<para> - -</para> - -@queue: -@msg: - - diff --git a/docs/reference/tmpl/soup-message.sgml b/docs/reference/tmpl/soup-message.sgml deleted file mode 100644 index 195a394f..00000000 --- a/docs/reference/tmpl/soup-message.sgml +++ /dev/null @@ -1,522 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupMessage - -<!-- ##### SECTION Short_Description ##### --> -An HTTP request and response. - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupMessage ##### --> -<para> - -</para> - -@method: -@status_code: -@reason_phrase: -@request: -@request_headers: -@response: -@response_headers: -@status: - -<!-- ##### SIGNAL SoupMessage::finished ##### --> -<para> - -</para> - -@msg: - -<!-- ##### SIGNAL SoupMessage::got-body ##### --> -<para> - -</para> - -@msg: - -<!-- ##### SIGNAL SoupMessage::got-chunk ##### --> -<para> - -</para> - -@msg: - -<!-- ##### SIGNAL SoupMessage::got-headers ##### --> -<para> - -</para> - -@msg: - -<!-- ##### SIGNAL SoupMessage::got-informational ##### --> -<para> - -</para> - -@msg: - -<!-- ##### SIGNAL SoupMessage::restarted ##### --> -<para> - -</para> - -@msg: - -<!-- ##### SIGNAL SoupMessage::wrote-body ##### --> -<para> - -</para> - -@msg: - -<!-- ##### SIGNAL SoupMessage::wrote-chunk ##### --> -<para> - -</para> - -@msg: - -<!-- ##### SIGNAL SoupMessage::wrote-headers ##### --> -<para> - -</para> - -@msg: - -<!-- ##### SIGNAL SoupMessage::wrote-informational ##### --> -<para> - -</para> - -@msg: - -<!-- ##### ENUM SoupMessageStatus ##### --> -<para> - -</para> - -@SOUP_MESSAGE_STATUS_IDLE: -@SOUP_MESSAGE_STATUS_QUEUED: -@SOUP_MESSAGE_STATUS_CONNECTING: -@SOUP_MESSAGE_STATUS_RUNNING: -@SOUP_MESSAGE_STATUS_FINISHED: - -<!-- ##### MACRO SOUP_MESSAGE_IS_STARTING ##### --> - -<para> - -</para> - -@msg: -@Returns: - - -<!-- ##### ENUM SoupTransferEncoding ##### --> -<para> - -</para> - -@SOUP_TRANSFER_UNKNOWN: -@SOUP_TRANSFER_CHUNKED: -@SOUP_TRANSFER_CONTENT_LENGTH: -@SOUP_TRANSFER_BYTERANGES: -@SOUP_TRANSFER_NONE: -@SOUP_TRANSFER_EOF: - -<!-- ##### ENUM SoupOwnership ##### --> -<para> - -</para> - -@SOUP_BUFFER_SYSTEM_OWNED: -@SOUP_BUFFER_USER_OWNED: -@SOUP_BUFFER_STATIC: - -<!-- ##### STRUCT SoupDataBuffer ##### --> -<para> - -</para> - -@owner: -@body: -@length: - -<!-- ##### USER_FUNCTION SoupMessageCallbackFn ##### --> -<para> - -</para> - -@req: -@user_data: - - -<!-- ##### FUNCTION soup_message_new ##### --> -<para> - -</para> - -@method: -@uri_string: -@Returns: - - -<!-- ##### FUNCTION soup_message_new_from_uri ##### --> -<para> - -</para> - -@method: -@uri: -@Returns: - - -<!-- ##### FUNCTION soup_message_set_request ##### --> -<para> - -</para> - -@msg: -@content_type: -@req_owner: -@req_body: -@req_length: - - -<!-- ##### FUNCTION soup_message_set_response ##### --> -<para> - -</para> - -@msg: -@content_type: -@resp_owner: -@resp_body: -@resp_length: - - -<!-- ##### FUNCTION soup_message_add_header ##### --> -<para> - -</para> - -@hash: -@name: -@value: - - -<!-- ##### FUNCTION soup_message_get_header ##### --> -<para> - -</para> - -@hash: -@name: -@Returns: - - -<!-- ##### FUNCTION soup_message_get_header_list ##### --> -<para> - -</para> - -@hash: -@name: -@Returns: - - -<!-- ##### FUNCTION soup_message_foreach_header ##### --> -<para> - -</para> - -@hash: -@func: -@user_data: - - -<!-- ##### FUNCTION soup_message_remove_header ##### --> -<para> - -</para> - -@hash: -@name: - - -<!-- ##### FUNCTION soup_message_clear_headers ##### --> -<para> - -</para> - -@hash: - - -<!-- ##### ENUM SoupHttpVersion ##### --> -<para> - -</para> - -@SOUP_HTTP_1_0: -@SOUP_HTTP_1_1: - -<!-- ##### FUNCTION soup_message_set_http_version ##### --> -<para> - -</para> - -@msg: -@version: - - -<!-- ##### FUNCTION soup_message_get_http_version ##### --> -<para> - -</para> - -@msg: -@Returns: - - -<!-- ##### FUNCTION soup_message_get_uri ##### --> -<para> - -</para> - -@msg: -@Returns: - - -<!-- ##### FUNCTION soup_message_set_uri ##### --> -<para> - -</para> - -@msg: -@uri: - - -<!-- ##### ENUM SoupMessageFlags ##### --> -<para> - -</para> - -@SOUP_MESSAGE_NO_REDIRECT: -@SOUP_MESSAGE_OVERWRITE_CHUNKS: -@SOUP_MESSAGE_EXPECT_CONTINUE: - -<!-- ##### FUNCTION soup_message_set_flags ##### --> -<para> - -</para> - -@msg: -@flags: - - -<!-- ##### FUNCTION soup_message_get_flags ##### --> -<para> - -</para> - -@msg: -@Returns: - - -<!-- ##### FUNCTION soup_message_set_status ##### --> -<para> - -</para> - -@msg: -@status_code: - - -<!-- ##### FUNCTION soup_message_set_status_full ##### --> -<para> - -</para> - -@msg: -@status_code: -@reason_phrase: - - -<!-- ##### FUNCTION soup_message_add_chunk ##### --> -<para> - -</para> - -@msg: -@owner: -@body: -@length: - - -<!-- ##### FUNCTION soup_message_add_final_chunk ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_message_pop_chunk ##### --> -<para> - -</para> - -@msg: -@Returns: - - -<!-- ##### FUNCTION soup_message_is_keepalive ##### --> -<para> - -</para> - -@msg: -@Returns: - - -<!-- ##### FUNCTION soup_message_get_request_encoding ##### --> -<para> - -</para> - -@msg: -@content_length: -@Returns: - - -<!-- ##### FUNCTION soup_message_get_response_encoding ##### --> -<para> - -</para> - -@msg: -@content_length: -@Returns: - - -<!-- ##### ENUM SoupHandlerPhase ##### --> -<para> - -</para> - -@SOUP_HANDLER_POST_REQUEST: -@SOUP_HANDLER_PRE_BODY: -@SOUP_HANDLER_BODY_CHUNK: -@SOUP_HANDLER_POST_BODY: - -<!-- ##### FUNCTION soup_message_add_handler ##### --> -<para> - -</para> - -@msg: -@phase: -@handler_cb: -@user_data: - - -<!-- ##### FUNCTION soup_message_add_header_handler ##### --> -<para> - -</para> - -@msg: -@header: -@phase: -@handler_cb: -@user_data: - - -<!-- ##### FUNCTION soup_message_add_status_code_handler ##### --> -<para> - -</para> - -@msg: -@status_code: -@phase: -@handler_cb: -@user_data: - - -<!-- ##### FUNCTION soup_message_add_status_class_handler ##### --> -<para> - -</para> - -@msg: -@status_class: -@phase: -@handler_cb: -@user_data: - - -<!-- ##### FUNCTION soup_message_remove_handler ##### --> -<para> - -</para> - -@msg: -@phase: -@handler_cb: -@user_data: - - -<!-- ##### FUNCTION soup_message_send_request ##### --> -<para> - -</para> - -@req: -@sock: -@is_via_proxy: - - -<!-- ##### FUNCTION soup_message_read_request ##### --> -<para> - -</para> - -@req: -@sock: - - -<!-- ##### FUNCTION soup_message_io_pause ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_message_io_unpause ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_message_io_stop ##### --> -<para> - -</para> - -@msg: - - diff --git a/docs/reference/tmpl/soup-misc.sgml b/docs/reference/tmpl/soup-misc.sgml deleted file mode 100644 index 7f949d01..00000000 --- a/docs/reference/tmpl/soup-misc.sgml +++ /dev/null @@ -1,277 +0,0 @@ -<!-- ##### SECTION Title ##### --> -soup-misc - -<!-- ##### SECTION Short_Description ##### --> -Miscellaneous functions - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### FUNCTION soup_base64_decode ##### --> -<para> - -</para> - -@text: -@out_len: -@Returns: - - -<!-- ##### FUNCTION soup_base64_encode ##### --> -<para> - -</para> - -@text: -@len: -@Returns: - - -<!-- ##### FUNCTION soup_base64_decode_step ##### --> -<para> - -</para> - -@in: -@len: -@out: -@state: -@save: -@Returns: - - -<!-- ##### FUNCTION soup_base64_encode_step ##### --> -<para> - -</para> - -@in: -@len: -@break_lines: -@out: -@state: -@save: -@Returns: - - -<!-- ##### FUNCTION soup_base64_encode_close ##### --> -<para> - -</para> - -@in: -@inlen: -@break_lines: -@out: -@state: -@save: -@Returns: - - -<!-- ##### FUNCTION soup_add_idle ##### --> -<para> - -</para> - -@async_context: -@function: -@data: -@Returns: - - -<!-- ##### FUNCTION soup_add_io_watch ##### --> -<para> - -</para> - -@async_context: -@chan: -@condition: -@function: -@data: -@Returns: - - -<!-- ##### FUNCTION soup_add_timeout ##### --> -<para> - -</para> - -@async_context: -@interval: -@function: -@data: -@Returns: - - -<!-- ##### FUNCTION soup_signal_connect_once ##### --> -<para> - -</para> - -@instance: -@detailed_signal: -@c_handler: -@data: -@Returns: - - -<!-- ##### FUNCTION soup_date_parse ##### --> -<para> - -</para> - -@timestamp: -@Returns: - - -<!-- ##### FUNCTION soup_date_iso8601_parse ##### --> -<para> - -</para> - -@timestamp: -@Returns: - - -<!-- ##### FUNCTION soup_date_generate ##### --> -<para> - -</para> - -@when: -@Returns: - - -<!-- ##### FUNCTION soup_gmtime ##### --> -<para> - -</para> - -@when: -@tm: - - -<!-- ##### FUNCTION soup_mktime_utc ##### --> -<para> - -</para> - -@tm: -@Returns: - - -<!-- ##### FUNCTION soup_header_param_copy_token ##### --> -<para> - -</para> - -@tokens: -@t: -@Returns: - - -<!-- ##### FUNCTION soup_header_param_decode_token ##### --> -<para> - -</para> - -@in: -@Returns: - - -<!-- ##### FUNCTION soup_header_param_destroy_hash ##### --> -<para> - -</para> - -@table: - - -<!-- ##### FUNCTION soup_header_param_parse_list ##### --> -<para> - -</para> - -@header: -@Returns: - - -<!-- ##### FUNCTION soup_headers_parse_request ##### --> -<para> - -</para> - -@str: -@len: -@dest: -@req_method: -@req_path: -@ver: -@Returns: - - -<!-- ##### FUNCTION soup_headers_parse_response ##### --> -<para> - -</para> - -@str: -@len: -@dest: -@ver: -@status_code: -@reason_phrase: -@Returns: - - -<!-- ##### FUNCTION soup_headers_parse_status_line ##### --> -<para> - -</para> - -@status_line: -@ver: -@status_code: -@reason_phrase: -@Returns: - - -<!-- ##### FUNCTION soup_str_case_equal ##### --> -<para> - -</para> - -@v1: -@v2: -@Returns: - - -<!-- ##### FUNCTION soup_str_case_hash ##### --> -<para> - -</para> - -@key: -@Returns: - - -<!-- ##### FUNCTION soup_xml_real_node ##### --> -<para> - -</para> - -@node: -@Returns: - - diff --git a/docs/reference/tmpl/soup-server-auth.sgml b/docs/reference/tmpl/soup-server-auth.sgml deleted file mode 100644 index cbe22e33..00000000 --- a/docs/reference/tmpl/soup-server-auth.sgml +++ /dev/null @@ -1,127 +0,0 @@ -<!-- ##### SECTION Title ##### --> -soup-server-auth - -<!-- ##### SECTION Short_Description ##### --> -Server-side authentication structures - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### STRUCT SoupServerAuthContext ##### --> -<para> - -</para> - -@types: -@callback: -@user_data: - -<!-- ##### USER_FUNCTION SoupServerAuthCallbackFn ##### --> -<para> - -</para> - -@auth_ctx: -@auth: -@msg: -@data: -@Returns: - - -<!-- ##### FUNCTION soup_server_auth_context_challenge ##### --> -<para> - -</para> - -@auth_ctx: -@msg: -@header_name: - - -<!-- ##### ENUM SoupAuthType ##### --> -<para> - -</para> - -@SOUP_AUTH_TYPE_BASIC: -@SOUP_AUTH_TYPE_DIGEST: - -<!-- ##### STRUCT SoupServerAuthBasic ##### --> -<para> - -</para> - -@type: -@user: -@passwd: - -<!-- ##### ENUM SoupDigestAlgorithm ##### --> -<para> - -</para> - -@SOUP_ALGORITHM_MD5: -@SOUP_ALGORITHM_MD5_SESS: - -<!-- ##### STRUCT SoupServerAuthDigest ##### --> -<para> - -</para> - -@type: -@algorithm: -@integrity: -@realm: -@user: -@nonce: -@nonce_count: -@cnonce: -@digest_uri: -@digest_response: -@request_method: - -<!-- ##### FUNCTION soup_server_auth_new ##### --> -<para> - -</para> - -@auth_ctx: -@auth_hdrs: -@msg: -@Returns: - - -<!-- ##### FUNCTION soup_server_auth_free ##### --> -<para> - -</para> - -@auth: - - -<!-- ##### FUNCTION soup_server_auth_get_user ##### --> -<para> - -</para> - -@auth: -@Returns: - - -<!-- ##### FUNCTION soup_server_auth_check_passwd ##### --> -<para> - -</para> - -@auth: -@passwd: -@Returns: - - diff --git a/docs/reference/tmpl/soup-server-message.sgml b/docs/reference/tmpl/soup-server-message.sgml deleted file mode 100644 index d5ed721c..00000000 --- a/docs/reference/tmpl/soup-server-message.sgml +++ /dev/null @@ -1,95 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupServerMessage - -<!-- ##### SECTION Short_Description ##### --> -Server-side #SoupMessage - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupServerMessage ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_server_message_new ##### --> -<para> - -</para> - -@server: -@Returns: - - -<!-- ##### FUNCTION soup_server_message_get_server ##### --> -<para> - -</para> - -@smsg: -@Returns: - - -<!-- ##### FUNCTION soup_server_message_set_encoding ##### --> -<para> - -</para> - -@smsg: -@encoding: - - -<!-- ##### FUNCTION soup_server_message_get_encoding ##### --> -<para> - -</para> - -@smsg: -@Returns: - - -<!-- ##### FUNCTION soup_server_message_start ##### --> -<para> - -</para> - -@smsg: - - -<!-- ##### FUNCTION soup_server_message_is_started ##### --> -<para> - -</para> - -@smsg: -@Returns: - - -<!-- ##### FUNCTION soup_server_message_finish ##### --> -<para> - -</para> - -@smsg: - - -<!-- ##### FUNCTION soup_server_message_is_finished ##### --> -<para> - -</para> - -@smsg: -@Returns: - - diff --git a/docs/reference/tmpl/soup-server.sgml b/docs/reference/tmpl/soup-server.sgml deleted file mode 100644 index 29babd83..00000000 --- a/docs/reference/tmpl/soup-server.sgml +++ /dev/null @@ -1,249 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupServer - -<!-- ##### SECTION Short_Description ##### --> -HTTP server - -<!-- ##### SECTION Long_Description ##### --> -<para> -#SoupServer implements a simple HTTP server. -</para> - -<para> -This API is less stable than the soup client API, and will most likely -change in the next release. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupServer ##### --> -<para> - -</para> - - -<!-- ##### ARG SoupServer:async-context ##### --> -<para> - -</para> - -<!-- ##### ARG SoupServer:interface ##### --> -<para> - -</para> - -<!-- ##### ARG SoupServer:port ##### --> -<para> - -</para> - -<!-- ##### ARG SoupServer:ssl-cert-file ##### --> -<para> - -</para> - -<!-- ##### ARG SoupServer:ssl-key-file ##### --> -<para> - -</para> - -<!-- ##### STRUCT SoupServerContext ##### --> -<para> - -</para> - -@msg: -@path: -@method_id: -@auth: -@server: -@handler: -@sock: - -<!-- ##### USER_FUNCTION SoupServerCallbackFn ##### --> -<para> - -</para> - -@context: -@msg: -@user_data: - - -<!-- ##### USER_FUNCTION SoupServerUnregisterFn ##### --> -<para> - -</para> - -@server: -@handler: -@user_data: - - -<!-- ##### FUNCTION soup_server_new ##### --> -<para> - -</para> - -@optname1: -@Varargs: -@Returns: - - -<!-- ##### FUNCTION soup_server_get_protocol ##### --> -<para> - -</para> - -@serv: -@Returns: - - -<!-- ##### FUNCTION soup_server_get_port ##### --> -<para> - -</para> - -@serv: -@Returns: - - -<!-- ##### FUNCTION soup_server_get_listener ##### --> -<para> - -</para> - -@serv: -@Returns: - - -<!-- ##### FUNCTION soup_server_run ##### --> -<para> - -</para> - -@serv: - - -<!-- ##### FUNCTION soup_server_run_async ##### --> -<para> - -</para> - -@serv: - - -<!-- ##### FUNCTION soup_server_quit ##### --> -<para> - -</para> - -@serv: - - -<!-- ##### TYPEDEF SoupServerHandler ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_server_add_handler ##### --> -<para> - -</para> - -@serv: -@path: -@auth_ctx: -@callback: -@unreg: -@data: - - -<!-- ##### FUNCTION soup_server_remove_handler ##### --> -<para> - -</para> - -@serv: -@path: - - -<!-- ##### FUNCTION soup_server_get_handler ##### --> -<para> - -</para> - -@serv: -@path: -@Returns: - - -<!-- ##### FUNCTION soup_server_list_handlers ##### --> -<para> - -</para> - -@serv: -@Returns: - - -<!-- ##### FUNCTION soup_server_context_get_client_address ##### --> -<para> - -</para> - -@ctx: -@Returns: - - -<!-- ##### FUNCTION soup_server_context_get_client_host ##### --> -<para> - -</para> - -@ctx: -@Returns: - - -<!-- ##### MACRO SOUP_SERVER_PORT ##### --> -<para> -An alias for the "port" property. -</para> - - - -<!-- ##### MACRO SOUP_SERVER_INTERFACE ##### --> -<para> -An alias for the "interface" property. -</para> - - - -<!-- ##### MACRO SOUP_SERVER_SSL_CERT_FILE ##### --> -<para> -An alias for the "ssl-cert-file" property. -</para> - - - -<!-- ##### MACRO SOUP_SERVER_SSL_KEY_FILE ##### --> -<para> -An alias for the "ssl-key-file" property. -</para> - - - -<!-- ##### MACRO SOUP_SERVER_ASYNC_CONTEXT ##### --> -<para> -An alias for the "async-context" property. -</para> - - - diff --git a/docs/reference/tmpl/soup-session-async.sgml b/docs/reference/tmpl/soup-session-async.sgml deleted file mode 100644 index 54533242..00000000 --- a/docs/reference/tmpl/soup-session-async.sgml +++ /dev/null @@ -1,45 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupSessionAsync - -<!-- ##### SECTION Short_Description ##### --> -Soup session for asynchronous (main-loop-based) I/O. - -<!-- ##### SECTION Long_Description ##### --> -<para> -#SoupSessionASync is an implementation of #SoupSession that uses -non-blocking I/O via the glib main loop. It is intended for use in -single-threaded programs. -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupSessionAsync ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_session_async_new ##### --> -<para> - -</para> - -@Returns: - - -<!-- ##### FUNCTION soup_session_async_new_with_options ##### --> -<para> - -</para> - -@optname1: -@Varargs: -@Returns: - - diff --git a/docs/reference/tmpl/soup-session-sync.sgml b/docs/reference/tmpl/soup-session-sync.sgml deleted file mode 100644 index 63e3093f..00000000 --- a/docs/reference/tmpl/soup-session-sync.sgml +++ /dev/null @@ -1,49 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupSessionSync - -<!-- ##### SECTION Short_Description ##### --> -Soup session for blocking I/O in multithreaded programs. - -<!-- ##### SECTION Long_Description ##### --> -<para> -#SoupSessionSync is an implementation of #SoupSession that uses -synchronous I/O, intended for use in multi-threaded programs. -</para> - -<para> -Note that you cannot use soup_session_queue_message() with a -synchronous session. You can only use soup_session_send_message(). -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupSessionSync ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_session_sync_new ##### --> -<para> - -</para> - -@Returns: - - -<!-- ##### FUNCTION soup_session_sync_new_with_options ##### --> -<para> - -</para> - -@optname1: -@Varargs: -@Returns: - - diff --git a/docs/reference/tmpl/soup-session.sgml b/docs/reference/tmpl/soup-session.sgml deleted file mode 100644 index 4c5d80d9..00000000 --- a/docs/reference/tmpl/soup-session.sgml +++ /dev/null @@ -1,219 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupSession - -<!-- ##### SECTION Short_Description ##### --> -Soup session state object - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupSession ##### --> -<para> - -</para> - - -<!-- ##### SIGNAL SoupSession::authenticate ##### --> -<para> - -</para> - -@session: -@msg: -@auth_type: -@auth_realm: -@username: -@password: - -<!-- ##### SIGNAL SoupSession::reauthenticate ##### --> -<para> - -</para> - -@session: -@msg: -@auth_type: -@auth_realm: -@username: -@password: - -<!-- ##### ARG SoupSession:async-context ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSession:max-conns ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSession:max-conns-per-host ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSession:proxy-uri ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSession:ssl-ca-file ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSession:timeout ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSession:use-ntlm ##### --> -<para> - -</para> - -<!-- ##### FUNCTION soup_session_queue_message ##### --> -<para> - -</para> - -@session: -@msg: -@callback: -@user_data: - - -<!-- ##### FUNCTION soup_session_requeue_message ##### --> -<para> - -</para> - -@session: -@msg: - - -<!-- ##### FUNCTION soup_session_send_message ##### --> -<para> - -</para> - -@session: -@msg: -@Returns: - - -<!-- ##### FUNCTION soup_session_abort ##### --> -<para> - -</para> - -@session: - - -<!-- ##### FUNCTION soup_session_add_filter ##### --> -<para> - -</para> - -@session: -@filter: - - -<!-- ##### FUNCTION soup_session_cancel_message ##### --> -<para> - -</para> - -@session: -@msg: - - -<!-- ##### FUNCTION soup_session_get_connection ##### --> -<para> - -</para> - -@session: -@msg: -@try_pruning: -@is_new: -@Returns: - - -<!-- ##### FUNCTION soup_session_remove_filter ##### --> -<para> - -</para> - -@session: -@filter: - - -<!-- ##### FUNCTION soup_session_try_prune_connection ##### --> -<para> - -</para> - -@session: -@Returns: - - -<!-- ##### MACRO SOUP_SESSION_PROXY_URI ##### --> -<para> -An alias for the "proxy-uri" property. -</para> - - - -<!-- ##### MACRO SOUP_SESSION_MAX_CONNS ##### --> -<para> -An alias for the "max-conns" property. -</para> - - - -<!-- ##### MACRO SOUP_SESSION_MAX_CONNS_PER_HOST ##### --> -<para> -An alias for the "max-conns-per-host" property. -</para> - - - -<!-- ##### MACRO SOUP_SESSION_USE_NTLM ##### --> -<para> -An alias for the "use-ntlm" property. -</para> - - - -<!-- ##### MACRO SOUP_SESSION_SSL_CA_FILE ##### --> -<para> -An alias for the "ssl-ca-file" property. -</para> - - - -<!-- ##### MACRO SOUP_SESSION_ASYNC_CONTEXT ##### --> -<para> -An alias for the "async-context" property. -</para> - - - -<!-- ##### MACRO SOUP_SESSION_TIMEOUT ##### --> -<para> -An alias for the "timeout" property. -</para> - - - diff --git a/docs/reference/tmpl/soup-soap-message.sgml b/docs/reference/tmpl/soup-soap-message.sgml deleted file mode 100644 index 72c83ed4..00000000 --- a/docs/reference/tmpl/soup-soap-message.sgml +++ /dev/null @@ -1,333 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupSoapMessage - -<!-- ##### SECTION Short_Description ##### --> -A SOAP request - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupSoapMessage ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_soap_message_new ##### --> -<para> - -</para> - -@method: -@uri_string: -@standalone: -@xml_encoding: -@env_prefix: -@env_uri: -@Returns: - - -<!-- ##### FUNCTION soup_soap_message_new_from_uri ##### --> -<para> - -</para> - -@method: -@uri: -@standalone: -@xml_encoding: -@env_prefix: -@env_uri: -@Returns: - - -<!-- ##### FUNCTION soup_soap_message_start_envelope ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_end_envelope ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_start_body ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_end_body ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_start_element ##### --> -<para> - -</para> - -@msg: -@name: -@prefix: -@ns_uri: - - -<!-- ##### FUNCTION soup_soap_message_end_element ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_start_fault ##### --> -<para> - -</para> - -@msg: -@faultcode: -@faultstring: -@faultfactor: - - -<!-- ##### FUNCTION soup_soap_message_end_fault ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_start_fault_detail ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_end_fault_detail ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_start_header ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_end_header ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_start_header_element ##### --> -<para> - -</para> - -@msg: -@name: -@must_understand: -@actor_uri: -@prefix: -@ns_uri: - - -<!-- ##### FUNCTION soup_soap_message_end_header_element ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_write_int ##### --> -<para> - -</para> - -@msg: -@i: - - -<!-- ##### FUNCTION soup_soap_message_write_double ##### --> -<para> - -</para> - -@msg: -@d: - - -<!-- ##### FUNCTION soup_soap_message_write_base64 ##### --> -<para> - -</para> - -@msg: -@string: -@len: - - -<!-- ##### FUNCTION soup_soap_message_write_time ##### --> -<para> - -</para> - -@msg: -@timeval: - - -<!-- ##### FUNCTION soup_soap_message_write_string ##### --> -<para> - -</para> - -@msg: -@string: - - -<!-- ##### FUNCTION soup_soap_message_write_buffer ##### --> -<para> - -</para> - -@msg: -@buffer: -@len: - - -<!-- ##### FUNCTION soup_soap_message_set_element_type ##### --> -<para> - -</para> - -@msg: -@xsi_type: - - -<!-- ##### FUNCTION soup_soap_message_set_null ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_add_attribute ##### --> -<para> - -</para> - -@msg: -@name: -@value: -@prefix: -@ns_uri: - - -<!-- ##### FUNCTION soup_soap_message_add_namespace ##### --> -<para> - -</para> - -@msg: -@prefix: -@ns_uri: - - -<!-- ##### FUNCTION soup_soap_message_set_default_namespace ##### --> -<para> - -</para> - -@msg: -@ns_uri: - - -<!-- ##### FUNCTION soup_soap_message_set_encoding_style ##### --> -<para> - -</para> - -@msg: -@enc_style: - - -<!-- ##### FUNCTION soup_soap_message_reset ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_persist ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_soap_message_get_namespace_prefix ##### --> -<para> - -</para> - -@msg: -@ns_uri: -@Returns: - - -<!-- ##### FUNCTION soup_soap_message_get_xml_doc ##### --> -<para> - -</para> - -@msg: -@Returns: - - -<!-- ##### FUNCTION soup_soap_message_parse_response ##### --> -<para> - -</para> - -@msg: -@Returns: - - diff --git a/docs/reference/tmpl/soup-soap-response.sgml b/docs/reference/tmpl/soup-soap-response.sgml deleted file mode 100644 index 0bde3c00..00000000 --- a/docs/reference/tmpl/soup-soap-response.sgml +++ /dev/null @@ -1,200 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupSoapResponse - -<!-- ##### SECTION Short_Description ##### --> -A SOAP response - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupSoapResponse ##### --> -<para> - -</para> - - -<!-- ##### TYPEDEF SoupSoapParameter ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_soap_response_new ##### --> -<para> - -</para> - -@Returns: - - -<!-- ##### FUNCTION soup_soap_response_new_from_string ##### --> -<para> - -</para> - -@xmlstr: -@Returns: - - -<!-- ##### FUNCTION soup_soap_response_set_method_name ##### --> -<para> - -</para> - -@response: -@method_name: - - -<!-- ##### FUNCTION soup_soap_parameter_get_first_child ##### --> -<para> - -</para> - -@param: -@Returns: - - -<!-- ##### FUNCTION soup_soap_parameter_get_first_child_by_name ##### --> -<para> - -</para> - -@param: -@name: -@Returns: - - -<!-- ##### FUNCTION soup_soap_parameter_get_int_value ##### --> -<para> - -</para> - -@param: -@Returns: - - -<!-- ##### FUNCTION soup_soap_parameter_get_name ##### --> -<para> - -</para> - -@param: -@Returns: - - -<!-- ##### FUNCTION soup_soap_parameter_get_next_child ##### --> -<para> - -</para> - -@param: -@Returns: - - -<!-- ##### FUNCTION soup_soap_parameter_get_next_child_by_name ##### --> -<para> - -</para> - -@param: -@name: -@Returns: - - -<!-- ##### FUNCTION soup_soap_parameter_get_property ##### --> -<para> - -</para> - -@param: -@prop_name: -@Returns: - - -<!-- ##### FUNCTION soup_soap_parameter_get_string_value ##### --> -<para> - -</para> - -@param: -@Returns: - - -<!-- ##### FUNCTION soup_soap_response_from_string ##### --> -<para> - -</para> - -@response: -@xmlstr: -@Returns: - - -<!-- ##### FUNCTION soup_soap_response_get_first_parameter ##### --> -<para> - -</para> - -@response: -@Returns: - - -<!-- ##### FUNCTION soup_soap_response_get_first_parameter_by_name ##### --> -<para> - -</para> - -@response: -@name: -@Returns: - - -<!-- ##### FUNCTION soup_soap_response_get_method_name ##### --> -<para> - -</para> - -@response: -@Returns: - - -<!-- ##### FUNCTION soup_soap_response_get_next_parameter ##### --> -<para> - -</para> - -@response: -@from: -@Returns: - - -<!-- ##### FUNCTION soup_soap_response_get_next_parameter_by_name ##### --> -<para> - -</para> - -@response: -@from: -@name: -@Returns: - - -<!-- ##### FUNCTION soup_soap_response_get_parameters ##### --> -<para> - -</para> - -@response: -@Returns: - - diff --git a/docs/reference/tmpl/soup-socket.sgml b/docs/reference/tmpl/soup-socket.sgml deleted file mode 100644 index 0a86e703..00000000 --- a/docs/reference/tmpl/soup-socket.sgml +++ /dev/null @@ -1,348 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupSocket - -<!-- ##### SECTION Short_Description ##### --> -a network socket - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupSocket ##### --> -<para> - -</para> - - -<!-- ##### SIGNAL SoupSocket::connect-result ##### --> -<para> - -</para> - -@sock: -@status: - -<!-- ##### SIGNAL SoupSocket::disconnected ##### --> -<para> - -</para> - -@sock: - -<!-- ##### SIGNAL SoupSocket::new-connection ##### --> -<para> - -</para> - -@sock: -@new: - -<!-- ##### SIGNAL SoupSocket::readable ##### --> -<para> - -</para> - -@sock: - -<!-- ##### SIGNAL SoupSocket::writable ##### --> -<para> - -</para> - -@sock: - -<!-- ##### ARG SoupSocket:async-context ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSocket:cloexec ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSocket:is-server ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSocket:nodelay ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSocket:non-blocking ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSocket:reuseaddr ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSocket:ssl-creds ##### --> -<para> - -</para> - -<!-- ##### ARG SoupSocket:timeout ##### --> -<para> - -</para> - -<!-- ##### FUNCTION soup_socket_new ##### --> -<para> - -</para> - -@optname1: -@Varargs: -@Returns: - - -<!-- ##### FUNCTION soup_socket_connect ##### --> -<para> - -</para> - -@sock: -@remote_addr: -@Returns: - - -<!-- ##### FUNCTION soup_socket_listen ##### --> -<para> - -</para> - -@sock: -@local_addr: -@Returns: - - -<!-- ##### FUNCTION soup_socket_start_ssl ##### --> -<para> - -</para> - -@sock: -@Returns: - - -<!-- ##### FUNCTION soup_socket_start_proxy_ssl ##### --> -<para> - -</para> - -@sock: -@ssl_host: -@Returns: - - -<!-- ##### FUNCTION soup_socket_disconnect ##### --> -<para> - -</para> - -@sock: - - -<!-- ##### FUNCTION soup_socket_is_connected ##### --> -<para> - -</para> - -@sock: -@Returns: - - -<!-- ##### USER_FUNCTION SoupSocketCallback ##### --> -<para> - -</para> - -@sock: -@status: -@user_data: - - -<!-- ##### USER_FUNCTION SoupSocketListenerCallback ##### --> -<para> - -</para> - -@listener: -@sock: -@user_data: - - -<!-- ##### FUNCTION soup_socket_client_new_async ##### --> -<para> - -</para> - -@hostname: -@port: -@ssl_creds: -@callback: -@user_data: -@Returns: - - -<!-- ##### FUNCTION soup_socket_client_new_sync ##### --> -<para> - -</para> - -@hostname: -@port: -@ssl_creds: -@status_ret: -@Returns: - - -<!-- ##### FUNCTION soup_socket_server_new ##### --> -<para> - -</para> - -@local_addr: -@ssl_creds: -@callback: -@user_data: -@Returns: - - -<!-- ##### FUNCTION soup_socket_get_local_address ##### --> -<para> - -</para> - -@sock: -@Returns: - - -<!-- ##### FUNCTION soup_socket_get_remote_address ##### --> -<para> - -</para> - -@sock: -@Returns: - - -<!-- ##### ENUM SoupSocketIOStatus ##### --> -<para> - -</para> - -@SOUP_SOCKET_OK: -@SOUP_SOCKET_WOULD_BLOCK: -@SOUP_SOCKET_EOF: -@SOUP_SOCKET_ERROR: - -<!-- ##### FUNCTION soup_socket_read ##### --> -<para> - -</para> - -@sock: -@buffer: -@len: -@nread: -@Returns: - - -<!-- ##### FUNCTION soup_socket_read_until ##### --> -<para> - -</para> - -@sock: -@buffer: -@len: -@boundary: -@boundary_len: -@nread: -@got_boundary: -@Returns: - - -<!-- ##### FUNCTION soup_socket_write ##### --> -<para> - -</para> - -@sock: -@buffer: -@len: -@nwrote: -@Returns: - - -<!-- ##### MACRO SOUP_SOCKET_FLAG_NONBLOCKING ##### --> -<para> -An alias for the "non-blocking" property. -</para> - - - -<!-- ##### MACRO SOUP_SOCKET_FLAG_NODELAY ##### --> -<para> -An alias for the "nodelay" property. -</para> - - - -<!-- ##### MACRO SOUP_SOCKET_FLAG_REUSEADDR ##### --> -<para> -An alias for the "reuseaddr" property. -</para> - - - -<!-- ##### MACRO SOUP_SOCKET_FLAG_CLOEXEC ##### --> -<para> -An alias for the "cloexec" property. -</para> - - - -<!-- ##### MACRO SOUP_SOCKET_TIMEOUT ##### --> -<para> -An alias for the "timeout" property. -</para> - - - -<!-- ##### MACRO SOUP_SOCKET_IS_SERVER ##### --> -<para> -An alias for the "is-server" property. -</para> - - - -<!-- ##### MACRO SOUP_SOCKET_SSL_CREDENTIALS ##### --> -<para> -An alias for the "ssl-creds" property. -</para> - - - -<!-- ##### MACRO SOUP_SOCKET_ASYNC_CONTEXT ##### --> -<para> -An alias for the "async-context" property. -</para> - - - diff --git a/docs/reference/tmpl/soup-ssl.sgml b/docs/reference/tmpl/soup-ssl.sgml deleted file mode 100644 index 714c88eb..00000000 --- a/docs/reference/tmpl/soup-ssl.sgml +++ /dev/null @@ -1,110 +0,0 @@ -<!-- ##### SECTION Title ##### --> -soup-ssl - -<!-- ##### SECTION Short_Description ##### --> -SSL/TLS handling - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### VARIABLE soup_ssl_supported ##### --> -<para> - -</para> - - -<!-- ##### ENUM SoupSSLType ##### --> -<para> - -</para> - -@SOUP_SSL_TYPE_CLIENT: -@SOUP_SSL_TYPE_SERVER: - -<!-- ##### TYPEDEF SoupSSLCredentials ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_ssl_get_client_credentials ##### --> -<para> - -</para> - -@ca_file: -@Returns: - - -<!-- ##### FUNCTION soup_ssl_free_client_credentials ##### --> -<para> - -</para> - -@creds: - - -<!-- ##### FUNCTION soup_ssl_get_server_credentials ##### --> -<para> - -</para> - -@cert_file: -@key_file: -@Returns: - - -<!-- ##### FUNCTION soup_ssl_free_server_credentials ##### --> -<para> - -</para> - -@creds: - - -<!-- ##### FUNCTION soup_ssl_wrap_iochannel ##### --> -<para> - -</para> - -@sock: -@type: -@remote_host: -@creds: -@Returns: - - -<!-- ##### MACRO SOUP_SSL_ERROR ##### --> -<para> - -</para> - - - -<!-- ##### FUNCTION soup_ssl_error_quark ##### --> -<para> - -</para> - -@Returns: - - -<!-- ##### ENUM SoupSocketError ##### --> -<para> - -</para> - -@SOUP_SSL_ERROR_HANDSHAKE_NEEDS_READ: -@SOUP_SSL_ERROR_HANDSHAKE_NEEDS_WRITE: -@SOUP_SSL_ERROR_CERTIFICATE: - diff --git a/docs/reference/tmpl/soup-status.sgml b/docs/reference/tmpl/soup-status.sgml deleted file mode 100644 index b5d8f179..00000000 --- a/docs/reference/tmpl/soup-status.sgml +++ /dev/null @@ -1,152 +0,0 @@ -<!-- ##### SECTION Title ##### --> -soup-status - -<!-- ##### SECTION Short_Description ##### --> -HTTP and Soup status codes - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### ENUM SoupStatusClass ##### --> -<para> - -</para> - -@SOUP_STATUS_CLASS_TRANSPORT_ERROR: -@SOUP_STATUS_CLASS_INFORMATIONAL: -@SOUP_STATUS_CLASS_SUCCESS: -@SOUP_STATUS_CLASS_REDIRECT: -@SOUP_STATUS_CLASS_CLIENT_ERROR: -@SOUP_STATUS_CLASS_SERVER_ERROR: - -<!-- ##### MACRO SOUP_STATUS_IS_INFORMATIONAL ##### --> -<para> - -</para> - -@status: -@Returns: - - -<!-- ##### MACRO SOUP_STATUS_IS_SUCCESSFUL ##### --> -<para> - -</para> - -@status: -@Returns: - - -<!-- ##### MACRO SOUP_STATUS_IS_REDIRECTION ##### --> -<para> - -</para> - -@status: -@Returns: - - -<!-- ##### MACRO SOUP_STATUS_IS_CLIENT_ERROR ##### --> -<para> - -</para> - -@status: -@Returns: - - -<!-- ##### MACRO SOUP_STATUS_IS_SERVER_ERROR ##### --> -<para> - -</para> - -@status: -@Returns: - - -<!-- ##### ENUM SoupKnownStatusCode ##### --> -<para> - -</para> - -@SOUP_STATUS_NONE: -@SOUP_STATUS_CANCELLED: -@SOUP_STATUS_CANT_RESOLVE: -@SOUP_STATUS_CANT_RESOLVE_PROXY: -@SOUP_STATUS_CANT_CONNECT: -@SOUP_STATUS_CANT_CONNECT_PROXY: -@SOUP_STATUS_SSL_FAILED: -@SOUP_STATUS_IO_ERROR: -@SOUP_STATUS_MALFORMED: -@SOUP_STATUS_TRY_AGAIN: -@SOUP_STATUS_CONTINUE: -@SOUP_STATUS_SWITCHING_PROTOCOLS: -@SOUP_STATUS_PROCESSING: -@SOUP_STATUS_OK: -@SOUP_STATUS_CREATED: -@SOUP_STATUS_ACCEPTED: -@SOUP_STATUS_NON_AUTHORITATIVE: -@SOUP_STATUS_NO_CONTENT: -@SOUP_STATUS_RESET_CONTENT: -@SOUP_STATUS_PARTIAL_CONTENT: -@SOUP_STATUS_MULTI_STATUS: -@SOUP_STATUS_MULTIPLE_CHOICES: -@SOUP_STATUS_MOVED_PERMANENTLY: -@SOUP_STATUS_FOUND: -@SOUP_STATUS_MOVED_TEMPORARILY: -@SOUP_STATUS_SEE_OTHER: -@SOUP_STATUS_NOT_MODIFIED: -@SOUP_STATUS_USE_PROXY: -@SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL: -@SOUP_STATUS_TEMPORARY_REDIRECT: -@SOUP_STATUS_BAD_REQUEST: -@SOUP_STATUS_UNAUTHORIZED: -@SOUP_STATUS_PAYMENT_REQUIRED: -@SOUP_STATUS_FORBIDDEN: -@SOUP_STATUS_NOT_FOUND: -@SOUP_STATUS_METHOD_NOT_ALLOWED: -@SOUP_STATUS_NOT_ACCEPTABLE: -@SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED: -@SOUP_STATUS_PROXY_UNAUTHORIZED: -@SOUP_STATUS_REQUEST_TIMEOUT: -@SOUP_STATUS_CONFLICT: -@SOUP_STATUS_GONE: -@SOUP_STATUS_LENGTH_REQUIRED: -@SOUP_STATUS_PRECONDITION_FAILED: -@SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE: -@SOUP_STATUS_REQUEST_URI_TOO_LONG: -@SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE: -@SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE: -@SOUP_STATUS_INVALID_RANGE: -@SOUP_STATUS_EXPECTATION_FAILED: -@SOUP_STATUS_UNPROCESSABLE_ENTITY: -@SOUP_STATUS_LOCKED: -@SOUP_STATUS_FAILED_DEPENDENCY: -@SOUP_STATUS_INTERNAL_SERVER_ERROR: -@SOUP_STATUS_NOT_IMPLEMENTED: -@SOUP_STATUS_BAD_GATEWAY: -@SOUP_STATUS_SERVICE_UNAVAILABLE: -@SOUP_STATUS_GATEWAY_TIMEOUT: -@SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED: -@SOUP_STATUS_INSUFFICIENT_STORAGE: -@SOUP_STATUS_NOT_EXTENDED: - -<!-- ##### FUNCTION soup_status_get_phrase ##### --> -<para> - -</para> - -@status_code: -@Returns: - - diff --git a/docs/reference/tmpl/soup-uri.sgml b/docs/reference/tmpl/soup-uri.sgml deleted file mode 100644 index a3814d7b..00000000 --- a/docs/reference/tmpl/soup-uri.sgml +++ /dev/null @@ -1,146 +0,0 @@ -<!-- ##### SECTION Title ##### --> -soup-uri - -<!-- ##### SECTION Short_Description ##### --> -URIs - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupUri ##### --> -<para> - -</para> - -@protocol: -@user: -@passwd: -@host: -@port: -@path: -@query: -@fragment: -@broken_encoding: - -<!-- ##### TYPEDEF SoupProtocol ##### --> -<para> - -</para> - - -<!-- ##### MACRO SOUP_PROTOCOL_HTTP ##### --> -<para> - -</para> - - - -<!-- ##### MACRO SOUP_PROTOCOL_HTTPS ##### --> -<para> - -</para> - - - -<!-- ##### FUNCTION soup_uri_new_with_base ##### --> -<para> - -</para> - -@base: -@uri_string: -@Returns: - - -<!-- ##### FUNCTION soup_uri_new ##### --> -<para> - -</para> - -@uri_string: -@Returns: - - -<!-- ##### FUNCTION soup_uri_to_string ##### --> -<para> - -</para> - -@uri: -@just_path: -@Returns: - - -<!-- ##### FUNCTION soup_uri_copy ##### --> -<para> - -</para> - -@uri: -@Returns: - - -<!-- ##### FUNCTION soup_uri_copy_root ##### --> -<para> - -</para> - -@uri: -@Returns: - - -<!-- ##### FUNCTION soup_uri_equal ##### --> -<para> - -</para> - -@uri1: -@uri2: -@Returns: - - -<!-- ##### FUNCTION soup_uri_free ##### --> -<para> - -</para> - -@uri: - - -<!-- ##### FUNCTION soup_uri_encode ##### --> -<para> - -</para> - -@part: -@escape_extra: -@Returns: - - -<!-- ##### FUNCTION soup_uri_decode ##### --> -<para> - -</para> - -@part: - - -<!-- ##### FUNCTION soup_uri_uses_default_port ##### --> -<para> - -</para> - -@uri: -@Returns: - - diff --git a/docs/reference/tmpl/soup-xmlrpc-message.sgml b/docs/reference/tmpl/soup-xmlrpc-message.sgml deleted file mode 100644 index 93e4ce63..00000000 --- a/docs/reference/tmpl/soup-xmlrpc-message.sgml +++ /dev/null @@ -1,216 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupXmlrpcMessage - -<!-- ##### SECTION Short_Description ##### --> -An XML-RPC Message - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupXmlrpcMessage ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_xmlrpc_message_new ##### --> -<para> - -</para> - -@uri_string: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_message_new_from_uri ##### --> -<para> - -</para> - -@uri: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_message_from_string ##### --> -<para> - -</para> - -@message: -@xmlstr: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_message_start_call ##### --> -<para> - -</para> - -@msg: -@method_name: - - -<!-- ##### FUNCTION soup_xmlrpc_message_end_call ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_xmlrpc_message_start_param ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_xmlrpc_message_end_param ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_xmlrpc_message_write_int ##### --> -<para> - -</para> - -@msg: -@Param2: - - -<!-- ##### FUNCTION soup_xmlrpc_message_write_boolean ##### --> -<para> - -</para> - -@msg: -@b: - - -<!-- ##### FUNCTION soup_xmlrpc_message_write_string ##### --> -<para> - -</para> - -@msg: -@str: - - -<!-- ##### FUNCTION soup_xmlrpc_message_write_double ##### --> -<para> - -</para> - -@msg: -@d: - - -<!-- ##### FUNCTION soup_xmlrpc_message_write_datetime ##### --> -<para> - -</para> - -@msg: -@timeval: - - -<!-- ##### FUNCTION soup_xmlrpc_message_write_base64 ##### --> -<para> - -</para> - -@msg: -@buf: -@len: - - -<!-- ##### FUNCTION soup_xmlrpc_message_start_struct ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_xmlrpc_message_end_struct ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_xmlrpc_message_start_member ##### --> -<para> - -</para> - -@msg: -@name: - - -<!-- ##### FUNCTION soup_xmlrpc_message_end_member ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_xmlrpc_message_start_array ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_xmlrpc_message_end_array ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_xmlrpc_message_to_string ##### --> -<para> - -</para> - -@msg: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_message_persist ##### --> -<para> - -</para> - -@msg: - - -<!-- ##### FUNCTION soup_xmlrpc_message_parse_response ##### --> -<para> - -</para> - -@msg: -@Returns: - - diff --git a/docs/reference/tmpl/soup-xmlrpc-response.sgml b/docs/reference/tmpl/soup-xmlrpc-response.sgml deleted file mode 100644 index 2f678b28..00000000 --- a/docs/reference/tmpl/soup-xmlrpc-response.sgml +++ /dev/null @@ -1,231 +0,0 @@ -<!-- ##### SECTION Title ##### --> -SoupXmlrpcResponse - -<!-- ##### SECTION Short_Description ##### --> -An XML-RPC response - -<!-- ##### SECTION Long_Description ##### --> -<para> - -</para> - -<!-- ##### SECTION See_Also ##### --> -<para> - -</para> - -<!-- ##### SECTION Stability_Level ##### --> - - -<!-- ##### STRUCT SoupXmlrpcResponse ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_xmlrpc_response_new ##### --> -<para> - -</para> - -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_response_new_from_string ##### --> -<para> - -</para> - -@xmlstr: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_response_from_string ##### --> -<para> - -</para> - -@response: -@xmlstr: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_response_to_string ##### --> -<para> - -</para> - -@response: -@Returns: - - -<!-- ##### TYPEDEF SoupXmlrpcValue ##### --> -<para> - -</para> - - -<!-- ##### ENUM SoupXmlrpcValueType ##### --> -<para> - -</para> - -@SOUP_XMLRPC_VALUE_TYPE_BAD: -@SOUP_XMLRPC_VALUE_TYPE_INT: -@SOUP_XMLRPC_VALUE_TYPE_BOOLEAN: -@SOUP_XMLRPC_VALUE_TYPE_STRING: -@SOUP_XMLRPC_VALUE_TYPE_DOUBLE: -@SOUP_XMLRPC_VALUE_TYPE_DATETIME: -@SOUP_XMLRPC_VALUE_TYPE_BASE64: -@SOUP_XMLRPC_VALUE_TYPE_STRUCT: -@SOUP_XMLRPC_VALUE_TYPE_ARRAY: - -<!-- ##### FUNCTION soup_xmlrpc_response_is_fault ##### --> -<para> - -</para> - -@response: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_response_get_value ##### --> -<para> - -</para> - -@response: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_get_type ##### --> -<para> - -</para> - -@value: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_get_int ##### --> -<para> - -</para> - -@value: -@i: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_get_double ##### --> -<para> - -</para> - -@value: -@b: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_get_boolean ##### --> -<para> - -</para> - -@value: -@b: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_get_string ##### --> -<para> - -</para> - -@value: -@str: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_get_datetime ##### --> -<para> - -</para> - -@value: -@timeval: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_get_base64 ##### --> -<para> - -</para> - -@value: -@data: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_get_struct ##### --> -<para> - -</para> - -@value: -@table: -@Returns: - - -<!-- ##### TYPEDEF SoupXmlrpcValueArrayIterator ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION soup_xmlrpc_value_array_get_iterator ##### --> -<para> - -</para> - -@value: -@iter: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_array_iterator_prev ##### --> -<para> - -</para> - -@iter: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_array_iterator_next ##### --> -<para> - -</para> - -@iter: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_array_iterator_get_value ##### --> -<para> - -</para> - -@iter: -@value: -@Returns: - - -<!-- ##### FUNCTION soup_xmlrpc_value_dump ##### --> -<para> - -</para> - -@value: - - |