+2005-06-14 Dan Winship <danw@novell.com>
+
+ * libsoup/*.[ch]: add/fix gtk-doc comments, make functions match
+ prototypes, etc
+
+ * docs/reference/*: update, fix, etc
+
2005-06-13 Tor Lillqvist <tml@novell.com>
* configure.in: Check also for inet_ntop(). Pre-cache knowledge
<chapter>
<title>libsoup</title>
- <xi:include href="xml/soup-dns.xml"/>
<xi:include href="xml/soup-address.xml"/>
<xi:include href="xml/soup-auth.xml"/>
- <xi:include href="xml/soup-auth-basic.xml"/>
- <xi:include href="xml/soup-auth-digest.xml"/>
<xi:include href="xml/soup-connection.xml"/>
<xi:include href="xml/soup-connection-ntlm.xml"/>
- <xi:include href="xml/soup-headers.xml"/>
- <xi:include href="xml/soup-md5-utils.xml"/>
- <xi:include href="xml/soup-message-private.xml"/>
- <xi:include href="xml/soup-message-queue.xml"/>
+ <xi:include href="xml/soup-dns.xml"/>
<xi:include href="xml/soup-message.xml"/>
- <xi:include href="xml/soup-method.xml"/>
- <xi:include href="xml/soup-misc.xml"/>
- <xi:include href="xml/soup-server-auth.xml"/>
<xi:include href="xml/soup-server-message.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-socket.xml"/>
<xi:include href="xml/soup-ssl.xml"/>
+<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,
+int *len
+</FUNCTION>
<SECTION>
<FILE>soup-message</FILE>
+<TITLE>SoupMessage</TITLE>
+SoupMessage
SoupMessageStatus
SOUP_MESSAGE_IS_STARTING
SoupTransferEncoding
SoupOwnership
SoupDataBuffer
-<TITLE>SoupMessage</TITLE>
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
soup_message_set_http_version
soup_message_get_http_version
-soup_message_is_keepalive
soup_message_get_uri
soup_message_set_uri
SoupMessageFlags
soup_message_set_flags
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
+<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
-soup_message_set_status
-soup_message_set_status_full
-soup_message_add_chunk
-soup_message_add_final_chunk
-soup_message_pop_chunk
+<SUBSECTION>
soup_message_send_request
soup_message_read_request
-soup_message_io_cancel
soup_message_io_pause
soup_message_io_unpause
-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_io_stop
<SUBSECTION Standard>
SOUP_MESSAGE
SOUP_IS_MESSAGE
SOUP_IS_MESSAGE_CLASS
SOUP_MESSAGE_GET_CLASS
SoupMessageClass
-</SECTION>
-
-<SECTION>
-<FILE>soup-auth-digest</FILE>
-<TITLE>SoupAuthDigest</TITLE>
-SoupAuthDigest
-<SUBSECTION Standard>
-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
+SoupMessagePrivate
+SOUP_MESSAGE_GET_PRIVATE
+<SUBSECTION Private>
+SOUP_METHOD_OPTIONS
+SOUP_METHOD_GET
+SOUP_METHOD_HEAD
+SOUP_METHOD_PUT
+SOUP_METHOD_POST
+SOUP_METHOD_DELETE
+SOUP_METHOD_TRACE
+SOUP_METHOD_CONNECT
+SOUP_METHOD_PROPFIND
+SOUP_METHOD_PROPPATCH
+SOUP_METHOD_MKCOL
+SOUP_METHOD_COPY
+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
</SECTION>
<SECTION>
<SECTION>
<FILE>soup-server</FILE>
<TITLE>SoupServer</TITLE>
+SoupServer
SoupServerContext
SoupServerCallbackFn
SoupServerUnregisterFn
-SOUP_SERVER_PORT
-SOUP_SERVER_INTERFACE
-SOUP_SERVER_SSL_CERT_FILE
-SOUP_SERVER_SSL_KEY_FILE
soup_server_new
soup_server_get_protocol
soup_server_get_port
soup_server_run
soup_server_run_async
soup_server_quit
+SoupServerHandler
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
+SOUP_SERVER_PORT
+SOUP_SERVER_INTERFACE
+SOUP_SERVER_SSL_CERT_FILE
+SOUP_SERVER_SSL_KEY_FILE
<SUBSECTION Standard>
SOUP_SERVER
SOUP_IS_SERVER
<SECTION>
<FILE>soup-address</FILE>
<TITLE>SoupAddress</TITLE>
+SoupAddress
SoupAddressFamily
SOUP_ADDRESS_ANY_PORT
soup_address_new
soup_address_resolve_async
soup_address_resolve_sync
soup_address_get_name
+soup_address_get_sockaddr
soup_address_get_physical
soup_address_get_port
<SUBSECTION Standard>
soup_soap_message_persist
soup_soap_message_get_namespace_prefix
soup_soap_message_get_xml_doc
+soup_soap_message_parse_response
<SUBSECTION Standard>
-SOUP_SOAP_MESSAGE
SOUP_IS_SOAP_MESSAGE
-SOUP_TYPE_SOAP_MESSAGE
-soup_soap_message_get_type
-SOUP_SOAP_MESSAGE_CLASS
SOUP_IS_SOAP_MESSAGE_CLASS
+SOUP_SOAP_MESSAGE
+SOUP_SOAP_MESSAGE_CLASS
SOUP_SOAP_MESSAGE_GET_CLASS
+SOUP_TYPE_SOAP_MESSAGE
SoupSoapMessageClass
-SoupSoapMessagePrivate
+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
</SECTION>
<SECTION>
<FILE>soup-session</FILE>
<TITLE>SoupSession</TITLE>
+SoupSession
+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_PROXY_URI
SOUP_SESSION_MAX_CONNS
SOUP_SESSION_MAX_CONNS_PER_HOST
SOUP_SESSION_USE_NTLM
SOUP_SESSION_SSL_CA_FILE
-soup_session_queue_message
-soup_session_requeue_message
-soup_session_send_message
-soup_session_abort
<SUBSECTION Standard>
-SOUP_SESSION
SOUP_IS_SESSION
-SOUP_TYPE_SESSION
-soup_session_get_type
-SOUP_SESSION_CLASS
SOUP_IS_SESSION_CLASS
+SOUP_SESSION
+SOUP_SESSION_CLASS
SOUP_SESSION_GET_CLASS
+SOUP_TYPE_SESSION
SoupSessionClass
+soup_session_get_type
+</SECTION>
+
+<SECTION>
+<FILE>soup-session-async</FILE>
+<TITLE>SoupSessionAsync</TITLE>
+SoupSessionAsync
+soup_session_async_new
+soup_session_async_new_with_options
+<SUBSECTION Standard>
+SOUP_IS_SESSION_ASYNC
+SOUP_IS_SESSION_ASYNC_CLASS
+SOUP_SESSION_ASYNC
+SOUP_SESSION_ASYNC_CLASS
+SOUP_SESSION_ASYNC_GET_CLASS
+SOUP_TYPE_SESSION_ASYNC
+SoupSessionAsyncClass
+soup_session_async_get_type
+</SECTION>
+
+<SECTION>
+<FILE>soup-session-sync</FILE>
+<TITLE>SoupSessionSync</TITLE>
+SoupSessionSync
+soup_session_sync_new
+soup_session_sync_new_with_options
+<SUBSECTION Standard>
+SOUP_IS_SESSION_SYNC
+SOUP_IS_SESSION_SYNC_CLASS
+SOUP_SESSION_SYNC
+SOUP_SESSION_SYNC_CLASS
+SOUP_SESSION_SYNC_GET_CLASS
+SOUP_TYPE_SESSION_SYNC
+SoupSessionSyncClass
+soup_session_sync_get_type
</SECTION>
<SECTION>
<FILE>soup-auth</FILE>
<TITLE>SoupAuth</TITLE>
SoupAuth
+SoupAuthBasic
+SoupAuthDigest
soup_auth_new_from_header_list
soup_auth_get_scheme_name
soup_auth_get_realm
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>
<FILE>soup-socket</FILE>
<TITLE>SoupSocket</TITLE>
-SOUP_SOCKET_FLAG_NONBLOCKING
-SOUP_SOCKET_FLAG_NODELAY
-SOUP_SOCKET_FLAG_REUSEADDR
-SOUP_SOCKET_IS_SERVER
-SOUP_SOCKET_SSL_CREDENTIALS
+SoupSocket
soup_socket_new
soup_socket_connect
soup_socket_listen
soup_socket_start_ssl
+soup_socket_start_proxy_ssl
soup_socket_disconnect
soup_socket_is_connected
SoupSocketCallback
soup_socket_read
soup_socket_read_until
soup_socket_write
+SOUP_SOCKET_FLAG_NONBLOCKING
+SOUP_SOCKET_FLAG_NODELAY
+SOUP_SOCKET_FLAG_REUSEADDR
+SOUP_SOCKET_IS_SERVER
+SOUP_SOCKET_SSL_CREDENTIALS
<SUBSECTION Standard>
SOUP_SOCKET
SOUP_IS_SOCKET
</SECTION>
<SECTION>
-<FILE>soup-auth-basic</FILE>
-<TITLE>SoupAuthBasic</TITLE>
-SoupAuthBasic
-<SUBSECTION Standard>
-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
-</SECTION>
-
-<SECTION>
<FILE>soup-connection</FILE>
<TITLE>SoupConnection</TITLE>
-SOUP_CONNECTION_ORIGIN_URI
-SOUP_CONNECTION_PROXY_URI
-SOUP_CONNECTION_SSL_CREDENTIALS
+SoupConnection
soup_connection_new
SoupConnectionCallback
soup_connection_connect_async
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
<SUBSECTION Standard>
SOUP_CONNECTION
SOUP_IS_CONNECTION
<SECTION>
<FILE>soup-server-message</FILE>
<TITLE>SoupServerMessage</TITLE>
+SoupServerMessage
soup_server_message_new
soup_server_message_get_server
soup_server_message_set_encoding
</SECTION>
<SECTION>
-<FILE>soup-message-queue</FILE>
-SoupMessageQueueIter
-soup_message_queue_new
-soup_message_queue_append
-soup_message_queue_first
-soup_message_queue_next
-soup_message_queue_remove
-soup_message_queue_free_iter
-soup_message_queue_destroy
-soup_message_queue_remove_message
-</SECTION>
-
-<SECTION>
-<FILE>soup-md5-utils</FILE>
-SoupMD5Context
-soup_md5_init
-soup_md5_update
-soup_md5_final
-</SECTION>
-
-<SECTION>
-<FILE>soup-server-auth</FILE>
-SoupServerAuthCallbackFn
-soup_server_auth_context_challenge
-SoupAuthType
-SoupServerAuthBasic
-SoupDigestAlgorithm
-SoupServerAuthDigest
-soup_server_auth_new
-soup_server_auth_free
-soup_server_auth_get_user
-soup_server_auth_check_passwd
-</SECTION>
-
-<SECTION>
<FILE>soup-dns</FILE>
-soup_dns_entry_from_name
-soup_dns_entry_from_addr
-soup_dns_entry_check_lookup
-soup_dns_entry_cancel_lookup
-soup_dns_free_hostent
+soup_dns_init
soup_dns_ntop
-</SECTION>
-
-<SECTION>
-<FILE>soup-headers</FILE>
-soup_headers_parse_request
-soup_headers_parse_status_line
-soup_headers_parse_response
-soup_header_param_decode_token
-soup_header_param_parse_list
-soup_header_param_copy_token
-soup_header_param_destroy_hash
+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>
soup_ssl_get_server_credentials
soup_ssl_free_server_credentials
soup_ssl_wrap_iochannel
+SOUP_SSL_ERROR
+soup_ssl_error_quark
+SoupSocketError
</SECTION>
<SECTION>
<FILE>soup-uri</FILE>
+SoupUri
SoupProtocol
SOUP_PROTOCOL_HTTP
SOUP_PROTOCOL_HTTPS
</SECTION>
<SECTION>
-<FILE>soup-message-private</FILE>
-soup_message_run_handlers
-soup_message_cleanup
-soup_message_cleanup_response
-SoupMessageGetHeadersFn
-SoupMessageParseHeadersFn
-soup_message_io_client
-soup_message_io_server
-</SECTION>
-
-<SECTION>
-<FILE>soup-method</FILE>
-SOUP_METHOD_POST
-SOUP_METHOD_GET
-SOUP_METHOD_HEAD
-SOUP_METHOD_OPTIONS
-SOUP_METHOD_PUT
-SOUP_METHOD_MOVE
-SOUP_METHOD_COPY
-SOUP_METHOD_DELETE
-SOUP_METHOD_TRACE
-SOUP_METHOD_CONNECT
-SOUP_METHOD_MKCOL
-SOUP_METHOD_PROPPATCH
-SOUP_METHOD_PROPFIND
-SOUP_METHOD_PATCH
-SOUP_METHOD_LOCK
-SOUP_METHOD_UNLOCK
-SoupMethodId
-soup_method_get_id
-</SECTION>
-
-<SECTION>
-<FILE>soup-misc</FILE>
-soup_base64_encode
-soup_base64_encode_close
-soup_base64_encode_step
-soup_base64_decode
-soup_base64_decode_step
-soup_signal_connect_once
-soup_str_case_hash
-soup_str_case_equal
-soup_ssl_supported
+<FILE>soup-message-filter</FILE>
+<TITLE>SoupMessageFilter</TITLE>
+soup_message_filter_setup_message
+<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
</SECTION>
#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>
soup_address_get_type
soup_connection_get_type
soup_connection_ntlm_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
-<!-- ##### SECTION ./tmpl/soup-marshal.sgml:Long_Description ##### -->
+<!-- ##### 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-marshal.sgml:See_Also ##### -->
+<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:See_Also ##### -->
<para>
</para>
-<!-- ##### SECTION ./tmpl/soup-marshal.sgml:Short_Description ##### -->
+<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:Short_Description ##### -->
+HTTP Digest Authentication
+<!-- ##### SECTION ./tmpl/soup-auth-digest.sgml:Title ##### -->
+SoupAuthDigest
-<!-- ##### SECTION ./tmpl/soup-marshal.sgml:Title ##### -->
-soup-marshal
+
+<!-- ##### SECTION ./tmpl/soup-md5-utils.sgml:Long_Description ##### -->
+<para>
+
+</para>
-<!-- ##### SECTION ./tmpl/soup-socket-ssl.sgml:Long_Description ##### -->
+<!-- ##### SECTION ./tmpl/soup-md5-utils.sgml:See_Also ##### -->
<para>
</para>
-<!-- ##### SECTION ./tmpl/soup-socket-ssl.sgml:See_Also ##### -->
+<!-- ##### 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-private.sgml:Long_Description ##### -->
<para>
</para>
-<!-- ##### SECTION ./tmpl/soup-socket-ssl.sgml:Short_Description ##### -->
+<!-- ##### SECTION ./tmpl/soup-message-private.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION ./tmpl/soup-message-private.sgml:Short_Description ##### -->
-<!-- ##### SECTION ./tmpl/soup-socket-ssl.sgml:Title ##### -->
-SoupSocketSSL
+<!-- ##### SECTION ./tmpl/soup-message-private.sgml:Title ##### -->
+soup-message-private
-<!-- ##### SECTION ./tmpl/soup-types.sgml:Long_Description ##### -->
+
+<!-- ##### 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-types.sgml:See_Also ##### -->
+<!-- ##### SECTION ./tmpl/soup-message-queue.sgml:Short_Description ##### -->
+Message queue object
+
+
+<!-- ##### SECTION ./tmpl/soup-message-queue.sgml:Title ##### -->
+soup-message-queue
+
+
+<!-- ##### SECTION ./tmpl/soup-misc.sgml:Long_Description ##### -->
<para>
</para>
-<!-- ##### SECTION ./tmpl/soup-types.sgml:Short_Description ##### -->
+<!-- ##### SECTION ./tmpl/soup-misc.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION ./tmpl/soup-misc.sgml:Short_Description ##### -->
+Miscellaneous functions
-<!-- ##### SECTION ./tmpl/soup-types.sgml:Title ##### -->
-soup-types
+<!-- ##### SECTION ./tmpl/soup-misc.sgml:Title ##### -->
+soup-misc
-<!-- ##### SECTION ./tmpl/soup.sgml:Long_Description ##### -->
+<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:Long_Description ##### -->
<para>
</para>
-<!-- ##### SECTION ./tmpl/soup.sgml:See_Also ##### -->
+<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:See_Also ##### -->
<para>
</para>
-<!-- ##### SECTION ./tmpl/soup.sgml:Short_Description ##### -->
+<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:Short_Description ##### -->
+Server-side authentication structures
+<!-- ##### SECTION ./tmpl/soup-server-auth.sgml:Title ##### -->
+soup-server-auth
-<!-- ##### SECTION ./tmpl/soup.sgml:Title ##### -->
-soup
+<!-- ##### ENUM SoupAuthType ##### -->
+<para>
+
+</para>
+
+@SOUP_AUTH_TYPE_BASIC:
+@SOUP_AUTH_TYPE_DIGEST:
+
+<!-- ##### ENUM SoupDigestAlgorithm ##### -->
+<para>
+
+</para>
+
+@SOUP_ALGORITHM_MD5:
+@SOUP_ALGORITHM_MD5_SESS:
-<!-- ##### MACRO SOUP_MAKE_TYPE ##### -->
+<!-- ##### STRUCT SoupMD5Context ##### -->
<para>
</para>
-@l:
-@t:
-@ci:
-@i:
-@parent:
-<!-- ##### STRUCT SoupAddress ##### -->
+<!-- ##### USER_FUNCTION SoupMessageGetHeadersFn ##### -->
<para>
</para>
+@msg:
+@headers:
+@encoding:
+@user_data:
-<!-- ##### STRUCT SoupSoapMessagePrivate ##### -->
+<!-- ##### USER_FUNCTION SoupMessageParseHeadersFn ##### -->
<para>
</para>
+@msg:
+@headers:
+@header_len:
+@encoding:
+@content_len:
+@user_data:
+@Returns:
-<!-- ##### MACRO soup_marshal_NONE__INT ##### -->
+<!-- ##### TYPEDEF SoupMessageQueue ##### -->
<para>
</para>
-<!-- ##### MACRO soup_marshal_NONE__NONE ##### -->
+<!-- ##### STRUCT SoupMessageQueueIter ##### -->
<para>
</para>
-<!-- ##### MACRO soup_marshal_NONE__OBJECT ##### -->
+<!-- ##### STRUCT SoupServerAuthBasic ##### -->
<para>
</para>
+@type:
+@user:
+@passwd:
-<!-- ##### MACRO soup_marshal_NONE__OBJECT_STRING_STRING_POINTER_POINTER ##### -->
+<!-- ##### USER_FUNCTION SoupServerAuthCallbackFn ##### -->
<para>
</para>
+@auth_ctx:
+@auth:
+@msg:
+@data:
+@Returns:
-<!-- ##### MACRO soup_marshal_VOID__INT ##### -->
+<!-- ##### STRUCT SoupServerAuthContext ##### -->
<para>
</para>
+@types:
+@callback:
+@user_data:
-<!-- ##### MACRO soup_marshal_VOID__OBJECT ##### -->
+<!-- ##### STRUCT SoupServerAuthDigest ##### -->
<para>
</para>
+@type:
+@algorithm:
+@integrity:
+@realm:
+@user:
+@nonce:
+@nonce_count:
+@cnonce:
+@digest_uri:
+@digest_response:
+@request_method:
+
+<!-- ##### FUNCTION soup_base64_decode ##### -->
+<para>
+
+</para>
-<!-- ##### FUNCTION soup_marshal_VOID__OBJECT_STRING_STRING_POINTER_POINTER ##### -->
+@text:
+@out_len:
+@Returns:
+
+<!-- ##### FUNCTION soup_base64_decode_step ##### -->
<para>
</para>
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
+@in:
+@len:
+@out:
+@state:
+@save:
+@Returns:
-<!-- ##### MACRO soup_marshal_VOID__VOID ##### -->
+<!-- ##### FUNCTION soup_base64_encode ##### -->
<para>
</para>
+@text:
+@len:
+@Returns:
-<!-- ##### FUNCTION soup_message_cancel ##### -->
+<!-- ##### FUNCTION soup_base64_encode_close ##### -->
<para>
</para>
-@msg:
-@req:
+@in:
+@inlen:
+@break_lines:
+@out:
+@state:
+@save:
+@Returns:
-<!-- ##### FUNCTION soup_message_cleanup ##### -->
+<!-- ##### FUNCTION soup_base64_encode_step ##### -->
+<para>
+
+</para>
+
+@in:
+@len:
+@break_lines:
+@out:
+@state:
+@save:
+@Returns:
+
+<!-- ##### FUNCTION soup_md5_final ##### -->
+<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_io_cancel ##### -->
+<!-- ##### 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_session_new ##### -->
+<!-- ##### 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:
+
+<!-- ##### FUNCTION soup_signal_connect_once ##### -->
+<para>
+
+</para>
+
+@instance:
+@detailed_signal:
+@c_handler:
+@data:
+@Returns:
+
+<!-- ##### VARIABLE soup_ssl_supported ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION soup_str_case_equal ##### -->
<para>
</para>
+@v1:
+@v2:
@Returns:
-<!-- ##### FUNCTION soup_session_new_with_options ##### -->
+<!-- ##### FUNCTION soup_str_case_hash ##### -->
<para>
</para>
-@optname1:
-@Varargs:
+@key:
@Returns:
</para>
+<!-- ##### STRUCT SoupAddress ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SIGNAL SoupAddress::dns-result ##### -->
+<para>
+
+</para>
+
+@addr:
+@status:
+
<!-- ##### ENUM SoupAddressFamily ##### -->
<para>
-The supported address families. Note that the
-%SOUP_ADDRESS_FAMILY_IPV6 constant is available even if libsoup was
-built without IPv6 support, but attempting to create an IPv6 address
-will fail in that case.
+
</para>
-@SOUP_ADDRESS_FAMILY_IPV4: an IPv4 address
-@SOUP_ADDRESS_FAMILY_IPV6: an IPv6 address
+@SOUP_ADDRESS_FAMILY_IPV4:
+@SOUP_ADDRESS_FAMILY_IPV6:
<!-- ##### MACRO SOUP_ADDRESS_ANY_PORT ##### -->
<para>
-This can be passed to any #SoupAddress method that expects a port to
-indicate that you don't care what port is used.
+
</para>
<!-- ##### USER_FUNCTION SoupAddressCallback ##### -->
<para>
-The callback function passed to soup_address_resolve_async().
+
</para>
-@addr: the #SoupAddress that was resolved
-@status: %SOUP_STATUS_OK or %SOUP_STATUS_CANT_RESOLVE
-@data: the user data that was passed to soup_address_resolve_async()
+@addr:
+@status:
+@data:
<!-- ##### FUNCTION soup_address_resolve_async ##### -->
@Returns:
+<!-- ##### FUNCTION soup_address_get_sockaddr ##### -->
+<para>
+
+</para>
+
+@addr:
+@len:
+@Returns:
+
+
<!-- ##### FUNCTION soup_address_get_physical ##### -->
<para>
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-SoupAuthBasic
-
-<!-- ##### SECTION Short_Description ##### -->
-HTTP Basic Authentication
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-This implements the Basic HTTP Authentication mechanism, as described
-in RFC 2617.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### STRUCT SoupAuthBasic ##### -->
-<para>
-
-</para>
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-SoupAuthDigest
-
-<!-- ##### SECTION Short_Description ##### -->
-HTTP Digest Authentication
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-This implements the Digest HTTP Authentication mechanism, as described
-in RFC 2617.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### STRUCT SoupAuthDigest ##### -->
-<para>
-
-</para>
-
-
by #SoupSession.
</para>
+<!-- ##### SECTION See_Also ##### -->
<para>
-#SoupAuth itself is an abstract class. Specific HTTP Authentication
-mechanisms are implemented by its subclasses. (NTLM authentication,
-which works quite differently from normal HTTP authentication, is
-handled by #SoupConnectionNTLM.)
+#SoupSession, #SoupConnectionNTLM
</para>
-<!-- ##### SECTION See_Also ##### -->
+<!-- ##### STRUCT SoupAuth ##### -->
<para>
-SoupAuthBasic, SoupAuthDigest, SoupSession, SoupConnectionNTLM
+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 SoupAuth ##### -->
+
+<!-- ##### STRUCT SoupAuthBasic ##### -->
<para>
+An object representing Basic HTTP authentication.
+</para>
+
+<!-- ##### STRUCT SoupAuthDigest ##### -->
+<para>
+An object representing Digest HTTP authentication.
</para>
</para>
-@header:
+@vals:
@Returns:
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 ##### -->
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>
-<!-- ##### MACRO SOUP_CONNECTION_ORIGIN_URI ##### -->
+<!-- ##### STRUCT SoupConnection ##### -->
<para>
</para>
+<!-- ##### SIGNAL SoupConnection::authenticate ##### -->
+<para>
-<!-- ##### MACRO SOUP_CONNECTION_PROXY_URI ##### -->
+</para>
+
+@conn:
+@msg:
+@auth_type:
+@auth_realm:
+@username:
+@password:
+
+<!-- ##### SIGNAL SoupConnection::connect-result ##### -->
<para>
</para>
+@conn:
+@status:
+
+<!-- ##### SIGNAL SoupConnection::disconnected ##### -->
+<para>
+</para>
-<!-- ##### MACRO SOUP_CONNECTION_SSL_CREDENTIALS ##### -->
+@conn:
+
+<!-- ##### SIGNAL SoupConnection::reauthenticate ##### -->
<para>
</para>
+@conn:
+@msg:
+@auth_type:
+@auth_realm:
+@username:
+@password:
+
+<!-- ##### ARG SoupConnection:message-filter ##### -->
+<para>
+
+</para>
+<!-- ##### ARG SoupConnection:origin-uri ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG SoupConnection:proxy-uri ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG SoupConnection:ssl-creds ##### -->
+<para>
+
+</para>
<!-- ##### FUNCTION soup_connection_new ##### -->
<para>
<!-- ##### USER_FUNCTION SoupConnectionCallback ##### -->
<para>
-The callback function passed to soup_connection_connect_async().
+
</para>
-@conn: the #SoupConnection
-@status: an HTTP status code indicating success or failure
-@data: the data passed to soup_connection_connect_async()
+@conn:
+@status:
+@data:
<!-- ##### FUNCTION soup_connection_connect_async ##### -->
@conn:
@callback:
@user_data:
-<!-- # Unused Parameters # -->
-@Param2:
<!-- ##### FUNCTION soup_connection_connect_sync ##### -->
@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>
+
+
+
</para>
-<!-- ##### FUNCTION soup_dns_entry_from_name ##### -->
+<!-- ##### FUNCTION soup_dns_init ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION soup_dns_ntop ##### -->
+<para>
+
+</para>
+
+@sa:
+@Returns:
+<!-- # Unused Parameters # -->
+@address:
+
+
+<!-- ##### TYPEDEF SoupDNSLookup ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION soup_dns_lookup_name ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION soup_dns_entry_from_addr ##### -->
+<!-- ##### FUNCTION soup_dns_lookup_address ##### -->
<para>
</para>
-@addr:
-@family:
+@sockaddr:
@Returns:
+<!-- # Unused Parameters # -->
+@address:
-<!-- ##### FUNCTION soup_dns_entry_check_lookup ##### -->
+<!-- ##### FUNCTION soup_dns_lookup_resolve ##### -->
<para>
</para>
-@entry:
+@lookup:
@Returns:
-<!-- ##### FUNCTION soup_dns_entry_cancel_lookup ##### -->
+<!-- ##### USER_FUNCTION SoupDNSCallback ##### -->
<para>
</para>
-@entry:
+@lookup:
+@success:
+@user_data:
-<!-- ##### FUNCTION soup_dns_free_hostent ##### -->
+<!-- ##### FUNCTION soup_dns_lookup_resolve_async ##### -->
<para>
</para>
-@h:
+@lookup:
+@callback:
+@user_data:
-<!-- ##### FUNCTION soup_dns_ntop ##### -->
+<!-- ##### FUNCTION soup_dns_lookup_cancel ##### -->
<para>
</para>
-@addr:
-@family:
+@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:
+
+
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-soup-headers
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION soup_headers_parse_request ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@dest:
-@req_method:
-@req_path:
-@ver:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_headers_parse_status_line ##### -->
-<para>
-
-</para>
-
-@status_line:
-@ver:
-@status_code:
-@status_phrase:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_headers_parse_response ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@dest:
-@ver:
-@status_code:
-@status_phrase:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_header_param_decode_token ##### -->
-<para>
-
-</para>
-
-@in:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_header_param_parse_list ##### -->
-<para>
-
-</para>
-
-@header:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_header_param_copy_token ##### -->
-<para>
-
-</para>
-
-@tokens:
-@t:
-@Returns:
-
-
-<!-- ##### FUNCTION soup_header_param_destroy_hash ##### -->
-<para>
-
-</para>
-
-@table:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-soup-marshal
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### MACRO soup_marshal_VOID__VOID ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO soup_marshal_NONE__NONE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO soup_marshal_VOID__INT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO soup_marshal_NONE__INT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO soup_marshal_VOID__OBJECT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO soup_marshal_NONE__OBJECT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION soup_marshal_VOID__OBJECT_STRING_STRING_POINTER_POINTER ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### MACRO soup_marshal_NONE__OBJECT_STRING_STRING_POINTER_POINTER ##### -->
-<para>
-
-</para>
-
-
-
soup-md5-utils
<!-- ##### SECTION Short_Description ##### -->
-
+MD5 hash utilities
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
-@buf:
-@bits:
-@in:
-@doByteReverse:
<!-- ##### FUNCTION soup_md5_init ##### -->
<para>
<!-- ##### SECTION Title ##### -->
-soup-types
+SoupMessageFilter
<!-- ##### SECTION Short_Description ##### -->
</para>
-<!-- ##### MACRO SOUP_MAKE_TYPE ##### -->
+<!-- ##### FUNCTION soup_message_filter_setup_message ##### -->
<para>
</para>
-@l:
-@t:
-@ci:
-@i:
-@parent:
+@filter:
+@msg:
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>
+<!-- ##### TYPEDEF SoupMessageQueue ##### -->
+<para>
+
+</para>
+
+
<!-- ##### STRUCT SoupMessageQueueIter ##### -->
<para>
-An opaque data structure used to iterate the elements of a
-#SoupMessageQueue.
+
</para>
SoupMessage
<!-- ##### SECTION Short_Description ##### -->
-
+An HTTP request and response.
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
+<!-- ##### 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>
-Enum indicating the lifecycle of a #SoupMessage.
+
</para>
-@SOUP_MESSAGE_STATUS_IDLE: The message has not yet been queued.
-@SOUP_MESSAGE_STATUS_QUEUED: The message has been queued, but is
-waiting for a connection to be available.
-@SOUP_MESSAGE_STATUS_CONNECTING: The message is waiting for a specific
-connection to finish connecting.
-@SOUP_MESSAGE_STATUS_RUNNING: The message is being processed.
-@SOUP_MESSAGE_STATUS_FINISHED: The message is complete (request and
-response both processed).
+@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>
-Tests if @msg is in a "starting" state, waiting to be sent. (More
-commonly used to test if a message has been requeued after its first
-attempt.)
+
</para>
-@msg: a #SoupMessage
-@Returns: %TRUE if @msg is waiting to be sent.
+@msg:
+@Returns:
<!-- ##### ENUM SoupTransferEncoding ##### -->
<para>
-How the length of a request or response is to be encoded.
+
</para>
-@SOUP_TRANSFER_UNKNOWN: HTTP 1.0-style (content ends when the
-connection is closed)
-@SOUP_TRANSFER_CHUNKED: chunked encoding (only supported for response)
-@SOUP_TRANSFER_CONTENT_LENGTH: Content-Length
+@SOUP_TRANSFER_UNKNOWN:
+@SOUP_TRANSFER_CHUNKED:
+@SOUP_TRANSFER_CONTENT_LENGTH:
<!-- ##### ENUM SoupOwnership ##### -->
<para>
-Used by #SoupDataBuffer (and several functions) to indicate the
-ownership of a buffer.
+
</para>
-@SOUP_BUFFER_SYSTEM_OWNED: The data is owned by soup and it can free
-it when it is done with it.
-@SOUP_BUFFER_USER_OWNED: The data is owned by the user, who is
-responsible for freeing it at the right point
-@SOUP_BUFFER_STATIC: The data should not be freed.
+@SOUP_BUFFER_SYSTEM_OWNED:
+@SOUP_BUFFER_USER_OWNED:
+@SOUP_BUFFER_STATIC:
<!-- ##### STRUCT SoupDataBuffer ##### -->
<para>
-A data buffer used in several places.
+
</para>
-@owner: the ownership of the data
-@body: the data itself
-@length: length of @body
+@owner:
+@body:
+@length:
<!-- ##### USER_FUNCTION SoupMessageCallbackFn ##### -->
<para>
-A callback function used by many #SoupMessage methods.
+
</para>
-@req: the #SoupMessage in question
-@user_data: user data
+@req:
+@user_data:
<!-- ##### FUNCTION soup_message_new ##### -->
@method:
@uri_string:
@Returns:
-<!-- # Unused Parameters # -->
-@uri:
<!-- ##### FUNCTION soup_message_new_from_uri ##### -->
@req_owner:
@req_body:
@req_length:
-<!-- # Unused Parameters # -->
-@req_len:
<!-- ##### FUNCTION soup_message_set_response ##### -->
@resp_owner:
@resp_body:
@resp_length:
-<!-- # Unused Parameters # -->
-@resp_len:
<!-- ##### FUNCTION soup_message_add_header ##### -->
<!-- ##### ENUM SoupHttpVersion ##### -->
<para>
-Indicates the HTTP protocol version being used.
+
</para>
-@SOUP_HTTP_1_0: HTTP 1.0 (RFC 1945)
-@SOUP_HTTP_1_1: HTTP 1.1 (RFC 2616)
+@SOUP_HTTP_1_0:
+@SOUP_HTTP_1_1:
<!-- ##### FUNCTION soup_message_set_http_version ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION soup_message_is_keepalive ##### -->
-<para>
-
-</para>
-
-@msg:
-@Returns:
-
-
<!-- ##### FUNCTION soup_message_get_uri ##### -->
<para>
<!-- ##### ENUM SoupMessageFlags ##### -->
<para>
-Various flags that can be set on a #SoupMessage to alter its behavior.
+
</para>
-@SOUP_MESSAGE_NO_REDIRECT: The session should not follow redirect
-(3xx) responses received by this message.
-@SOUP_MESSAGE_OVERWRITE_CHUNKS: Rather than building up the response
-body in %response, each new chunk should overwrite the previous one.
-(This can be used if you are connecting to the %got_chunk signal or
-have installed a %SOUP_MESSAGE_BODY_CHUNK handler.)
-@SOUP_MESSAGE_EXPECT_CONTINUE: This will cause an "Expect:
-100-continue" header to be added to the outgoing request, giving the
-server the opportunity to reject the message (eg, with a 401
-Unauthorized) before the full request body is sent.
+@SOUP_MESSAGE_NO_REDIRECT:
+@SOUP_MESSAGE_OVERWRITE_CHUNKS:
+@SOUP_MESSAGE_EXPECT_CONTINUE:
<!-- ##### FUNCTION soup_message_set_flags ##### -->
<para>
@Returns:
-<!-- ##### ENUM SoupHandlerPhase ##### -->
-<para>
-Indicates when a handler added with soup_message_add_handler() or the
-like will be run.
-</para>
-
-@SOUP_HANDLER_POST_REQUEST: The handler should run immediately after
-sending the request body
-@SOUP_HANDLER_PRE_BODY: The handler should run before reading the
-response body (after reading the headers).
-@SOUP_HANDLER_BODY_CHUNK: The handler should run after every body
-chunk is read. (See also %SOUP_MESSAGE_OVERWRITE_CHUNKS.)
-@SOUP_HANDLER_POST_BODY: The handler should run after the entire
-message body has been read.
-
-<!-- ##### FUNCTION soup_message_add_handler ##### -->
-<para>
-
-</para>
-
-@msg:
-@type:
-@handler_cb:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_message_add_header_handler ##### -->
-<para>
-
-</para>
-
-@msg:
-@header:
-@type:
-@Param4:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_message_add_status_code_handler ##### -->
-<para>
-
-</para>
-
-@msg:
-@status_code:
-@type:
-@Param4:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_message_add_status_class_handler ##### -->
-<para>
-
-</para>
-
-@msg:
-@status_class:
-@type:
-@Param4:
-@user_data:
-
-
-<!-- ##### FUNCTION soup_message_remove_handler ##### -->
-<para>
-
-</para>
-
-@msg:
-@type:
-@Param3:
-@user_data:
-
-
<!-- ##### FUNCTION soup_message_set_status ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION soup_message_send_request ##### -->
-<para>
-
-</para>
-
-@req:
-@sock:
-@via_proxy:
-
-
-<!-- ##### FUNCTION soup_message_read_request ##### -->
+<!-- ##### FUNCTION soup_message_is_keepalive ##### -->
<para>
</para>
-@req:
-@sock:
+@msg:
+@Returns:
-<!-- ##### FUNCTION soup_message_io_pause ##### -->
+<!-- ##### ENUM SoupHandlerPhase ##### -->
<para>
</para>
-@msg:
-
+@SOUP_HANDLER_POST_REQUEST:
+@SOUP_HANDLER_PRE_BODY:
+@SOUP_HANDLER_BODY_CHUNK:
+@SOUP_HANDLER_POST_BODY:
-<!-- ##### FUNCTION soup_message_io_unpause ##### -->
+<!-- ##### FUNCTION soup_message_add_handler ##### -->
<para>
</para>
@msg:
+@phase:
+@handler_cb:
+@user_data:
-<!-- ##### FUNCTION soup_message_wrote_informational ##### -->
+<!-- ##### FUNCTION soup_message_add_header_handler ##### -->
<para>
</para>
@msg:
+@header:
+@phase:
+@handler_cb:
+@user_data:
-<!-- ##### FUNCTION soup_message_wrote_headers ##### -->
+<!-- ##### FUNCTION soup_message_add_status_code_handler ##### -->
<para>
</para>
@msg:
+@status_code:
+@phase:
+@handler_cb:
+@user_data:
-<!-- ##### FUNCTION soup_message_wrote_chunk ##### -->
+<!-- ##### FUNCTION soup_message_add_status_class_handler ##### -->
<para>
</para>
@msg:
+@status_class:
+@phase:
+@handler_cb:
+@user_data:
-<!-- ##### FUNCTION soup_message_wrote_body ##### -->
+<!-- ##### FUNCTION soup_message_remove_handler ##### -->
<para>
</para>
@msg:
+@phase:
+@handler_cb:
+@user_data:
-<!-- ##### FUNCTION soup_message_got_informational ##### -->
+<!-- ##### FUNCTION soup_message_send_request ##### -->
<para>
</para>
-@msg:
+@req:
+@sock:
+@is_via_proxy:
-<!-- ##### FUNCTION soup_message_got_headers ##### -->
+<!-- ##### FUNCTION soup_message_read_request ##### -->
<para>
</para>
-@msg:
+@req:
+@sock:
-<!-- ##### FUNCTION soup_message_got_chunk ##### -->
+<!-- ##### FUNCTION soup_message_io_pause ##### -->
<para>
</para>
@msg:
-<!-- ##### FUNCTION soup_message_got_body ##### -->
+<!-- ##### FUNCTION soup_message_io_unpause ##### -->
<para>
</para>
@msg:
-<!-- ##### FUNCTION soup_message_finished ##### -->
+<!-- ##### FUNCTION soup_message_io_stop ##### -->
<para>
</para>
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-soup-method
-
-<!-- ##### SECTION Short_Description ##### -->
-HTTP method-related defines.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These can be used if you don't want to specify the HTTP method to
-soup_message_new() as an explicit string. This is purely a stylistic
-consideration. There is no difference between using the define and
-the string itself.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### MACRO SOUP_METHOD_POST ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_GET ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_HEAD ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_OPTIONS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_PUT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_MOVE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_COPY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_DELETE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_TRACE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_CONNECT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_MKCOL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_PROPPATCH ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_PROPFIND ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_PATCH ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_LOCK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO SOUP_METHOD_UNLOCK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM SoupMethodId ##### -->
-<para>
-This enumeration is used internally by routines that need to check the
-HTTP method in a #SoupMessage against several different possibilities,
-to avoid repeated strcmp()s.
-</para>
-
-@SOUP_METHOD_ID_UNKNOWN:
-@SOUP_METHOD_ID_POST:
-@SOUP_METHOD_ID_GET:
-@SOUP_METHOD_ID_HEAD:
-@SOUP_METHOD_ID_OPTIONS:
-@SOUP_METHOD_ID_PUT:
-@SOUP_METHOD_ID_MOVE:
-@SOUP_METHOD_ID_COPY:
-@SOUP_METHOD_ID_DELETE:
-@SOUP_METHOD_ID_TRACE:
-@SOUP_METHOD_ID_CONNECT:
-@SOUP_METHOD_ID_MKCOL:
-@SOUP_METHOD_ID_PROPPATCH:
-@SOUP_METHOD_ID_PROPFIND:
-@SOUP_METHOD_ID_PATCH:
-@SOUP_METHOD_ID_LOCK:
-@SOUP_METHOD_ID_UNLOCK:
-
-<!-- ##### FUNCTION soup_method_get_id ##### -->
-<para>
-
-</para>
-
-@method:
-@Returns:
-
-
soup-misc
<!-- ##### SECTION Short_Description ##### -->
-
+Miscellaneous functions
<!-- ##### SECTION Long_Description ##### -->
<para>
@c_handler:
@data:
@Returns:
-<!-- # Unused Parameters # -->
-@signal:
<!-- ##### FUNCTION soup_str_case_hash ##### -->
soup-server-auth
<!-- ##### SECTION Short_Description ##### -->
-
+Server-side authentication structures
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
+<!-- ##### STRUCT SoupServerAuthContext ##### -->
+<para>
+
+</para>
+
+@types:
+@callback:
+@user_data:
+
<!-- ##### USER_FUNCTION SoupServerAuthCallbackFn ##### -->
<para>
SoupServerMessage
<!-- ##### SECTION Short_Description ##### -->
-
+Server-side #SoupMessage
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
+<!-- ##### STRUCT SoupServerMessage ##### -->
+<para>
+
+</para>
+
+
<!-- ##### FUNCTION soup_server_message_new ##### -->
<para>
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>
-<!-- ##### STRUCT SoupServerContext ##### -->
+<!-- ##### STRUCT SoupServer ##### -->
<para>
</para>
-@msg:
-@path:
-@method_id:
-@auth:
-@server:
-@handler:
-@sock:
-<!-- ##### USER_FUNCTION SoupServerCallbackFn ##### -->
+<!-- ##### ARG SoupServer:interface ##### -->
<para>
</para>
-@context:
-@msg:
-@user_data:
-
-
-<!-- ##### USER_FUNCTION SoupServerUnregisterFn ##### -->
+<!-- ##### ARG SoupServer:port ##### -->
<para>
</para>
-@server:
-@handler:
-@user_data:
-
-
-<!-- ##### MACRO SOUP_SERVER_PORT ##### -->
+<!-- ##### ARG SoupServer:ssl-cert-file ##### -->
<para>
</para>
+<!-- ##### ARG SoupServer:ssl-key-file ##### -->
+<para>
+</para>
-<!-- ##### MACRO SOUP_SERVER_INTERFACE ##### -->
+<!-- ##### STRUCT SoupServerContext ##### -->
<para>
</para>
+@msg:
+@path:
+@method_id:
+@auth:
+@server:
+@handler:
+@sock:
-
-<!-- ##### MACRO SOUP_SERVER_SSL_CERT_FILE ##### -->
+<!-- ##### USER_FUNCTION SoupServerCallbackFn ##### -->
<para>
</para>
+@context:
+@msg:
+@user_data:
-<!-- ##### MACRO SOUP_SERVER_SSL_KEY_FILE ##### -->
+<!-- ##### USER_FUNCTION SoupServerUnregisterFn ##### -->
<para>
</para>
+@server:
+@handler:
+@user_data:
<!-- ##### FUNCTION soup_server_new ##### -->
@serv:
+<!-- ##### TYPEDEF SoupServerHandler ##### -->
+<para>
+
+</para>
+
+
<!-- ##### FUNCTION soup_server_add_handler ##### -->
<para>
@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>
+
+
+
--- /dev/null
+<!-- ##### 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>
+
+<!-- ##### STRUCT SoupSessionAsync ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION soup_session_async_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION soup_session_async_new_with_options ##### -->
+<para>
+
+</para>
+
+@optname1:
+@Varargs:
+@Returns:
+
+
--- /dev/null
+<!-- ##### 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>
+
+<!-- ##### STRUCT SoupSessionSync ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION soup_session_sync_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION soup_session_sync_new_with_options ##### -->
+<para>
+
+</para>
+
+@optname1:
+@Varargs:
+@Returns:
+
+
SoupSession
<!-- ##### SECTION Short_Description ##### -->
-
+Soup session state object
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
-<!-- ##### MACRO SOUP_SESSION_PROXY_URI ##### -->
+<!-- ##### STRUCT SoupSession ##### -->
<para>
</para>
-
-<!-- ##### MACRO SOUP_SESSION_MAX_CONNS ##### -->
+<!-- ##### SIGNAL SoupSession::authenticate ##### -->
<para>
</para>
+@session:
+@msg:
+@auth_type:
+@auth_realm:
+@username:
+@password:
-
-<!-- ##### MACRO SOUP_SESSION_MAX_CONNS_PER_HOST ##### -->
+<!-- ##### SIGNAL SoupSession::reauthenticate ##### -->
<para>
</para>
+@session:
+@msg:
+@auth_type:
+@auth_realm:
+@username:
+@password:
+
+<!-- ##### ARG SoupSession:max-conns ##### -->
+<para>
+</para>
-<!-- ##### MACRO SOUP_SESSION_USE_NTLM ##### -->
+<!-- ##### ARG SoupSession:max-conns-per-host ##### -->
<para>
</para>
+<!-- ##### ARG SoupSession:proxy-uri ##### -->
+<para>
+</para>
-<!-- ##### MACRO SOUP_SESSION_SSL_CA_FILE ##### -->
+<!-- ##### ARG SoupSession:ssl-ca-file ##### -->
<para>
</para>
+<!-- ##### ARG SoupSession:use-ntlm ##### -->
+<para>
+</para>
<!-- ##### FUNCTION soup_session_queue_message ##### -->
<para>
@msg:
@callback:
@user_data:
-<!-- # Unused Parameters # -->
-@req:
<!-- ##### FUNCTION soup_session_requeue_message ##### -->
@session:
@msg:
-<!-- # Unused Parameters # -->
-@req:
<!-- ##### FUNCTION soup_session_send_message ##### -->
@session:
@msg:
@Returns:
-<!-- # Unused Parameters # -->
-@req:
<!-- ##### FUNCTION soup_session_abort ##### -->
@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>
+
+
+
SoupSoapMessage
<!-- ##### SECTION Short_Description ##### -->
-
+A SOAP request/response
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
@msg:
+@i:
+<!-- # Unused Parameters # -->
@Param2:
@Returns:
+<!-- ##### FUNCTION soup_soap_message_parse_response ##### -->
+<para>
+
+</para>
+
+@msg:
+@Returns:
+
+
--- /dev/null
+<!-- ##### SECTION Title ##### -->
+SoupSoapResponse
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### 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:
+
+
SoupSocket
<!-- ##### SECTION Short_Description ##### -->
-
+a network socket
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
-<!-- ##### MACRO SOUP_SOCKET_FLAG_NONBLOCKING ##### -->
+<!-- ##### STRUCT SoupSocket ##### -->
<para>
</para>
+<!-- ##### SIGNAL SoupSocket::connect-result ##### -->
+<para>
-<!-- ##### MACRO SOUP_SOCKET_FLAG_NODELAY ##### -->
+</para>
+
+@sock:
+@status:
+
+<!-- ##### SIGNAL SoupSocket::disconnected ##### -->
<para>
</para>
+@sock:
+
+<!-- ##### SIGNAL SoupSocket::new-connection ##### -->
+<para>
+</para>
-<!-- ##### MACRO SOUP_SOCKET_FLAG_REUSEADDR ##### -->
+@sock:
+@new:
+
+<!-- ##### SIGNAL SoupSocket::readable ##### -->
<para>
</para>
+@sock:
+<!-- ##### SIGNAL SoupSocket::writable ##### -->
+<para>
-<!-- ##### MACRO SOUP_SOCKET_IS_SERVER ##### -->
+</para>
+
+@sock:
+
+<!-- ##### ARG SoupSocket:is-server ##### -->
<para>
</para>
+<!-- ##### ARG SoupSocket:nodelay ##### -->
+<para>
+</para>
-<!-- ##### MACRO SOUP_SOCKET_SSL_CREDENTIALS ##### -->
+<!-- ##### ARG SoupSocket:non-blocking ##### -->
<para>
</para>
+<!-- ##### ARG SoupSocket:reuseaddr ##### -->
+<para>
+</para>
+
+<!-- ##### ARG SoupSocket:ssl-creds ##### -->
+<para>
+
+</para>
<!-- ##### FUNCTION soup_socket_new ##### -->
<para>
@sock:
@remote_addr:
@Returns:
-<!-- # Unused Parameters # -->
-@rem_addr:
<!-- ##### FUNCTION soup_socket_listen ##### -->
@Returns:
+<!-- ##### FUNCTION soup_socket_start_proxy_ssl ##### -->
+<para>
+
+</para>
+
+@sock:
+@ssl_host:
+@Returns:
+
+
<!-- ##### FUNCTION soup_socket_disconnect ##### -->
<para>
<!-- ##### USER_FUNCTION SoupSocketCallback ##### -->
<para>
-The callback function passed to soup_socket_client_new_async().
+
</para>
-@sock: the #SoupSocket
-@status: an HTTP status code indicating success or failure
+@sock:
+@status:
@user_data:
-<!-- # Unused Parameters # -->
-@data: the data passed to soup_socket_client_new_async()
<!-- ##### USER_FUNCTION SoupSocketListenerCallback ##### -->
<para>
-The callback function passed to soup_socket_server_new(), which
-receives new connections.
+
</para>
-@listener: the listening #SoupSocket
-@sock: the newly-received #SoupSocket
-@user_data: the data passed to soup_socket_server_new().
+@listener:
+@sock:
+@user_data:
<!-- ##### FUNCTION soup_socket_client_new_async ##### -->
@ssl_creds:
@status_ret:
@Returns:
-<!-- # Unused Parameters # -->
-@status:
<!-- ##### FUNCTION soup_socket_server_new ##### -->
@callback:
@user_data:
@Returns:
-<!-- # Unused Parameters # -->
-@Param3:
<!-- ##### FUNCTION soup_socket_get_local_address ##### -->
<!-- ##### ENUM SoupSocketIOStatus ##### -->
<para>
-Return value from the #SoupSocket IO methods.
+
</para>
-@SOUP_SOCKET_OK: Success
-@SOUP_SOCKET_WOULD_BLOCK: Cannot read/write any more at this time
-@SOUP_SOCKET_EOF: End of file
-@SOUP_SOCKET_ERROR: Other error
+@SOUP_SOCKET_OK:
+@SOUP_SOCKET_WOULD_BLOCK:
+@SOUP_SOCKET_EOF:
+@SOUP_SOCKET_ERROR:
<!-- ##### FUNCTION soup_socket_read ##### -->
<para>
@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_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>
+
+
+
soup-ssl
<!-- ##### SECTION Short_Description ##### -->
-
+SSL/TLS handling
<!-- ##### SECTION Long_Description ##### -->
<para>
<!-- ##### ENUM SoupSSLType ##### -->
<para>
-What kind of SSL connection this is.
+
</para>
-@SOUP_SSL_TYPE_CLIENT: the client side of an SSL connection
-@SOUP_SSL_TYPE_SERVER: the server side of an SSL connection
+@SOUP_SSL_TYPE_CLIENT:
+@SOUP_SSL_TYPE_SERVER:
<!-- ##### FUNCTION soup_ssl_get_client_credentials ##### -->
<para>
@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:
+
<!-- ##### ENUM SoupStatusClass ##### -->
<para>
-The classes of HTTP and Soup status codes
+
</para>
-@SOUP_STATUS_CLASS_TRANSPORT_ERROR: Network or Soup-level error
-@SOUP_STATUS_CLASS_INFORMATIONAL: HTTP 1xx response providing partial
-information about the state of a request
-@SOUP_STATUS_CLASS_SUCCESS: HTTP 2xx successful response
-@SOUP_STATUS_CLASS_REDIRECT: HTTP 3xx redirection response
-@SOUP_STATUS_CLASS_CLIENT_ERROR: HTTP 4xx client error response
-@SOUP_STATUS_CLASS_SERVER_ERROR: HTTP 5xx server error response
+@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>
-Tests if @status is an Informational (1xx) response.
+
</para>
-@status: an HTTP status code
-@Returns: %TRUE if @status is an Information (1xx) response.
+@status:
+@Returns:
<!-- ##### MACRO SOUP_STATUS_IS_SUCCESSFUL ##### -->
<para>
-Tests if @status is a Successful (2xx) response.
+
</para>
-@status: an HTTP status code
-@Returns: %TRUE if @status is a Successful (2xx) response.
+@status:
+@Returns:
<!-- ##### MACRO SOUP_STATUS_IS_REDIRECTION ##### -->
<para>
-Tests if @status is a Redirection (3xx) response.
+
</para>
-@status: an HTTP status code
-@Returns: %TRUE if @status is a Redirection (3xx) response.
+@status:
+@Returns:
<!-- ##### MACRO SOUP_STATUS_IS_CLIENT_ERROR ##### -->
<para>
-Tests if @status is a Client Error (4xx) response.
+
</para>
-@status: an HTTP status code
-@Returns: %TRUE if @status is a Client Error (4xx) response.
+@status:
+@Returns:
<!-- ##### MACRO SOUP_STATUS_IS_SERVER_ERROR ##### -->
<para>
-Tests if @status is a Server Error (5xx) response.
+
</para>
-@status: an HTTP status code
-@Returns: %TRUE if @status is a Server Error (5xx) response.
+@status:
+@Returns:
<!-- ##### ENUM SoupKnownStatusCode ##### -->
<para>
-These represent the known HTTP status code values, plus various
-network and internal errors.
+
</para>
-@SOUP_STATUS_NONE: No status available. (Eg, the message has not been
-sent yet)
-@SOUP_STATUS_CANCELLED: Message was cancelled locally
-@SOUP_STATUS_CANT_RESOLVE: Unable to resolve destination host name
-@SOUP_STATUS_CANT_RESOLVE_PROXY: Unable to resolve proxy host name
-@SOUP_STATUS_CANT_CONNECT: Unable to connect to remote host
-@SOUP_STATUS_CANT_CONNECT_PROXY: Unable to connect to proxy
-@SOUP_STATUS_SSL_FAILED: SSL negotiation failed
-@SOUP_STATUS_IO_ERROR: A network error occurred, or the other end
-closed the connection unexpectedly
-@SOUP_STATUS_MALFORMED: Malformed data (usually a programmer error)
-@SOUP_STATUS_TRY_AGAIN: Try again. (Only returned in certain
-specifically documented cases)
-@SOUP_STATUS_CONTINUE: 100 Continue (HTTP)
-@SOUP_STATUS_SWITCHING_PROTOCOLS: 101 Switching Protocols (HTTP)
-@SOUP_STATUS_PROCESSING: 102 Processing (WebDAV)
-@SOUP_STATUS_OK: 200 Success (HTTP). Also used by many lower-level
-soup routines to indicate success.
-@SOUP_STATUS_CREATED: 201 Created (HTTP)
-@SOUP_STATUS_ACCEPTED: 202 Accepted (HTTP)
-@SOUP_STATUS_NON_AUTHORITATIVE: 203 Non-Authoritative Information (HTTP)
-@SOUP_STATUS_NO_CONTENT: 204 No Content (HTTP)
-@SOUP_STATUS_RESET_CONTENT: 205 Reset Content (HTTP)
-@SOUP_STATUS_PARTIAL_CONTENT: 206 Partial Content (HTTP)
-@SOUP_STATUS_MULTI_STATUS: 207 Multi-Status (WebDAV)
-@SOUP_STATUS_MULTIPLE_CHOICES: 300 Multiple Choices (HTTP)
-@SOUP_STATUS_MOVED_PERMANENTLY: 301 Moved Permanently (HTTP)
-@SOUP_STATUS_FOUND: 302 Found (HTTP)
-@SOUP_STATUS_MOVED_TEMPORARILY: 302 Moved Temporarily (old name, RFC 2068)
-@SOUP_STATUS_SEE_OTHER: 303 See Other (HTTP)
-@SOUP_STATUS_NOT_MODIFIED: 304 Not Modified (HTTP)
-@SOUP_STATUS_USE_PROXY: 305 Use Proxy (HTTP)
-@SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL: 306 [Unused] (HTTP)
-@SOUP_STATUS_TEMPORARY_REDIRECT: 307 Temporary Redirect (HTTP)
-@SOUP_STATUS_BAD_REQUEST: 400 Bad Request (HTTP)
-@SOUP_STATUS_UNAUTHORIZED: 401 Unauthorized (HTTP)
-@SOUP_STATUS_PAYMENT_REQUIRED: 402 Payment Required (HTTP)
-@SOUP_STATUS_FORBIDDEN: 403 Forbidden (HTTP)
-@SOUP_STATUS_NOT_FOUND: 404 Not Found (HTTP)
-@SOUP_STATUS_METHOD_NOT_ALLOWED: 405 Method Not Allowed (HTTP)
-@SOUP_STATUS_NOT_ACCEPTABLE: 406 Not Acceptable (HTTP)
-@SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407 Proxy Authentication
-Required (HTTP)
-@SOUP_STATUS_PROXY_UNAUTHORIZED: shorter alias for %SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED
-@SOUP_STATUS_REQUEST_TIMEOUT: 408 Request Timeout (HTTP)
-@SOUP_STATUS_CONFLICT: 409 Conflict (HTTP)
-@SOUP_STATUS_GONE: 410 Gone (HTTP)
-@SOUP_STATUS_LENGTH_REQUIRED: 411 Length Required (HTTP)
-@SOUP_STATUS_PRECONDITION_FAILED: 412 Precondition Failed (HTTP)
-@SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE: 413 Request Entity Too Large (HTTP)
-@SOUP_STATUS_REQUEST_URI_TOO_LONG: 414 Request-URI Too Long (HTTP)
-@SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415 Unsupported Media Type (HTTP)
-@SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE: 416 Requested Range Not
-Satisfiable (HTTP)
-@SOUP_STATUS_INVALID_RANGE: shorter alias for %SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
-@SOUP_STATUS_EXPECTATION_FAILED: 417 Expectation Failed (HTTP)
-@SOUP_STATUS_UNPROCESSABLE_ENTITY: 422 Unprocessable Entity (WebDAV)
-@SOUP_STATUS_LOCKED: 423 Locked (WebDAV)
-@SOUP_STATUS_FAILED_DEPENDENCY: 424 Failed Dependency (WebDAV)
-@SOUP_STATUS_INTERNAL_SERVER_ERROR: 500 Internal Server Error (HTTP)
-@SOUP_STATUS_NOT_IMPLEMENTED: 501 Not Implemented (HTTP)
-@SOUP_STATUS_BAD_GATEWAY: 502 Bad Gateway (HTTP)
-@SOUP_STATUS_SERVICE_UNAVAILABLE: 503 Service Unavailable (HTTP)
-@SOUP_STATUS_GATEWAY_TIMEOUT: 504 Gateway Timeout (HTTP)
-@SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505 HTTP Version Not
-Supported (HTTP)
-@SOUP_STATUS_INSUFFICIENT_STORAGE: 507 Insufficient Storage (WebDAV)
-@SOUP_STATUS_NOT_EXTENDED: 510 Not Extended (RFC 2774)
+@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>
soup-uri
<!-- ##### SECTION Short_Description ##### -->
-
+URIs
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
+<!-- ##### STRUCT SoupUri ##### -->
+<para>
+
+</para>
+
+@protocol:
+@user:
+@passwd:
+@host:
+@port:
+@path:
+@query:
+@fragment:
+@broken_encoding:
+
<!-- ##### TYPEDEF SoupProtocol ##### -->
<para>
-#GQuark is used for SoupProtocol so that the protocol of a #SoupUri
-can be tested quickly.
+
</para>
<!-- ##### MACRO SOUP_PROTOCOL_HTTP ##### -->
<para>
-This returns the #SoupProtocol value for "http".
+
</para>
<!-- ##### MACRO SOUP_PROTOCOL_HTTPS ##### -->
<para>
-This returns the #SoupProtocol value for "https".
+
</para>
object_class->finalize = finalize;
/* signals */
+
+ /**
+ * SoupAddress::dns-result:
+ * @addr: the #SoupAddress
+ * @status: the DNS status code
+ *
+ * Emitted when an address resolution completes. (This is used
+ * internally by soup_address_resolve_async() itself.)
+ **/
signals[DNS_RESULT] =
g_signal_new ("dns_result",
G_OBJECT_CLASS_TYPE (object_class),
}
/**
+ * SoupAddressFamily:
+ * @SOUP_ADDRESS_FAMILY_IPV4: an IPv4 address
+ * @SOUP_ADDRESS_FAMILY_IPV6: an IPv6 address
+ *
+ * The supported address families. Note that the
+ * %SOUP_ADDRESS_FAMILY_IPV6 constant is available even if libsoup was
+ * built without IPv6 support, but attempting to create an IPv6
+ * address will fail in that case.
+ **/
+
+/**
* soup_address_new_any:
* @family: the address family
* @port: the port number (usually %SOUP_ADDRESS_ANY_PORT)
* @len: return location for sockaddr length
*
* Returns the sockaddr associated with @addr, with its length in
- * *@len. If the sockaddr is not yet know, returns %NULL.
+ * *@len. If the sockaddr is not yet known, returns %NULL.
*
* Return value: the sockaddr, or %NULL
**/
} SoupAddressFamily;
#endif
+/**
+ * SOUP_ADDRESS_ANY_PORT:
+ *
+ * This can be passed to any #SoupAddress method that expects a port,
+ * to indicate that you don't care what port is used.
+ **/
#define SOUP_ADDRESS_ANY_PORT 0
+/**
+ * SoupAddressCallback:
+ * @addr: the #SoupAddress that was resolved
+ * @status: %SOUP_STATUS_OK or %SOUP_STATUS_CANT_RESOLVE
+ * @data: the user data that was passed to
+ * soup_address_resolve_async()
+ *
+ * The callback function passed to soup_address_resolve_async().
+ **/
+typedef void (*SoupAddressCallback) (SoupAddress *addr,
+ guint status,
+ gpointer data);
+
GType soup_address_get_type (void);
SoupAddress *soup_address_new (const char *name,
SoupAddress *soup_address_new_any (SoupAddressFamily family,
guint port);
-typedef void (*SoupAddressCallback) (SoupAddress *addr,
- guint status,
- gpointer data);
void soup_address_resolve_async (SoupAddress *addr,
SoupAddressCallback callback,
gpointer user_data);
guint soup_address_resolve_sync (SoupAddress *addr);
const char *soup_address_get_name (SoupAddress *addr);
-struct sockaddr *soup_address_get_sockaddr (SoupAddress *addr,
- int *len);
const char *soup_address_get_physical (SoupAddress *addr);
guint soup_address_get_port (SoupAddress *addr);
+struct sockaddr *soup_address_get_sockaddr (SoupAddress *addr,
+ int *len);
#endif /* SOUP_ADDRESS_H */
* @password: the password provided by the user or client
*
* This is called by the session after requesting a username and
- * password from the application. @auth should take the information
+ * password from the application. @auth will take the information
* and do whatever scheme-specific processing is needed.
**/
void
* @auth: a #SoupAuth
* @msg: the #SoupMessage to be authorized
*
- * Generates an appropriate "Authorization" header for @msg. (This
- * will only be called if soup_auth_is_authenticated() returns %TRUE.)
+ * Generates an appropriate "Authorization" header for @msg. (The
+ * session will only call this if soup_auth_is_authenticated()
+ * returned %TRUE.)
*
* Return value: the "Authorization" header, which must be freed.
**/
GType soup_auth_get_type (void);
-SoupAuth *soup_auth_new_from_header_list (const GSList *header);
+SoupAuth *soup_auth_new_from_header_list (const GSList *vals);
const char *soup_auth_get_scheme_name (SoupAuth *auth);
const char *soup_auth_get_realm (SoupAuth *auth);
object_class->get_property = get_property;
/* signals */
+
+ /**
+ * SoupConnection::connect-result:
+ * @conn: the connection
+ * @status: the status
+ *
+ * Emitted when a connection attempt succeeds or fails. This
+ * is used internally by soup_connection_connect_async().
+ **/
signals[CONNECT_RESULT] =
g_signal_new ("connect_result",
G_OBJECT_CLASS_TYPE (object_class),
soup_marshal_NONE__INT,
G_TYPE_NONE, 1,
G_TYPE_INT);
+
+ /**
+ * SoupConnection::disconnected:
+ * @conn: the connection
+ *
+ * Emitted when the connection's socket is disconnected, for
+ * whatever reason.
+ **/
signals[DISCONNECTED] =
g_signal_new ("disconnected",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupConnection::authenticate:
+ * @conn: the connection
+ * @msg: the #SoupMessage being sent
+ * @auth_type: the authentication type
+ * @auth_realm: the realm being authenticated to
+ * @username: the signal handler should set this to point to
+ * the provided username
+ * @password: the signal handler should set this to point to
+ * the provided password
+ *
+ * Emitted when the connection requires authentication.
+ * (#SoupConnectionNTLM makes use of this.)
+ **/
signals[AUTHENTICATE] =
g_signal_new ("authenticate",
G_OBJECT_CLASS_TYPE (object_class),
G_TYPE_STRING,
G_TYPE_POINTER,
G_TYPE_POINTER);
+
+ /**
+ * SoupConnection::reauthenticate:
+ * @conn: the connection
+ * @msg: the #SoupMessage being sent
+ * @auth_type: the authentication type
+ * @auth_realm: the realm being authenticated to
+ * @username: the signal handler should set this to point to
+ * the provided username
+ * @password: the signal handler should set this to point to
+ * the provided password
+ *
+ * Emitted when the authentication data acquired by a previous
+ * %authenticate or %reauthenticate signal fails.
+ **/
signals[REAUTHENTICATE] =
g_signal_new ("reauthenticate",
G_OBJECT_CLASS_TYPE (object_class),
* @conn: a #SoupConnection
*
* Marks @conn as not "in use". This can be used to cancel the effect
- * of a soup_session_reserve(). It is not necessary to call this
+ * of a soup_connection_reserve(). It is not necessary to call this
* after soup_connection_send_request().
**/
void
GType soup_connection_get_type (void);
+/**
+ * SoupConnectionCallback:
+ * @conn: the #SoupConnection
+ * @status: an HTTP status code indicating success or failure
+ * @data: the data passed to soup_connection_connect_async()
+ *
+ * The callback function passed to soup_connection_connect_async().
+ **/
+typedef void (*SoupConnectionCallback) (SoupConnection *conn,
+ guint status,
+ gpointer data);
+
+
#define SOUP_CONNECTION_ORIGIN_URI "origin-uri"
#define SOUP_CONNECTION_PROXY_URI "proxy-uri"
#define SOUP_CONNECTION_SSL_CREDENTIALS "ssl-creds"
SoupConnection *soup_connection_new (const char *propname1,
...);
-typedef void (*SoupConnectionCallback) (SoupConnection *conn,
- guint status,
- gpointer data);
-
void soup_connection_connect_async (SoupConnection *conn,
SoupConnectionCallback callback,
gpointer user_data);
static GMutex *soup_gethost_lock;
#endif
+/**
+ * soup_dns_init:
+ *
+ * Initializes the libsoup DNS system. Must be called before any other
+ * soup_dns method is called. Normally this gets called automatically
+ * by #SoupAddress's class_init function.
+ **/
void
soup_dns_init (void)
{
#include <libsoup/soup-portability.h>
void soup_dns_init (void);
+char *soup_dns_ntop (struct sockaddr *sa);
+/**
+ * SoupDNSLookup:
+ *
+ * An opaque type that represents a DNS lookup operation.
+ **/
typedef struct SoupDNSLookup SoupDNSLookup;
SoupDNSLookup *soup_dns_lookup_name (const char *name);
-SoupDNSLookup *soup_dns_lookup_address (struct sockaddr *address);
+SoupDNSLookup *soup_dns_lookup_address (struct sockaddr *sockaddr);
+void soup_dns_lookup_free (SoupDNSLookup *lookup);
+/**
+ * SoupDNSCallback:
+ * @lookup: the completed lookup
+ * @success: %TRUE if @lookup completed successfully, %FALSE if it failed
+ * @user_data: the data passed to soup_dns_lookup_resolve_async()
+ *
+ * The callback function passed to soup_dns_lookup_resolve_async().
+ **/
typedef void (*SoupDNSCallback) (SoupDNSLookup *lookup, gboolean success, gpointer user_data);
gboolean soup_dns_lookup_resolve (SoupDNSLookup *lookup);
char *soup_dns_lookup_get_hostname (SoupDNSLookup *lookup);
struct sockaddr *soup_dns_lookup_get_address (SoupDNSLookup *lookup);
-void soup_dns_lookup_free (SoupDNSLookup *lookup);
-
-
-char *soup_dns_ntop (struct sockaddr *address);
-
#endif /* SOUP_DNS_H */
* soup_ssl_wrap_iochannel:
* @sock: a #GIOChannel wrapping a TCP socket.
* @type: whether this is a client or server socket
- * @hostname: the hostname of the remote machine
- * @cred_pointer: a client or server credentials structure
+ * @remote_host: the hostname of the remote machine
+ * @credentials: a client or server credentials structure
*
* This attempts to wrap a new #GIOChannel around @sock that
* will SSL-encrypt/decrypt all traffic through it.
**/
GIOChannel *
soup_ssl_wrap_iochannel (GIOChannel *sock, SoupSSLType type,
- const char *hostname, gpointer cred_pointer)
+ const char *remote_host, gpointer credentials)
{
SoupGNUTLSChannel *chan = NULL;
GIOChannel *gchan = NULL;
gnutls_session session = NULL;
- SoupGNUTLSCred *cred = cred_pointer;
+ SoupGNUTLSCred *cred = credentials;
int sockfd;
int ret;
g_return_val_if_fail (sock != NULL, NULL);
- g_return_val_if_fail (cred_pointer != NULL, NULL);
+ g_return_val_if_fail (credentials != NULL, NULL);
sockfd = g_io_channel_unix_get_fd (sock);
if (!sockfd) {
chan->real_sock = sock;
chan->session = session;
chan->cred = cred;
- chan->hostname = g_strdup (hostname);
+ chan->hostname = g_strdup (remote_host);
chan->type = type;
g_io_channel_ref (sock);
/**
* soup_ssl_free_client_credentials:
- * @client_creds: a client credentials structure returned by
+ * @creds: a client credentials structure returned by
* soup_ssl_get_client_credentials().
*
* Frees @client_creds.
**/
void
-soup_ssl_free_client_credentials (gpointer client_creds)
+soup_ssl_free_client_credentials (gpointer creds)
{
- SoupGNUTLSCred *cred = client_creds;
+ SoupGNUTLSCred *cred = creds;
gnutls_certificate_free_credentials (cred->cred);
g_free (cred);
/**
* soup_ssl_free_server_credentials:
- * @server_creds: a server credentials structure returned by
+ * @creds: a server credentials structure returned by
* soup_ssl_get_server_credentials().
*
* Frees @server_creds.
**/
void
-soup_ssl_free_server_credentials (gpointer server_creds)
+soup_ssl_free_server_credentials (gpointer creds)
{
- SoupGNUTLSCred *cred = server_creds;
+ SoupGNUTLSCred *cred = creds;
gnutls_certificate_free_credentials (cred->cred);
g_free (cred);
return TRUE;
}
+/**
+ * soup_headers_parse_response:
+ * @str: the header string (including the trailing blank line)
+ * @len: length of @str
+ * @dest: #GHashTable to store the header values in
+ * @ver: on return, will contain the HTTP version
+ * @status_code: on return, will contain the HTTP status code
+ * @status_pharse: on return, will contain the status phrase
+ *
+ * Parses the headers of an HTTP response in @str and stores the
+ * results in @ver, @status_code, @status_phrase, and @dest.
+ *
+ * Return value: success or failure.
+ **/
gboolean
soup_headers_parse_response (char *str,
int len,
#include <glib.h>
typedef struct {
+ /*< private >*/
guint32 buf[4];
guint32 bits[2];
guchar in[64];
/**
* soup_message_run_handlers:
* @msg: a #SoupMessage
- * @invoke_phase: which group of handlers to run
+ * @phase: which group of handlers to run
*
- * Run each @invoke_phase handler on @msg. If a handler requeues the
- * message, we stop processing at that point.
+ * Run each @phase handler on @msg. If a handler requeues the message,
+ * we stop processing at that point.
*/
void
-soup_message_run_handlers (SoupMessage *msg, SoupHandlerPhase invoke_phase)
+soup_message_run_handlers (SoupMessage *msg, SoupHandlerPhase phase)
{
SoupMessagePrivate *priv = SOUP_MESSAGE_GET_PRIVATE (msg);
GSList *copy, *list;
for (list = copy; list; list = list->next) {
if (!g_slist_find (priv->content_handlers, list->data))
continue;
- run_handler (msg, invoke_phase, list->data);
+ run_handler (msg, phase, list->data);
if (SOUP_MESSAGE_IS_STARTING (msg))
break;
typedef struct SoupMessageQueue SoupMessageQueue;
+/**
+ * SoupMessageQueueIter:
+ *
+ * An opaque data structure used to iterate the elements of a
+ * #SoupMessageQueue.
+ **/
typedef struct {
+ /*< private >*/
GList *cur, *next;
} SoupMessageQueueIter;
object_class->finalize = finalize;
/* signals */
+
+ /**
+ * SoupMessage::wrote-informational:
+ * @msg: the message
+ *
+ * Emitted immediately after writing a 1xx (Informational)
+ * response for a message.
+ **/
signals[WROTE_INFORMATIONAL] =
g_signal_new ("wrote_informational",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupMessage::wrote-headers:
+ * @msg: the message
+ *
+ * Emitted immediately after writing the headers for a message.
+ **/
signals[WROTE_HEADERS] =
g_signal_new ("wrote_headers",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupMessage::wrote-chunk:
+ * @msg: the message
+ *
+ * Emitted immediately after writing a body chunk for a message.
+ * (This is
+ **/
signals[WROTE_CHUNK] =
g_signal_new ("wrote_chunk",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupMessage::wrote-body:
+ * @msg: the message
+ *
+ * Emitted immediately after writing the complete body for a message.
+ **/
signals[WROTE_BODY] =
g_signal_new ("wrote_body",
G_OBJECT_CLASS_TYPE (object_class),
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+ /**
+ * SoupMessage::got-informational:
+ * @msg: the message
+ *
+ * Emitted after receiving a 1xx (Informational) response for
+ * a message.
+ **/
signals[GOT_INFORMATIONAL] =
g_signal_new ("got_informational",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupMessage::got-headers:
+ * @msg: the message
+ *
+ * Emitted after receiving all message headers for a message.
+ **/
signals[GOT_HEADERS] =
g_signal_new ("got_headers",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupMessage::got-chunk:
+ * @msg: the message
+ *
+ * Emitted after receiving a chunk of a message body. Note
+ * that "chunk" in this context means any subpiece of the
+ * body, not necessarily the specific HTTP 1.1 chunks sent by
+ * the other side.
+ **/
signals[GOT_CHUNK] =
g_signal_new ("got_chunk",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupMessage::got-body:
+ * @msg: the message
+ *
+ * Emitted after receiving the complete message body.
+ **/
signals[GOT_BODY] =
g_signal_new ("got_body",
G_OBJECT_CLASS_TYPE (object_class),
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+ /**
+ * SoupMessage::restarted:
+ * @msg: the message
+ *
+ * Emitted when a message is about to be re-queued.
+ **/
signals[RESTARTED] =
g_signal_new ("restarted",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupMessage::finished:
+ * @msg: the message
+ *
+ * Emitted when all HTTP processing is finished for a message.
+ * (After #read-body for client-side code, or after
+ * #wrote-body for server-side code.)
+ **/
signals[FINISHED] =
g_signal_new ("finished",
G_OBJECT_CLASS_TYPE (object_class),
/**
* soup_message_set_uri:
* @msg: a #SoupMessage
- * @new_uri: the new #SoupUri
+ * @uri: the new #SoupUri
*
* Changes the URI that @msg is directed to (generally as a result
* of a redirect).
**/
void
-soup_message_set_uri (SoupMessage *msg, const SoupUri *new_uri)
+soup_message_set_uri (SoupMessage *msg, const SoupUri *uri)
{
SoupMessagePrivate *priv;
g_return_if_fail (SOUP_IS_MESSAGE (msg));
priv = SOUP_MESSAGE_GET_PRIVATE (msg);
- if (priv->uri && new_uri) {
- if (strcmp (priv->uri->host, new_uri->host) != 0)
+ if (priv->uri && uri) {
+ if (strcmp (priv->uri->host, uri->host) != 0)
soup_message_io_stop (msg);
- } else if (!new_uri)
+ } else if (!uri)
soup_message_io_stop (msg);
if (priv->uri)
soup_uri_free (priv->uri);
- priv->uri = soup_uri_copy (new_uri);
+ priv->uri = soup_uri_copy (uri);
}
/**
#define SOUP_IS_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_MESSAGE))
#define SOUP_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_MESSAGE, SoupMessageClass))
+/**
+ * SoupMessageStatus:
+ * @SOUP_MESSAGE_STATUS_IDLE: The message has not yet been queued.
+ * @SOUP_MESSAGE_STATUS_QUEUED: The message has been queued, but is
+ * waiting for a connection to be available.
+ * @SOUP_MESSAGE_STATUS_CONNECTING: The message is waiting for a
+ * specific connection to finish connecting.
+ * @SOUP_MESSAGE_STATUS_RUNNING: The message is being processed.
+ * @SOUP_MESSAGE_STATUS_FINISHED: The message is complete (request and
+ * response both processed).
+ *
+ * Enum indicating the lifecycle of a #SoupMessage.
+ **/
typedef enum {
SOUP_MESSAGE_STATUS_IDLE,
SOUP_MESSAGE_STATUS_QUEUED,
SOUP_MESSAGE_STATUS_FINISHED
} SoupMessageStatus;
+/**
+ * SOUP_MESSAGE_IS_STARTING:
+ * @msg: a #SoupMessage
+ *
+ * Tests if @msg is in a "starting" state, waiting to be sent. (More
+ * commonly used to test if a message has been requeued after its
+ * first attempt.)
+ *
+ * Return value: %TRUE if @msg is waiting to be sent.
+ **/
#define SOUP_MESSAGE_IS_STARTING(msg) (msg->status == SOUP_MESSAGE_STATUS_QUEUED || msg->status == SOUP_MESSAGE_STATUS_CONNECTING)
+/**
+ * SoupTransferEncoding:
+ * @SOUP_TRANSFER_UNKNOWN: HTTP 1.0-style (content ends when the
+ * connection is closed)
+ * @SOUP_TRANSFER_CHUNKED: chunked encoding (only supported for
+ * response)
+ * @SOUP_TRANSFER_CONTENT_LENGTH: Content-Length
+ *
+ * How the length of a request or response is to be encoded.
+ **/
typedef enum {
SOUP_TRANSFER_UNKNOWN = 0,
SOUP_TRANSFER_CHUNKED,
SOUP_TRANSFER_CONTENT_LENGTH
} SoupTransferEncoding;
+/**
+ * SoupOwnership:
+ * @SOUP_BUFFER_SYSTEM_OWNED: The data is owned by soup and it can
+ * free it when it is done with it.
+ * @SOUP_BUFFER_USER_OWNED: The data is owned by the user, who is
+ * responsible for freeing it at the right point
+ * @SOUP_BUFFER_STATIC: The data should not be freed.
+ *
+ * Used by #SoupDataBuffer (and several functions) to indicate the
+ * ownership of a buffer.
+ **/
typedef enum {
SOUP_BUFFER_SYSTEM_OWNED = 0,
SOUP_BUFFER_USER_OWNED,
SOUP_BUFFER_STATIC
} SoupOwnership;
+/**
+ * SoupDataBuffer:
+ * @owner: the ownership of the data
+ * @body: the data itself
+ * @length: length of @body
+ *
+ * A data buffer used in several places.
+ **/
typedef struct {
SoupOwnership owner;
char *body;
guint length;
} SoupDataBuffer;
+/**
+ * SoupMessage:
+ * @method: the HTTP method
+ * @status_code: the HTTP status code
+ * @reason_phrase: the status phrase associated with @status_code
+ * @request: the request buffer
+ * @request_headers: the request headers
+ * @response: the response buffer
+ * @response_headers: the response headers
+ * @status: the processing status of the message
+ *
+ * Represents an HTTP message being sent or received.
+ **/
struct SoupMessage {
GObject parent;
+ /*< public >*/
const char *method;
guint status_code;
GType soup_message_get_type (void);
+/**
+ * SoupMessageCallbackFn:
+ * @req: the #SoupMessage in question
+ * @user_data: user data
+ *
+ * A callback function used by many #SoupMessage methods.
+ **/
typedef void (*SoupMessageCallbackFn) (SoupMessage *req, gpointer user_data);
SoupMessage *soup_message_new (const char *method,
void soup_message_clear_headers (GHashTable *hash);
+/**
+ * SoupHttpVersion:
+ * @SOUP_HTTP_1_0: HTTP 1.0 (RFC 1945)
+ * @SOUP_HTTP_1_1: HTTP 1.1 (RFC 2616)
+ *
+ * Indicates the HTTP protocol version being used.
+ **/
typedef enum {
SOUP_HTTP_1_0 = 0,
SOUP_HTTP_1_1 = 1
void soup_message_set_uri (SoupMessage *msg,
const SoupUri *uri);
+/**
+ * SoupMessageFlags:
+ * @SOUP_MESSAGE_NO_REDIRECT: The session should not follow redirect
+ * (3xx) responses received by this message.
+ * @SOUP_MESSAGE_OVERWRITE_CHUNKS: Rather than building up the
+ * response body in %response, each new chunk should overwrite the
+ * previous one. (This can be used if you are connecting to the
+ * %got_chunk signal or have installed a %SOUP_MESSAGE_BODY_CHUNK
+ * handler.
+ * @SOUP_MESSAGE_EXPECT_CONTINUE: This will cause an "Expect:
+ * 100-continue" header to be added to the outgoing request, giving
+ * the server the opportunity to reject the message (eg, with a 401
+ * Unauthorized) before the full request body is sent.
+ *
+ * Various flags that can be set on a #SoupMessage to alter its
+ * behavior.
+ **/
typedef enum {
- /*
- * SOUP_MESSAGE_NO_REDIRECT:
- * Do not follow redirection responses.
- */
SOUP_MESSAGE_NO_REDIRECT = (1 << 1),
-
- /*
- * SOUP_MESSAGE_OVERWRITE_CHUNKS:
- * Downloaded data chunks should not be stored in the response
- * data buffer. Instead only send data to SOUP_HANDLER_BODY_CHUNK
- * handlers, then truncate the data buffer.
- *
- * Useful when the response is expected to be very large, and
- * storage in memory is not desired.
- */
SOUP_MESSAGE_OVERWRITE_CHUNKS = (1 << 3),
-
- /*
- * SOUP_MESSAGE_EXPECT_CONTINUE: The message includes an
- * "Expect: 100-continue" header, and we should not send the
- * body until the Continue response has been received. (This
- * is automatically set if there is an "Expect: 100-continue"
- * header.)
- */
- SOUP_MESSAGE_EXPECT_CONTINUE = (1 << 4)
+ SOUP_MESSAGE_EXPECT_CONTINUE = (1 << 4)
} SoupMessageFlags;
void soup_message_set_flags (SoupMessage *msg,
/*
* Handler Registration
*/
+
+/**
+ * SoupHandlerPhase:
+ * @SOUP_HANDLER_POST_REQUEST: The handler should run immediately
+ * after sending the request body
+ * @SOUP_HANDLER_PRE_BODY: The handler should run before reading the
+ * response body (after reading the headers).
+ * @SOUP_HANDLER_BODY_CHUNK: The handler should run after every body
+ * chunk is read. (See also %SOUP_MESSAGE_OVERWRITE_CHUNKS.)
+ * @SOUP_HANDLER_POST_BODY: The handler should run after the entire
+ * message body has been read.
+ *
+ * Indicates when a handler added with soup_message_add_handler() or
+ * the like will be run.
+ **/
typedef enum {
SOUP_HANDLER_POST_REQUEST = 1,
SOUP_HANDLER_PRE_BODY,
} SoupHandlerPhase;
void soup_message_add_handler (SoupMessage *msg,
- SoupHandlerPhase type,
+ SoupHandlerPhase phase,
SoupMessageCallbackFn handler_cb,
gpointer user_data);
void soup_message_add_header_handler (SoupMessage *msg,
const char *header,
- SoupHandlerPhase type,
- SoupMessageCallbackFn,
+ SoupHandlerPhase phase,
+ SoupMessageCallbackFn handler_cb,
gpointer user_data);
void soup_message_add_status_code_handler (
SoupMessage *msg,
guint status_code,
- SoupHandlerPhase type,
- SoupMessageCallbackFn,
+ SoupHandlerPhase phase,
+ SoupMessageCallbackFn handler_cb,
gpointer user_data);
void soup_message_add_status_class_handler (
SoupMessage *msg,
SoupStatusClass status_class,
- SoupHandlerPhase type,
- SoupMessageCallbackFn,
+ SoupHandlerPhase phase,
+ SoupMessageCallbackFn handler_cb,
gpointer user_data);
void soup_message_remove_handler (SoupMessage *msg,
- SoupHandlerPhase type,
- SoupMessageCallbackFn,
+ SoupHandlerPhase phase,
+ SoupMessageCallbackFn handler_cb,
gpointer user_data);
/*
/* I/O */
void soup_message_send_request (SoupMessage *req,
SoupSocket *sock,
- gboolean via_proxy);
+ gboolean is_via_proxy);
void soup_message_read_request (SoupMessage *req,
SoupSocket *sock);
void soup_message_io_stop (SoupMessage *msg);
gboolean soup_str_case_equal (gconstpointer v1,
gconstpointer v2);
-/* SSL support */
-
+/**
+ * soup_ssl_supported:
+ *
+ * Can be used to test if libsoup was compiled with ssl support.
+ **/
extern gboolean soup_ssl_supported;
#endif /* SOUP_MISC_H */
}
+/**
+ * soup_session_async_new:
+ *
+ * Creates an asynchronous #SoupSession with the default options.
+ *
+ * Return value: the new session.
+ **/
SoupSession *
soup_session_async_new (void)
{
return g_object_new (SOUP_TYPE_SESSION_ASYNC, NULL);
}
+/**
+ * soup_session_async_new_with_options:
+ * @optname1: name of first property to set
+ * @...: value of @optname1, followed by additional property/value pairs
+ *
+ * Creates an asynchronous #SoupSession with the specified options.
+ *
+ * Return value: the new session.
+ **/
SoupSession *
soup_session_async_new_with_options (const char *optname1, ...)
{
}
+/**
+ * soup_session_sync_new:
+ *
+ * Creates an synchronous #SoupSession with the default options.
+ *
+ * Return value: the new session.
+ **/
SoupSession *
soup_session_sync_new (void)
{
return g_object_new (SOUP_TYPE_SESSION_SYNC, NULL);
}
+/**
+ * soup_session_sync_new_with_options:
+ * @optname1: name of first property to set
+ * @...: value of @optname1, followed by additional property/value pairs
+ *
+ * Creates an synchronous #SoupSession with the specified options.
+ *
+ * Return value: the new session.
+ **/
SoupSession *
soup_session_sync_new_with_options (const char *optname1, ...)
{
object_class->get_property = get_property;
/* signals */
+
+ /**
+ * SoupSession::authenticate:
+ * @session: the session
+ * @msg: the #SoupMessage being sent
+ * @auth_type: the authentication type
+ * @auth_realm: the realm being authenticated to
+ * @username: the signal handler should set this to point to
+ * the provided username
+ * @password: the signal handler should set this to point to
+ * the provided password
+ *
+ * Emitted when the session requires authentication. The
+ * credentials may come from the user, or from cached
+ * information. If no credentials are available, leave
+ * @username and @password unchanged.
+ *
+ * If the provided credentials fail, the #reauthenticate
+ * signal will be emitted.
+ **/
signals[AUTHENTICATE] =
g_signal_new ("authenticate",
G_OBJECT_CLASS_TYPE (object_class),
G_TYPE_STRING,
G_TYPE_POINTER,
G_TYPE_POINTER);
+
+ /**
+ * SoupSession::reauthenticate:
+ * @session: the session
+ * @msg: the #SoupMessage being sent
+ * @auth_type: the authentication type
+ * @auth_realm: the realm being authenticated to
+ * @username: the signal handler should set this to point to
+ * the provided username
+ * @password: the signal handler should set this to point to
+ * the provided password
+ *
+ * Emitted when the credentials provided by the application to
+ * the #authenticate signal have failed. This gives the
+ * application a second chance to provide authentication
+ * credentials. If the new credentials also fail, #SoupSession
+ * will emit #reauthenticate again, and will continue doing so
+ * until the provided credentials work, or a #reauthenticate
+ * signal emission "fails" (because the handler left @username
+ * and @password unchanged). At that point, the 401 or 407
+ * error status will be returned to the caller.
+ *
+ * If your application only uses cached passwords, it should
+ * only connect to #authenticate, and not #reauthenticate.
+ *
+ * If your application always prompts the user for a password,
+ * and never uses cached information, then you can connect the
+ * same handler to #authenticate and #reauthenticate.
+ *
+ * To get standard web-browser behavior, return either cached
+ * information or a user-provided password (whichever is
+ * available) from the #authenticate handler, but return only
+ * user-provided information from the #reauthenticate handler.
+ **/
signals[REAUTHENTICATE] =
g_signal_new ("reauthenticate",
G_OBJECT_CLASS_TYPE (object_class),
* @is_new: on return, %TRUE if the returned connection is new and not
* yet connected
*
- * Tries to find or create a connection for @msg.
+ * Tries to find or create a connection for @msg; this is an internal
+ * method for #SoupSession subclasses.
*
* If there is an idle connection to the relevant host available, then
* that connection will be returned (with *@is_new set to %FALSE). The
* soup_soap_message_new:
* @method: the HTTP method for the created request.
* @uri_string: the destination endpoint (as a string).
+ * @standalone: ??? FIXME
+ * @xml_encoding: ??? FIXME
+ * @env_prefix: ??? FIXME
+ * @env_uri: ??? FIXME
*
* Creates a new empty #SoupSoapMessage, which will connect to @uri_string.
*
* soup_soap_message_new_from_uri:
* @method: the HTTP method for the created request.
* @uri: the destination endpoint (as a #SoupUri).
+ * @standalone: ??? FIXME
+ * @xml_encoding: ??? FIXME
+ * @env_prefix: ??? FIXME
+ * @env_uri: ??? FIXME
*
- * * Creates a new empty #SoupSoapMessage, which will connect to @uri
+ * Creates a new empty #SoupSoapMessage, which will connect to @uri
*
* Returns: the new #SoupSoapMessage
*/
/**
* soup_soap_message_start_element:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @name: the element name.
* @prefix: the namespace prefix
* @ns_uri: the namespace URI
*
- * Starts a new arbitrary message element, with @name as the element name,
- * @prefix as the XML Namespace prefix, and @ns_uri as the XML Namespace uri for * the created element.
+ * Starts a new arbitrary message element, with @name as the element
+ * name, @prefix as the XML Namespace prefix, and @ns_uri as the XML
+ * Namespace uri for * the created element.
*
- * Passing @prefix with no @ns_uri will cause a recursive search for an
- * existing namespace with the same prefix. Failing that a new ns will be
- * created with an empty uri.
+ * Passing @prefix with no @ns_uri will cause a recursive search for
+ * an existing namespace with the same prefix. Failing that a new ns
+ * will be created with an empty uri.
*
- * Passing both @prefix and @ns_uri always causes new namespace attribute
- * creation.
+ * Passing both @prefix and @ns_uri always causes new namespace
+ * attribute creation.
*
- * Passing NULL for both @prefix and @ns_uri causes no prefix to be used, and
- * the element will be in the default namespace.
+ * Passing NULL for both @prefix and @ns_uri causes no prefix to be
+ * used, and the element will be in the default namespace.
*/
void
soup_soap_message_start_element (SoupSoapMessage *msg,
/**
* soup_soap_message_end_element:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
* Closes the current message element.
*/
/**
* soup_soap_message_start_fault:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @faultcode: faultcode element value
* @faultstring: faultstring element value
- * @faultactor: faultactor element value
+ * @faultfactor: faultfactor element value
*
- * Starts a new SOAP Fault element, creating faultcode, faultstring, and
- * faultactor child elements.
+ * Starts a new SOAP Fault element, creating faultcode, faultstring,
+ * and faultfactor child elements.
*
* If you wish to add the faultdetail element, use
- * %soup_soap_message_start_fault_detail, and then %soup_soap_message_start_element
- * to add arbitrary sub-elements.
+ * soup_soap_message_start_fault_detail(), and then
+ * soup_soap_message_start_element() to add arbitrary sub-elements.
*/
void
soup_soap_message_start_fault (SoupSoapMessage *msg,
/**
* soup_soap_message_end_fault:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
* Closes the current SOAP Fault element.
*/
/**
* soup_soap_message_start_fault_detail:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
- * Start the faultdetail child element of the current SOAP Fault element. The
- * faultdetail element allows arbitrary data to be sent in a returned fault.
+ * Start the faultdetail child element of the current SOAP Fault
+ * element. The faultdetail element allows arbitrary data to be sent
+ * in a returned fault.
**/
void
soup_soap_message_start_fault_detail (SoupSoapMessage *msg)
/**
* soup_soap_message_end_fault_detail:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
* Closes the current SOAP faultdetail element.
*/
/**
* soup_soap_message_start_header:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
* Creates a new SOAP Header element. You can call
- * %soup_soap_message_start_header_element after this to add a new header child
- * element. SOAP Header elements allow out-of-band data to be transferred while
- * not interfering with the message body.
+ * soup_soap_message_start_header_element() after this to add a new
+ * header child element. SOAP Header elements allow out-of-band data
+ * to be transferred while not interfering with the message body.
*
- * This should be called after %soup_soap_message_start_envelope and before
- * %soup_soap_message_start_body.
+ * This should be called after soup_soap_message_start_envelope() and
+ * before soup_soap_message_start_body().
*/
void
soup_soap_message_start_header (SoupSoapMessage *msg)
/**
* soup_soap_message_end_header:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
* Closes the current SOAP Header element.
*/
/**
* soup_soap_message_start_header_element:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @name: name of the header element
* @must_understand: whether the recipient must understand the header in order
* to proceed with processing the message
/**
* soup_soap_message_end_header_element:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
* Closes the current SOAP header element.
*/
/**
* soup_soap_message_write_int:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @i: the integer value to write.
*
- * Writes the stringified value if @i as the current element's content.
+ * Writes the stringified value of @i as the current element's content.
*/
void
-soup_soap_message_write_int (SoupSoapMessage *msg, long i)
+soup_soap_message_write_int (SoupSoapMessage *msg, glong i)
{
char *str = g_strdup_printf ("%ld", i);
soup_soap_message_write_string (msg, str);
/**
* soup_soap_message_write_double:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @d: the double value to write.
*
- * Writes the stringified value if @d as the current element's content.
+ * Writes the stringified value of @d as the current element's content.
*/
void
soup_soap_message_write_double (SoupSoapMessage *msg, double d)
/**
* soup_soap_message_write_base64:
- * @msg: the %SoupSoapMessage
+ * @msg: the #SoupSoapMessage
* @string: the binary data buffer to encode
* @len: the length of data to encode
*
- * Writes the Base-64 encoded value of @string as the current element's content. **/
+ * Writes the Base-64 encoded value of @string as the current
+ * element's content.
+ **/
void
soup_soap_message_write_base64 (SoupSoapMessage *msg, const char *string, int len)
{
/**
* soup_soap_message_write_time:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @timeval: pointer to a time_t to encode
*
- * Writes the stringified value of @timeval as the current element's content.
+ * Writes the stringified value of @timeval as the current element's
+ * content.
**/
void
soup_soap_message_write_time (SoupSoapMessage *msg, const time_t *timeval)
/**
* soup_soap_message_write_string:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @string: string to write.
*
* Writes the @string as the current element's content.
/**
* soup_soap_message_write_buffer:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @buffer: the string data buffer to write.
* @len: length of @buffer.
*
- * Writes the string buffer pointed to by @buffer as the current element's content.
+ * Writes the string buffer pointed to by @buffer as the current
+ * element's content.
*/
void
soup_soap_message_write_buffer (SoupSoapMessage *msg, const char *buffer, int len)
/**
* soup_soap_message_set_element_type:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @xsi_type: the type name for the element.
*
- * Sets the current element's XML schema xsi:type attribute, which specifies
- * the element's type name.
+ * Sets the current element's XML schema xsi:type attribute, which
+ * specifies the element's type name.
*/
void
soup_soap_message_set_element_type (SoupSoapMessage *msg, const char *xsi_type)
/**
* soup_soap_message_set_null:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
* Sets the current element's XML Schema xsi:null attribute.
*/
/**
* soup_soap_message_add_attribute:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @name: name of the attribute
* @value: value of the attribute
* @prefix: the namespace prefix
/**
* soup_soap_message_add_namespace:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @prefix: the namespace prefix
* @ns_uri: the namespace URI, or NULL for empty namespace
*
/**
* soup_soap_message_set_default_namespace:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @ns_uri: the namespace URI.
*
- * Sets the default namespace to the URI specified in @ns_uri. The default
- * namespace becomes the namespace all non-explicitly namespaced child elements
- * fall into.
+ * Sets the default namespace to the URI specified in @ns_uri. The
+ * default namespace becomes the namespace all non-explicitly
+ * namespaced child elements fall into.
*/
void
soup_soap_message_set_default_namespace (SoupSoapMessage *msg, const char *ns_uri)
/**
* soup_soap_message_set_encoding_style:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @enc_style: the new encodingStyle value
*
- * Sets the encodingStyle attribute on the current element to the value of
- * @enc_style.
+ * Sets the encodingStyle attribute on the current element to the
+ * value of @enc_style.
*/
void
soup_soap_message_set_encoding_style (SoupSoapMessage *msg, const char *enc_style)
/**
* soup_soap_message_reset:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
* Resets the internal XML representation of the SOAP message.
*/
/**
* soup_soap_message_persist:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
- * Writes the serialized XML tree to the %SoupMessage's buffer.
+ * Writes the serialized XML tree to the #SoupMessage's buffer.
*/
void
soup_soap_message_persist (SoupSoapMessage *msg)
/**
* soup_soap_message_get_namespace_prefix:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
* @ns_uri: the namespace URI.
*
* Returns the namespace prefix for @ns_uri (or an empty string if
/**
* soup_soap_message_get_xml_doc:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
- * Returns the internal XML representation tree of the %SoupSoapMessage pointed
- * to by @msg.
+ * Returns the internal XML representation tree of the
+ * #SoupSoapMessage pointed to by @msg.
*
- * Return value: the xmlDocPtr representing the SOAP message.
+ * Return value: the #xmlDocPtr representing the SOAP message.
*/
xmlDocPtr
soup_soap_message_get_xml_doc (SoupSoapMessage *msg)
/**
* soup_soap_message_parse_response:
- * @msg: the %SoupSoapMessage.
+ * @msg: the #SoupSoapMessage.
*
* Parses the response returned by the server.
*
- * Return value: a %SoupSoapResponse representing the response from the server,
- * or %NULL if there was an error.
+ * Return value: a #SoupSoapResponse representing the response from
+ * the server, or %NULL if there was an error.
*/
SoupSoapResponse *
soup_soap_message_parse_response (SoupSoapMessage *msg)
const char *prefix,
const char *ns_uri);
void soup_soap_message_end_header_element (SoupSoapMessage *msg);
-void soup_soap_message_write_int (SoupSoapMessage *msg, long i);
+void soup_soap_message_write_int (SoupSoapMessage *msg, glong i);
void soup_soap_message_write_double (SoupSoapMessage *msg, double d);
void soup_soap_message_write_base64 (SoupSoapMessage *msg, const char *string, int len);
void soup_soap_message_write_time (SoupSoapMessage *msg, const time_t *timeval);
/**
* soup_soap_response_new:
*
- * Create a new empty %SoupSoapResponse object, which can be modified with the
- * accessor functions provided with this class.
+ * Create a new empty #SoupSoapResponse object, which can be modified
+ * with the accessor functions provided with this class.
*
- * Return value: the new %SoupSoapResponse (or %NULL if there was an error).
+ * Return value: the new #SoupSoapResponse (or %NULL if there was an
+ * error).
*/
SoupSoapResponse *
soup_soap_response_new (void)
* soup_soap_response_new_from_string:
* @xmlstr: the XML string to parse.
*
- * Create a new %SoupSoapResponse object from the XML string contained in
- * @xmlstr.
+ * Create a new #SoupSoapResponse object from the XML string contained
+ * in @xmlstr.
*
- * Return value: the new %SoupSoapResponse (or %NULL if there was an error).
+ * Return value: the new #SoupSoapResponse (or %NULL if there was an
+ * error).
*/
SoupSoapResponse *
soup_soap_response_new_from_string (const char *xmlstr)
/**
* soup_soap_response_from_string:
- * @response: the %SoupSoapResponse object.
+ * @response: the #SoupSoapResponse object.
* @xmlstr: XML string to parse.
*
- * Parses the string contained in @xmlstr and sets all properties from it in the
- * @response object.
+ * Parses the string contained in @xmlstr and sets all properties from
+ * it in the @response object.
*
* Return value: %TRUE if successful, %FALSE otherwise.
*/
/**
* soup_soap_response_get_method_name:
- * @response: the %SoupSoapResponse object.
+ * @response: the #SoupSoapResponse object.
*
* Gets the method name from the SOAP response.
*
/**
* soup_soap_response_set_method_name:
- * @response: the %SoupSoapResponse object.
+ * @response: the #SoupSoapResponse object.
* @method_name: the method name to set.
*
- * Sets the method name on the given %SoupSoapResponse.
+ * Sets the method name on the given #SoupSoapResponse.
*/
void
soup_soap_response_set_method_name (SoupSoapResponse *response, const char *method_name)
/**
* soup_soap_parameter_get_name:
+ * @param: the parameter
+ *
+ * Returns the parameter name.
+ *
+ * Return value: the parameter name.
*/
const char *
soup_soap_parameter_get_name (SoupSoapParameter *param)
/**
* soup_soap_parameter_get_int_value:
+ * @param: the parameter
+ *
+ * Returns the parameter's (integer) value.
+ *
+ * Return value: the parameter value as an integer
*/
int
soup_soap_parameter_get_int_value (SoupSoapParameter *param)
/**
* soup_soap_parameter_get_string_value:
+ * @param: the parameter
+ *
+ * Returns the parameter's value.
+ *
+ * Return value: the parameter value as a string, which must be freed
+ * by the caller.
*/
char *
soup_soap_parameter_get_string_value (SoupSoapParameter *param)
/**
* soup_soap_parameter_get_first_child:
- * @param: A %SoupSoapParameter.
+ * @param: A #SoupSoapParameter.
*
- * Gets the first child of the given %SoupSoapParameter. This is used
+ * Gets the first child of the given #SoupSoapParameter. This is used
* for compound data types, which can contain several parameters
* themselves.
*
- * Return value: the first child or NULL if there are no children.
+ * Return value: the first child or %NULL if there are no children.
*/
SoupSoapParameter *
soup_soap_parameter_get_first_child (SoupSoapParameter *param)
/**
* soup_soap_parameter_get_first_child_by_name:
- * @param: A %SoupSoapParameter.
+ * @param: A #SoupSoapParameter.
* @name: The name of the child parameter to look for.
*
- * Gets the first child of the given %SoupSoapParameter whose name
- * is @name.
+ * Gets the first child of the given #SoupSoapParameter whose name is
+ * @name.
*
- * Return value: the first child with the given name or NULL if there
+ * Return value: the first child with the given name or %NULL if there
* are no children.
*/
SoupSoapParameter *
/**
* soup_soap_parameter_get_next_child:
- * @param: A %SoupSoapParameter.
+ * @param: A #SoupSoapParameter.
+ *
+ * Gets the next sibling of the given #SoupSoapParameter. This is used
+ * for compound data types, which can contain several parameters
+ * themselves.
+ *
+ * FIXME: the name of this method is wrong
+ *
+ * Return value: the next sibling, or %NULL if there are no more
+ * siblings.
*/
SoupSoapParameter *
soup_soap_parameter_get_next_child (SoupSoapParameter *param)
/**
* soup_soap_parameter_get_next_child_by_name:
+ * @param: A #SoupSoapParameter.
+ * @name: The name of the sibling parameter to look for.
+ *
+ * Gets the next sibling of the given #SoupSoapParameter whose name is
+ * @name.
+ *
+ * FIXME: the name of this method is wrong
+ *
+ * Return value: the next sibling with the given name, or %NULL
*/
SoupSoapParameter *
soup_soap_parameter_get_next_child_by_name (SoupSoapParameter *param,
/**
* soup_soap_parameter_get_property:
- * @param:
+ * @param: the parameter
* @prop_name: Name of the property to retrieve.
+ *
+ * Returns the named property of @param.
+ *
+ * Return value: the property, which must be freed by the caller.
*/
char *
soup_soap_parameter_get_property (SoupSoapParameter *param, const char *prop_name)
/**
* soup_soap_response_get_parameters:
- * @response: the %SoupSoapResponse object.
+ * @response: the #SoupSoapResponse object.
*
* Returns the list of parameters received in the SOAP response.
*
- * Return value: the list of parameters, represented in
- * SoupSoapParameter's, which is an opaque type used to
- * represent a parameter in the SOAP response.
+ * Return value: a list of #SoupSoapParameter
*/
const GList *
soup_soap_response_get_parameters (SoupSoapResponse *response)
/**
* soup_soap_response_get_first_parameter:
- * @response: the %SoupSoapResponse object.
+ * @response: the #SoupSoapResponse object.
*
* Retrieves the first parameter contained in the SOAP response.
*
- * Return value: a %SoupSoapParameter representing the
- * first parameter. This is an opaque type used to
- * represent a parameter in the SOAP response.
+ * Return value: a #SoupSoapParameter representing the first
+ * parameter, or %NULL if there are no parameters.
*/
SoupSoapParameter *
soup_soap_response_get_first_parameter (SoupSoapResponse *response)
/**
* soup_soap_response_get_first_parameter_by_name:
- * @response: the %SoupSoapResponse object.
+ * @response: the #SoupSoapResponse object.
* @name: the name of the parameter to look for.
*
* Retrieves the first parameter contained in the SOAP response whose
* name is @name.
*
- * Return value: a %SoupSoapParameter representing the
- * first parameter. This is an opaque type used to
- * represent a parameter in the SOAP response.
+ * Return value: a #SoupSoapParameter representing the first parameter
+ * with the given name, or %NULL.
*/
SoupSoapParameter *
soup_soap_response_get_first_parameter_by_name (SoupSoapResponse *response,
/**
* soup_soap_response_get_next_parameter:
- * @response: the %SoupSoapResponse object.
+ * @response: the #SoupSoapResponse object.
* @from: the parameter to start from.
*
- * Retrieves the parameter following @from in the %SoupSoapResponse object.
+ * Retrieves the parameter following @from in the #SoupSoapResponse
+ * object.
*
- * Return value: a %SoupSoapParameter representing the parameter.
+ * Return value: a #SoupSoapParameter representing the parameter.
*/
SoupSoapParameter *
soup_soap_response_get_next_parameter (SoupSoapResponse *response,
/**
* soup_soap_response_get_next_parameter_by_name:
- * @response: the %SoupSoapResponse object.
+ * @response: the #SoupSoapResponse object.
* @from: the parameter to start from.
* @name: the name of the parameter to look for.
*
- * Retrieves the parameter following @from in the %SoupSoapResponse object
- * whose name matches @name.
+ * Retrieves the first parameter following @from in the
+ * #SoupSoapResponse object whose name matches @name.
*
- * Return value: a %SoupSoapParameter representing the parameter.
+ * Return value: a #SoupSoapParameter representing the parameter.
*/
SoupSoapParameter *
soup_soap_response_get_next_parameter_by_name (SoupSoapResponse *response,
object_class->get_property = get_property;
/* signals */
+
+ /**
+ * SoupSocket::connect-result:
+ * @sock: the socket
+ * @status: the status
+ *
+ * Emitted when a connection attempt succeeds or fails. This
+ * is used internally by soup_socket_client_new_async().
+ **/
signals[CONNECT_RESULT] =
g_signal_new ("connect_result",
G_OBJECT_CLASS_TYPE (object_class),
soup_marshal_NONE__INT,
G_TYPE_NONE, 1,
G_TYPE_INT);
+
+ /**
+ * SoupSocket::readable:
+ * @sock: the socket
+ *
+ * Emitted when an async socket is readable. See
+ * soup_socket_read() and soup_socket_read_until().
+ **/
signals[READABLE] =
g_signal_new ("readable",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupSocket::writable:
+ * @sock: the socket
+ *
+ * Emitted when an async socket is writable. See
+ * soup_socket_write().
+ **/
signals[WRITABLE] =
g_signal_new ("writable",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupSocket::disconnected:
+ * @sock: the socket
+ *
+ * Emitted when the socket is disconnected, for whatever
+ * reason.
+ **/
signals[DISCONNECTED] =
g_signal_new ("disconnected",
G_OBJECT_CLASS_TYPE (object_class),
NULL, NULL,
soup_marshal_NONE__NONE,
G_TYPE_NONE, 0);
+
+ /**
+ * SoupSocket::new-connection:
+ * @sock: the socket
+ * @new: the new socket
+ *
+ * Emitted when a listening socket (set up with
+ * soup_socket_listen() or soup_socket_server_new()) receives a
+ * new connection.
+ **/
signals[NEW_CONNECTION] =
g_signal_new ("new_connection",
G_OBJECT_CLASS_TYPE (object_class),
#define SOUP_SOCKET_IS_SERVER "is-server"
#define SOUP_SOCKET_SSL_CREDENTIALS "ssl-creds"
+/**
+ * SoupSocketCallback:
+ * @sock: the #SoupSocket
+ * @status: an HTTP status code indicating success or failure
+ * @user_data: the data passed to soup_socket_client_new_async()
+ *
+ * The callback function passed to soup_socket_client_new_async().
+ **/
+typedef void (*SoupSocketCallback) (SoupSocket *sock,
+ guint status,
+ gpointer user_data);
+
+/**
+ * SoupSocketListenerCallback:
+ * @listener: the listening #SoupSocket
+ * @sock: the newly-received #SoupSocket
+ * @user_data: the data passed to soup_socket_server_new().
+ *
+ * The callback function passed to soup_socket_server_new(), which
+ * receives new connections.
+ **/
+typedef void (*SoupSocketListenerCallback) (SoupSocket *listener,
+ SoupSocket *sock,
+ gpointer user_data);
+
GType soup_socket_get_type (void);
SoupSocket *soup_socket_new (const char *optname1,
void soup_socket_disconnect (SoupSocket *sock);
gboolean soup_socket_is_connected (SoupSocket *sock);
-typedef void (*SoupSocketCallback) (SoupSocket *sock,
- guint status,
- gpointer user_data);
-typedef void (*SoupSocketListenerCallback) (SoupSocket *listener,
- SoupSocket *sock,
- gpointer user_data);
-
SoupSocket *soup_socket_client_new_async (const char *hostname,
guint port,
gpointer ssl_creds,
SoupAddress *soup_socket_get_remote_address (SoupSocket *sock);
+/**
+ * SoupSocketIOStatus:
+ * @SOUP_SOCKET_OK: Success
+ * @SOUP_SOCKET_WOULD_BLOCK: Cannot read/write any more at this time
+ * @SOUP_SOCKET_EOF: End of file
+ * @SOUP_SOCKET_ERROR: Other error
+ *
+ * Return value from the #SoupSocket IO methods.
+ **/
typedef enum {
SOUP_SOCKET_OK,
SOUP_SOCKET_WOULD_BLOCK,
#include <glib.h>
+/**
+ * SoupSSLType:
+ * @SOUP_SSL_TYPE_CLIENT: the client side of an SSL connection
+ * @SOUP_SSL_TYPE_SERVER: the server side of an SSL connection
+ *
+ * What kind of SSL connection this is.
+ **/
typedef enum {
SOUP_SSL_TYPE_CLIENT = 0,
SOUP_SSL_TYPE_SERVER
#ifndef SOUP_STATUS_H
#define SOUP_STATUS_H 1
+/**
+ * SoupStatusClass:
+ * @SOUP_STATUS_CLASS_TRANSPORT_ERROR: Network or Soup-level error
+ * @SOUP_STATUS_CLASS_INFORMATIONAL: HTTP 1xx response providing
+ * partial information about the state of a request
+ * @SOUP_STATUS_CLASS_SUCCESS: HTTP 2xx successful response
+ * @SOUP_STATUS_CLASS_REDIRECT: HTTP 3xx redirection response
+ * @SOUP_STATUS_CLASS_CLIENT_ERROR: HTTP 4xx client error response
+ * @SOUP_STATUS_CLASS_SERVER_ERROR: HTTP 5xx server error response
+ *
+ * The classes of HTTP and Soup status codes
+ **/
typedef enum {
SOUP_STATUS_CLASS_TRANSPORT_ERROR = 0,
SOUP_STATUS_CLASS_INFORMATIONAL,
SOUP_STATUS_CLASS_SERVER_ERROR
} SoupStatusClass;
+/**
+ * SOUP_STATUS_IS_TRANSPORT_ERROR:
+ * @status: a status code
+ *
+ * Tests if @status is a libsoup transport error.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+/**
+ * SOUP_STATUS_IS_INFORMATIONAL:
+ * @status: an HTTP status code
+ *
+ * Tests if @status is an Informational (1xx) response.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+/**
+ * SOUP_STATUS_IS_SUCCESSFUL:
+ * @status: an HTTP status code
+ *
+ * Tests if @status is a Successful (2xx) response.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+/**
+ * SOUP_STATUS_IS_REDIRECTION:
+ * @status: an HTTP status code
+ *
+ * Tests if @status is a Redirection (3xx) response.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+/**
+ * SOUP_STATUS_IS_CLIENT_ERROR:
+ * @status: an HTTP status code
+ *
+ * Tests if @status is a Client Error (4xx) response.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+/**
+ * SOUP_STATUS_IS_SERVER_ERROR:
+ * @status: an HTTP status code
+ *
+ * Tests if @status is a Server Error (5xx) response.
+ *
+ * Return value: %TRUE or %FALSE
+ **/
+
#define SOUP_STATUS_IS_TRANSPORT_ERROR(status) ((status) > 0 && (status) < 100)
#define SOUP_STATUS_IS_INFORMATIONAL(status) ((status) >= 100 && (status) < 200)
#define SOUP_STATUS_IS_SUCCESSFUL(status) ((status) >= 200 && (status) < 300)
#define SOUP_STATUS_IS_CLIENT_ERROR(status) ((status) >= 400 && (status) < 500)
#define SOUP_STATUS_IS_SERVER_ERROR(status) ((status) >= 500 && (status) < 600)
+/**
+ * SoupKnownStatusCode:
+ * @SOUP_STATUS_NONE: No status available. (Eg, the message has not
+ * been sent yet)
+ * @SOUP_STATUS_CANCELLED: Message was cancelled locally
+ * @SOUP_STATUS_CANT_RESOLVE: Unable to resolve destination host name
+ * @SOUP_STATUS_CANT_RESOLVE_PROXY: Unable to resolve proxy host name
+ * @SOUP_STATUS_CANT_CONNECT: Unable to connect to remote host
+ * @SOUP_STATUS_CANT_CONNECT_PROXY: Unable to connect to proxy
+ * @SOUP_STATUS_SSL_FAILED: SSL negotiation failed
+ * @SOUP_STATUS_IO_ERROR: A network error occurred, or the other end
+ * closed the connection unexpectedly
+ * @SOUP_STATUS_MALFORMED: Malformed data (usually a programmer error)
+ * @SOUP_STATUS_TRY_AGAIN: Try again. (Only returned in certain
+ * specifically documented cases)
+ * @SOUP_STATUS_CONTINUE: 100 Continue (HTTP)
+ * @SOUP_STATUS_SWITCHING_PROTOCOLS: 101 Switching Protocols (HTTP)
+ * @SOUP_STATUS_PROCESSING: 102 Processing (WebDAV)
+ * @SOUP_STATUS_OK: 200 Success (HTTP). Also used by many lower-level
+ * soup routines to indicate success.
+ * @SOUP_STATUS_CREATED: 201 Created (HTTP)
+ * @SOUP_STATUS_ACCEPTED: 202 Accepted (HTTP)
+ * @SOUP_STATUS_NON_AUTHORITATIVE: 203 Non-Authoritative Information
+ * (HTTP)
+ * @SOUP_STATUS_NO_CONTENT: 204 No Content (HTTP)
+ * @SOUP_STATUS_RESET_CONTENT: 205 Reset Content (HTTP)
+ * @SOUP_STATUS_PARTIAL_CONTENT: 206 Partial Content (HTTP)
+ * @SOUP_STATUS_MULTI_STATUS: 207 Multi-Status (WebDAV)
+ * @SOUP_STATUS_MULTIPLE_CHOICES: 300 Multiple Choices (HTTP)
+ * @SOUP_STATUS_MOVED_PERMANENTLY: 301 Moved Permanently (HTTP)
+ * @SOUP_STATUS_FOUND: 302 Found (HTTP)
+ * @SOUP_STATUS_MOVED_TEMPORARILY: 302 Moved Temporarily (old name,
+ * RFC 2068)
+ * @SOUP_STATUS_SEE_OTHER: 303 See Other (HTTP)
+ * @SOUP_STATUS_NOT_MODIFIED: 304 Not Modified (HTTP)
+ * @SOUP_STATUS_USE_PROXY: 305 Use Proxy (HTTP)
+ * @SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL: 306 [Unused] (HTTP)
+ * @SOUP_STATUS_TEMPORARY_REDIRECT: 307 Temporary Redirect (HTTP)
+ * @SOUP_STATUS_BAD_REQUEST: 400 Bad Request (HTTP)
+ * @SOUP_STATUS_UNAUTHORIZED: 401 Unauthorized (HTTP)
+ * @SOUP_STATUS_PAYMENT_REQUIRED: 402 Payment Required (HTTP)
+ * @SOUP_STATUS_FORBIDDEN: 403 Forbidden (HTTP)
+ * @SOUP_STATUS_NOT_FOUND: 404 Not Found (HTTP)
+ * @SOUP_STATUS_METHOD_NOT_ALLOWED: 405 Method Not Allowed (HTTP)
+ * @SOUP_STATUS_NOT_ACCEPTABLE: 406 Not Acceptable (HTTP)
+ * @SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407 Proxy Authentication
+ * Required (HTTP)
+ * @SOUP_STATUS_PROXY_UNAUTHORIZED: shorter alias for
+ * %SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED
+ * @SOUP_STATUS_REQUEST_TIMEOUT: 408 Request Timeout (HTTP)
+ * @SOUP_STATUS_CONFLICT: 409 Conflict (HTTP)
+ * @SOUP_STATUS_GONE: 410 Gone (HTTP)
+ * @SOUP_STATUS_LENGTH_REQUIRED: 411 Length Required (HTTP)
+ * @SOUP_STATUS_PRECONDITION_FAILED: 412 Precondition Failed (HTTP)
+ * @SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE: 413 Request Entity Too Large
+ * (HTTP)
+ * @SOUP_STATUS_REQUEST_URI_TOO_LONG: 414 Request-URI Too Long (HTTP)
+ * @SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415 Unsupported Media Type
+ * (HTTP)
+ * @SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE: 416 Requested Range
+ * Not Satisfiable (HTTP)
+ * @SOUP_STATUS_INVALID_RANGE: shorter alias for
+ * %SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
+ * @SOUP_STATUS_EXPECTATION_FAILED: 417 Expectation Failed (HTTP)
+ * @SOUP_STATUS_UNPROCESSABLE_ENTITY: 422 Unprocessable Entity
+ * (WebDAV)
+ * @SOUP_STATUS_LOCKED: 423 Locked (WebDAV)
+ * @SOUP_STATUS_FAILED_DEPENDENCY: 424 Failed Dependency (WebDAV)
+ * @SOUP_STATUS_INTERNAL_SERVER_ERROR: 500 Internal Server Error
+ * (HTTP)
+ * @SOUP_STATUS_NOT_IMPLEMENTED: 501 Not Implemented (HTTP)
+ * @SOUP_STATUS_BAD_GATEWAY: 502 Bad Gateway (HTTP)
+ * @SOUP_STATUS_SERVICE_UNAVAILABLE: 503 Service Unavailable (HTTP)
+ * @SOUP_STATUS_GATEWAY_TIMEOUT: 504 Gateway Timeout (HTTP)
+ * @SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505 HTTP Version Not
+ * Supported (HTTP)
+ * @SOUP_STATUS_INSUFFICIENT_STORAGE: 507 Insufficient Storage
+ * (WebDAV)
+ * @SOUP_STATUS_NOT_EXTENDED: 510 Not Extended (RFC 2774)
+ *
+ * These represent the known HTTP status code values, plus various
+ * network and internal errors.
+ **/
typedef enum {
SOUP_STATUS_NONE,
/**
* soup_uri_equal:
- * @u1: a #SoupUri
- * @u2: another #SoupUri
+ * @uri1: a #SoupUri
+ * @uri2: another #SoupUri
*
- * Tests whether or not @u1 and @u2 are equal in all parts
+ * Tests whether or not @uri1 and @uri2 are equal in all parts
*
* Return value: %TRUE or %FALSE
**/
gboolean
-soup_uri_equal (const SoupUri *u1, const SoupUri *u2)
+soup_uri_equal (const SoupUri *uri1, const SoupUri *uri2)
{
- if (u1->protocol != u2->protocol ||
- u1->port != u2->port ||
- !parts_equal (u1->user, u2->user) ||
- !parts_equal (u1->passwd, u2->passwd) ||
- !parts_equal (u1->host, u2->host) ||
- !parts_equal (u1->path, u2->path) ||
- !parts_equal (u1->query, u2->query) ||
- !parts_equal (u1->fragment, u2->fragment))
+ if (uri1->protocol != uri2->protocol ||
+ uri1->port != uri2->port ||
+ !parts_equal (uri1->user, uri2->user) ||
+ !parts_equal (uri1->passwd, uri2->passwd) ||
+ !parts_equal (uri1->host, uri2->host) ||
+ !parts_equal (uri1->path, uri2->path) ||
+ !parts_equal (uri1->query, uri2->query) ||
+ !parts_equal (uri1->fragment, uri2->fragment))
return FALSE;
return TRUE;
#include <libsoup/soup-types.h>
+/**
+ * SoupProtocol:
+ *
+ * #GQuark is used for SoupProtocol so that the protocol of a #SoupUri
+ * can be tested quickly.
+ **/
typedef GQuark SoupProtocol;
+
+/**
+ * SOUP_PROTOCOL_HTTP:
+ *
+ * This returns the #SoupProtocol value for "http".
+ **/
#define SOUP_PROTOCOL_HTTP (g_quark_from_static_string ("http"))
+
+/**
+ * SOUP_PROTOCOL_HTTPS:
+ *
+ * This returns the #SoupProtocol value for "https".
+**/
#define SOUP_PROTOCOL_HTTPS (g_quark_from_static_string ("https"))
struct SoupUri {