Add "authenticate" and "reauthenticate" signals. (invalidate_auth): Remove
[platform/upstream/libsoup.git] / libsoup / soup-session.h
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3  * Copyright (C) 2000-2003, Ximian, Inc.
4  */
5
6 #ifndef SOUP_SESSION_H
7 #define SOUP_SESSION_H 1
8
9 #include <libsoup/soup-types.h>
10 #include <libsoup/soup-auth.h>
11 #include <libsoup/soup-message.h>
12
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))
19
20 typedef struct SoupSessionPrivate SoupSessionPrivate;
21
22 typedef struct {
23         GObject parent;
24
25         SoupSessionPrivate *priv;
26 } SoupSession;
27
28 typedef struct {
29         GObjectClass parent_class;
30
31         /* signals */
32         void (*authenticate)   (SoupSession *, SoupAuth *, SoupMessage *);
33         void (*reauthenticate) (SoupSession *, SoupAuth *, SoupMessage *);
34
35 } SoupSessionClass;
36
37 GType soup_session_get_type (void);
38
39 SoupSession    *soup_session_new_default     (void);
40 SoupSession    *soup_session_new_with_proxy  (const SoupUri         *proxy_uri);
41 SoupSession    *soup_session_new_full        (const SoupUri         *proxy_uri,
42                                               guint                  max_conns,
43                                               guint                  max_per_host);
44
45 void            soup_session_queue_message   (SoupSession           *session,
46                                               SoupMessage           *req,
47                                               SoupMessageCallbackFn  callback,
48                                               gpointer               user_data);
49 void            soup_session_requeue_message (SoupSession           *session,
50                                               SoupMessage           *req);
51
52 guint           soup_session_send_message    (SoupSession           *session,
53                                               SoupMessage            *req);
54
55
56 #endif /* SOUP_SESSION_H */