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>
14 #define SOUP_TYPE_SESSION (soup_session_get_type ())
15 #define SOUP_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_SESSION, SoupSession))
16 #define SOUP_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_SESSION, SoupSessionClass))
17 #define SOUP_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_SESSION))
18 #define SOUP_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_SESSION))
19 #define SOUP_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_SESSION, SoupSessionClass))
21 typedef void (*SoupSessionCallback) (SoupSession *session,
31 GObjectClass parent_class;
34 void (*request_started) (SoupSession *session, SoupMessage *msg,
36 void (*authenticate) (SoupSession *session, SoupMessage *msg,
37 SoupAuth *auth, gboolean retrying);
40 void (*queue_message) (SoupSession *session, SoupMessage *msg,
41 SoupSessionCallback callback,
43 void (*requeue_message) (SoupSession *session, SoupMessage *msg);
44 guint (*send_message) (SoupSession *session, SoupMessage *msg);
46 void (*cancel_message) (SoupSession *session, SoupMessage *msg,
49 void (*auth_required) (SoupSession *session, SoupMessage *msg,
50 SoupAuth *auth, gboolean retrying);
52 void (*flush_queue) (SoupSession *session);
54 /* Padding for future expansion */
55 void (*_libsoup_reserved3) (void);
56 void (*_libsoup_reserved4) (void);
59 GType soup_session_get_type (void);
61 #define SOUP_SESSION_PROXY_URI "proxy-uri"
62 #define SOUP_SESSION_MAX_CONNS "max-conns"
63 #define SOUP_SESSION_MAX_CONNS_PER_HOST "max-conns-per-host"
64 #define SOUP_SESSION_USE_NTLM "use-ntlm"
65 #define SOUP_SESSION_SSL_CA_FILE "ssl-ca-file"
66 #define SOUP_SESSION_SSL_STRICT "ssl-strict"
67 #define SOUP_SESSION_ASYNC_CONTEXT "async-context"
68 #define SOUP_SESSION_TIMEOUT "timeout"
69 #define SOUP_SESSION_USER_AGENT "user-agent"
70 #define SOUP_SESSION_ACCEPT_LANGUAGE "accept-language"
71 #define SOUP_SESSION_ACCEPT_LANGUAGE_AUTO "accept-language-auto"
72 #define SOUP_SESSION_IDLE_TIMEOUT "idle-timeout"
73 #define SOUP_SESSION_ADD_FEATURE "add-feature"
74 #define SOUP_SESSION_ADD_FEATURE_BY_TYPE "add-feature-by-type"
75 #define SOUP_SESSION_REMOVE_FEATURE_BY_TYPE "remove-feature-by-type"
77 GMainContext *soup_session_get_async_context(SoupSession *session);
79 void soup_session_queue_message (SoupSession *session,
81 SoupSessionCallback callback,
83 void soup_session_requeue_message (SoupSession *session,
86 guint soup_session_send_message (SoupSession *session,
89 void soup_session_pause_message (SoupSession *session,
91 void soup_session_unpause_message (SoupSession *session,
94 void soup_session_cancel_message (SoupSession *session,
97 void soup_session_abort (SoupSession *session);
99 void soup_session_prepare_for_uri (SoupSession *session,
102 void soup_session_add_feature (SoupSession *session,
103 SoupSessionFeature *feature);
104 void soup_session_add_feature_by_type (SoupSession *session,
106 void soup_session_remove_feature (SoupSession *session,
107 SoupSessionFeature *feature);
108 void soup_session_remove_feature_by_type (SoupSession *session,
110 GSList *soup_session_get_features (SoupSession *session,
112 SoupSessionFeature *soup_session_get_feature (SoupSession *session,
114 SoupSessionFeature *soup_session_get_feature_for_message(SoupSession *session,
120 #endif /* SOUP_SESSION_H */