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
11 #include "soup-types.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))
28 GObjectClass parent_class;
31 void (*connect_result) (SoupConnection *, guint);
32 void (*disconnected) (SoupConnection *);
34 void (*request_started) (SoupConnection *, SoupMessage *);
37 void (*send_request) (SoupConnection *, SoupMessage *);
38 } SoupConnectionClass;
40 GType soup_connection_get_type (void);
43 typedef void (*SoupConnectionCallback) (SoupConnection *conn,
48 #define SOUP_CONNECTION_ORIGIN_URI "origin-uri"
49 #define SOUP_CONNECTION_PROXY_URI "proxy-uri"
50 #define SOUP_CONNECTION_SSL_CREDENTIALS "ssl-creds"
51 #define SOUP_CONNECTION_ASYNC_CONTEXT "async-context"
52 #define SOUP_CONNECTION_TIMEOUT "timeout"
53 #define SOUP_CONNECTION_IDLE_TIMEOUT "idle-timeout"
55 SoupConnection *soup_connection_new (const char *propname1,
56 ...) G_GNUC_NULL_TERMINATED;
58 void soup_connection_connect_async (SoupConnection *conn,
59 SoupConnectionCallback callback,
61 guint soup_connection_connect_sync (SoupConnection *conn);
63 void soup_connection_disconnect (SoupConnection *conn);
65 SoupSocket *soup_connection_get_socket (SoupConnection *conn);
67 gboolean soup_connection_is_in_use (SoupConnection *conn);
68 time_t soup_connection_last_used (SoupConnection *conn);
70 void soup_connection_send_request (SoupConnection *conn,
73 void soup_connection_reserve (SoupConnection *conn);
74 void soup_connection_release (SoupConnection *conn);
78 #endif /* SOUP_CONNECTION_H */