First draft at the new object to maintain formerly-global state. (Not yet
[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-message.h>
10
11 #define SOUP_TYPE_SESSION            (soup_session_get_type ())
12 #define SOUP_SESSION(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SESSION, SoupSession))
13 #define SOUP_SESSION_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_SESSION, SoupSessionClass))
14 #define SOUP_IS_SESSION(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_SESSION))
15 #define SOUP_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_SESSION))
16 #define SOUP_SESSION_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_SESSION, SoupSessionClass))
17
18 typedef struct SoupSessionPrivate SoupSessionPrivate;
19
20 typedef struct {
21         GObject parent;
22
23         SoupSessionPrivate *priv;
24 } SoupSession;
25
26 typedef struct {
27         GObjectClass parent_class;
28
29 } SoupSessionClass;
30
31 GType soup_session_get_type (void);
32
33 SoupSession    *soup_session_new             (void);
34
35 void            soup_session_queue_message   (SoupSession           *session,
36                                               SoupMessage           *req,
37                                               SoupMessageCallbackFn  callback,
38                                               gpointer               user_data);
39 void            soup_session_requeue_message (SoupSession           *session,
40                                               SoupMessage           *req);
41
42 SoupErrorClass  soup_session_send_message    (SoupSession           *session,
43                                               SoupMessage            *req);
44
45
46 #endif /* SOUP_SESSION_H */