fixed typo enable_sqllite -> enable_sqlite
[platform/upstream/libsoup.git] / libsoup / soup-message-private.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_MESSAGE_PRIVATE_H
7 #define SOUP_MESSAGE_PRIVATE_H 1
8
9 #include "soup-message.h"
10 #include "soup-auth.h"
11 #include "soup-content-processor.h"
12 #include "soup-content-sniffer.h"
13 #include "soup-session.h"
14
15 typedef struct {
16         gpointer           io_data;
17
18         SoupChunkAllocator chunk_allocator;
19         gpointer           chunk_allocator_data;
20         GDestroyNotify     chunk_allocator_dnotify;
21
22         guint              msg_flags;
23         gboolean           server_side;
24
25         SoupContentSniffer *sniffer;
26         gsize              bytes_for_sniffing;
27
28         SoupHTTPVersion    http_version, orig_http_version;
29
30         SoupURI           *uri;
31         SoupAddress       *addr;
32
33         SoupAuth          *auth, *proxy_auth;
34         SoupConnection    *connection;
35
36         GSList            *disabled_features;
37
38         SoupURI           *first_party;
39
40         GTlsCertificate      *tls_certificate;
41         GTlsCertificateFlags  tls_errors;
42
43         SoupRequest       *request;
44
45         SoupMessagePriority priority;
46 } SoupMessagePrivate;
47 #define SOUP_MESSAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_MESSAGE, SoupMessagePrivate))
48
49 void             soup_message_cleanup_response (SoupMessage      *msg);
50
51
52 typedef void     (*SoupMessageGetHeadersFn)  (SoupMessage      *msg,
53                                               GString          *headers,
54                                               SoupEncoding     *encoding,
55                                               gpointer          user_data);
56 typedef guint    (*SoupMessageParseHeadersFn)(SoupMessage      *msg,
57                                               char             *headers,
58                                               guint             header_len,
59                                               SoupEncoding     *encoding,
60                                               gpointer          user_data,
61                                               GError          **error);
62 typedef void     (*SoupMessageCompletionFn)  (SoupMessage      *msg,
63                                               gpointer          user_data);
64
65
66 void soup_message_send_request (SoupMessageQueueItem      *item,
67                                 SoupMessageCompletionFn    completion_cb,
68                                 gpointer                   user_data);
69 void soup_message_read_request (SoupMessage               *msg,
70                                 SoupSocket                *sock,
71                                 SoupMessageCompletionFn    completion_cb,
72                                 gpointer                   user_data);
73
74 void soup_message_io_client    (SoupMessageQueueItem      *item,
75                                 GIOStream                 *iostream,
76                                 GMainContext              *async_context,
77                                 SoupMessageGetHeadersFn    get_headers_cb,
78                                 SoupMessageParseHeadersFn  parse_headers_cb,
79                                 gpointer                   headers_data,
80                                 SoupMessageCompletionFn    completion_cb,
81                                 gpointer                   user_data);
82 void soup_message_io_server    (SoupMessage               *msg,
83                                 GIOStream                 *iostream,
84                                 GMainContext              *async_context,
85                                 SoupMessageGetHeadersFn    get_headers_cb,
86                                 SoupMessageParseHeadersFn  parse_headers_cb,
87                                 gpointer                   headers_data,
88                                 SoupMessageCompletionFn    completion_cb,
89                                 gpointer                   user_data);
90 void soup_message_io_cleanup   (SoupMessage               *msg);
91
92 /* Auth handling */
93 void           soup_message_set_auth       (SoupMessage *msg,
94                                             SoupAuth    *auth);
95 SoupAuth      *soup_message_get_auth       (SoupMessage *msg);
96 void           soup_message_set_proxy_auth (SoupMessage *msg,
97                                             SoupAuth    *auth);
98 SoupAuth      *soup_message_get_proxy_auth (SoupMessage *msg);
99
100 /* I/O */
101 void                soup_message_io_stop        (SoupMessage          *msg);
102 void                soup_message_io_finished    (SoupMessage          *msg);
103 void                soup_message_io_pause       (SoupMessage          *msg);
104 void                soup_message_io_unpause     (SoupMessage          *msg);
105 gboolean            soup_message_io_in_progress (SoupMessage          *msg);
106
107 gboolean soup_message_io_run_until_write  (SoupMessage   *msg,
108                                            gboolean       blocking,
109                                            GCancellable  *cancellable,
110                                            GError       **error);
111 gboolean soup_message_io_run_until_read   (SoupMessage   *msg,
112                                            gboolean       blocking,
113                                            GCancellable  *cancellable,
114                                            GError       **error);
115 gboolean soup_message_io_run_until_finish (SoupMessage   *msg,
116                                            gboolean       blocking,
117                                            GCancellable  *cancellable,
118                                            GError       **error);
119
120 typedef gboolean (*SoupMessageSourceFunc) (SoupMessage *, gpointer);
121 GSource *soup_message_io_get_source       (SoupMessage           *msg,
122                                            GCancellable          *cancellable,
123                                            SoupMessageSourceFunc  callback,
124                                            gpointer               user_data);
125
126 GInputStream *soup_message_io_get_response_istream (SoupMessage  *msg,
127                                                     GError      **error);
128
129 gboolean soup_message_disables_feature (SoupMessage *msg,
130                                         gpointer     feature);
131
132 void soup_message_set_https_status (SoupMessage    *msg,
133                                     SoupConnection *conn);
134
135 void soup_message_network_event (SoupMessage         *msg,
136                                  GSocketClientEvent   event,
137                                  GIOStream           *connection);
138
139 GInputStream *soup_message_setup_body_istream (GInputStream *body_stream,
140                                                SoupMessage *msg,
141                                                SoupSession *session,
142                                                SoupProcessingStage start_at_stage);
143
144 void soup_message_set_soup_request (SoupMessage *msg,
145                                     SoupRequest *req);
146
147 SoupConnection *soup_message_get_connection (SoupMessage    *msg);
148 void            soup_message_set_connection (SoupMessage    *msg,
149                                              SoupConnection *conn);
150
151 #endif /* SOUP_MESSAGE_PRIVATE_H */