1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 * Copyright (C) 2000-2003, Ximian, Inc.
6 #ifndef __SOUP_CONNECTION_H__
7 #define __SOUP_CONNECTION_H__ 1
9 #include "soup-types.h"
10 #include "soup-message-private.h"
11 #include "soup-misc.h"
15 #define SOUP_TYPE_CONNECTION (soup_connection_get_type ())
16 #define SOUP_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_CONNECTION, SoupConnection))
17 #define SOUP_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_CONNECTION, SoupConnectionClass))
18 #define SOUP_IS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_CONNECTION))
19 #define SOUP_IS_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_CONNECTION))
20 #define SOUP_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_CONNECTION, SoupConnectionClass))
22 struct _SoupConnection {
28 GObjectClass parent_class;
31 void (*disconnected) (SoupConnection *);
33 } SoupConnectionClass;
35 GType soup_connection_get_type (void);
38 #define SOUP_CONNECTION_REMOTE_URI "remote-uri"
39 #define SOUP_CONNECTION_SOCKET_PROPERTIES "socket-properties"
40 #define SOUP_CONNECTION_STATE "state"
41 #define SOUP_CONNECTION_SSL "ssl"
43 void soup_connection_connect_async (SoupConnection *conn,
44 GCancellable *cancellable,
45 GAsyncReadyCallback callback,
47 gboolean soup_connection_connect_finish (SoupConnection *conn,
50 gboolean soup_connection_connect_sync (SoupConnection *conn,
51 GCancellable *cancellable,
53 gboolean soup_connection_start_ssl_sync (SoupConnection *conn,
54 GCancellable *cancellable,
56 void soup_connection_start_ssl_async (SoupConnection *conn,
57 GCancellable *cancellable,
58 GAsyncReadyCallback callback,
60 gboolean soup_connection_start_ssl_finish (SoupConnection *conn,
64 void soup_connection_disconnect (SoupConnection *conn);
66 SoupSocket *soup_connection_get_socket (SoupConnection *conn);
67 SoupURI *soup_connection_get_remote_uri (SoupConnection *conn);
68 SoupURI *soup_connection_get_proxy_uri (SoupConnection *conn);
69 gboolean soup_connection_is_via_proxy (SoupConnection *conn);
70 gboolean soup_connection_is_tunnelled (SoupConnection *conn);
72 SoupConnectionState soup_connection_get_state (SoupConnection *conn);
73 void soup_connection_set_state (SoupConnection *conn,
74 SoupConnectionState state);
76 gboolean soup_connection_get_ever_used (SoupConnection *conn);
78 void soup_connection_send_request (SoupConnection *conn,
79 SoupMessageQueueItem *item,
80 SoupMessageCompletionFn completion_cb,
85 #endif /* __SOUP_CONNECTION_H__ */