diff options
author | Dan Winship <danw@gnome.org> | 2013-12-09 13:24:27 +0100 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2014-05-01 14:19:17 -0400 |
commit | 5ba43350f7f9d98c2bd4892921eeabccfaba3fb1 (patch) | |
tree | 628783c4840e60a5283fcb6621622491ba1db1b0 /libsoup/soup-socket-private.h | |
parent | f29b2959add37a7e24556553dd79d6eababee57f (diff) | |
download | libsoup-sockprops.tar.gz |
soup-socket: Add SoupSocketProperties to transfer props from session to socketsockprops
There are a large number of SoupSession properties that need to be
propagated through the SoupConnection to the SoupSocket. Wrap them all
up into a single struct for ease of carrying.
Diffstat (limited to 'libsoup/soup-socket-private.h')
-rw-r--r-- | libsoup/soup-socket-private.h | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/libsoup/soup-socket-private.h b/libsoup/soup-socket-private.h index a0597683..ad8c2ba0 100644 --- a/libsoup/soup-socket-private.h +++ b/libsoup/soup-socket-private.h @@ -8,9 +8,9 @@ #include "soup-socket.h" -#define SOUP_SOCKET_CLEAN_DISPOSE "clean-dispose" -#define SOUP_SOCKET_PROXY_RESOLVER "proxy-resolver" -#define SOUP_SOCKET_CLOSE_ON_DISPOSE "close-on-dispose" +#define SOUP_SOCKET_PROXY_RESOLVER "proxy-resolver" +#define SOUP_SOCKET_CLOSE_ON_DISPOSE "close-on-dispose" +#define SOUP_SOCKET_SOCKET_PROPERTIES "socket-properties" gboolean soup_socket_connect_sync_internal (SoupSocket *sock, GCancellable *cancellable, @@ -42,4 +42,40 @@ GIOStream *soup_socket_get_iostream (SoupSocket *sock); SoupURI *soup_socket_get_http_proxy_uri (SoupSocket *sock); + +typedef struct { + GMainContext *async_context; + gboolean use_thread_context; + + GProxyResolver *proxy_resolver; + SoupAddress *local_addr; + + GTlsDatabase *tlsdb; + gboolean ssl_strict; + + guint io_timeout; + guint idle_timeout; + + /*< private >*/ + guint ref_count; +} SoupSocketProperties; + +GType soup_socket_properties_get_type (void); +#define SOUP_TYPE_SOCKET_PROPERTIES (soup_socket_properties_get_type ()) + +SoupSocketProperties *soup_socket_properties_new (GMainContext *async_context, + gboolean use_thread_context, + GProxyResolver *proxy_resolver, + SoupAddress *local_addr, + GTlsDatabase *tlsdb, + gboolean ssl_strict, + guint io_timeout, + guint idle_timeout); + +SoupSocketProperties *soup_socket_properties_ref (SoupSocketProperties *props); +void soup_socket_properties_unref (SoupSocketProperties *props); + +void soup_socket_properties_push_async_context (SoupSocketProperties *props); +void soup_socket_properties_pop_async_context (SoupSocketProperties *props); + #endif /* SOUP_SOCKET_PRIVATE_H */ |