1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 * Copyright (C) 2000-2003, Ximian, Inc.
7 #define SOUP_SESSION_H 1
9 #include <libsoup/soup-types.h>
10 #include <libsoup/soup-message.h>
11 #include <libsoup/soup-message-queue.h>
13 #define SOUP_TYPE_SESSION (soup_session_get_type ())
14 #define SOUP_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SESSION, SoupSession))
15 #define SOUP_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_SESSION, SoupSessionClass))
16 #define SOUP_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_SESSION))
17 #define SOUP_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_SESSION))
18 #define SOUP_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_SESSION, SoupSessionClass))
20 typedef struct SoupSessionPrivate SoupSessionPrivate;
25 SoupSessionPrivate *priv;
28 SoupMessageQueue *queue;
32 GObjectClass parent_class;
35 void (*authenticate) (SoupSession *, SoupMessage *,
36 const char *auth_type, const char *auth_realm,
37 char **username, char **password);
38 void (*reauthenticate) (SoupSession *, SoupMessage *,
39 const char *auth_type, const char *auth_realm,
40 char **username, char **password);
43 void (*queue_message) (SoupSession *session, SoupMessage *msg,
44 SoupMessageCallbackFn callback,
46 void (*requeue_message) (SoupSession *session, SoupMessage *msg);
47 guint (*send_message) (SoupSession *session, SoupMessage *msg);
49 void (*cancel_message) (SoupSession *session, SoupMessage *msg);
53 GType soup_session_get_type (void);
55 #define SOUP_SESSION_PROXY_URI "proxy-uri"
56 #define SOUP_SESSION_MAX_CONNS "max-conns"
57 #define SOUP_SESSION_MAX_CONNS_PER_HOST "max-conns-per-host"
58 #define SOUP_SESSION_USE_NTLM "use-ntlm"
59 #define SOUP_SESSION_SSL_CA_FILE "ssl-ca-file"
61 void soup_session_queue_message (SoupSession *session,
63 SoupMessageCallbackFn callback,
65 void soup_session_requeue_message (SoupSession *session,
68 guint soup_session_send_message (SoupSession *session,
71 void soup_session_cancel_message (SoupSession *session,
73 void soup_session_abort (SoupSession *session);
76 /* Protected methods */
77 SoupConnection *soup_session_get_connection (SoupSession *session,
79 gboolean *try_pruning,
81 gboolean soup_session_try_prune_connection (SoupSession *session);
83 void soup_session_send_message_via (SoupSession *session,
85 SoupConnection *conn);
88 #endif /* SOUP_SESSION_H */