1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
2 /*
3 * Copyright (C) 2021 Igalia S.L.
4 */
5
6 #ifdef HAVE_CONFIG_H
7 #include <config.h>
8 #endif
9
10 #include "soup-client-message-io.h"
11
12 void
soup_client_message_io_destroy(SoupClientMessageIO * io)13 soup_client_message_io_destroy (SoupClientMessageIO *io)
14 {
15 if (!io)
16 return;
17
18 io->funcs->destroy (io);
19 }
20
21 void
soup_client_message_io_finished(SoupClientMessageIO * io,SoupMessage * msg)22 soup_client_message_io_finished (SoupClientMessageIO *io,
23 SoupMessage *msg)
24 {
25 io->funcs->finished (io, msg);
26 }
27
28 void
soup_client_message_io_stolen(SoupClientMessageIO * io)29 soup_client_message_io_stolen (SoupClientMessageIO *io)
30 {
31 io->funcs->stolen (io);
32 }
33
34 void
soup_client_message_io_send_item(SoupClientMessageIO * io,SoupMessageQueueItem * item,SoupMessageIOCompletionFn completion_cb,gpointer user_data)35 soup_client_message_io_send_item (SoupClientMessageIO *io,
36 SoupMessageQueueItem *item,
37 SoupMessageIOCompletionFn completion_cb,
38 gpointer user_data)
39 {
40 io->funcs->send_item (io, item, completion_cb, user_data);
41 }
42
43 void
soup_client_message_io_pause(SoupClientMessageIO * io,SoupMessage * msg)44 soup_client_message_io_pause (SoupClientMessageIO *io,
45 SoupMessage *msg)
46 {
47 io->funcs->pause (io, msg);
48 }
49
50 void
soup_client_message_io_unpause(SoupClientMessageIO * io,SoupMessage * msg)51 soup_client_message_io_unpause (SoupClientMessageIO *io,
52 SoupMessage *msg)
53 {
54 io->funcs->unpause (io, msg);
55 }
56
57 gboolean
soup_client_message_io_is_paused(SoupClientMessageIO * io,SoupMessage * msg)58 soup_client_message_io_is_paused (SoupClientMessageIO *io,
59 SoupMessage *msg)
60 {
61 return io->funcs->is_paused (io, msg);
62 }
63
64 void
soup_client_message_io_run(SoupClientMessageIO * io,SoupMessage * msg,gboolean blocking)65 soup_client_message_io_run (SoupClientMessageIO *io,
66 SoupMessage *msg,
67 gboolean blocking)
68 {
69 io->funcs->run (io, msg, blocking);
70 }
71
72 gboolean
soup_client_message_io_run_until_read(SoupClientMessageIO * io,SoupMessage * msg,GCancellable * cancellable,GError ** error)73 soup_client_message_io_run_until_read (SoupClientMessageIO *io,
74 SoupMessage *msg,
75 GCancellable *cancellable,
76 GError **error)
77 {
78 return io->funcs->run_until_read (io, msg, cancellable, error);
79 }
80
81 void
soup_client_message_io_run_until_read_async(SoupClientMessageIO * io,SoupMessage * msg,int io_priority,GCancellable * cancellable,GAsyncReadyCallback callback,gpointer user_data)82 soup_client_message_io_run_until_read_async (SoupClientMessageIO *io,
83 SoupMessage *msg,
84 int io_priority,
85 GCancellable *cancellable,
86 GAsyncReadyCallback callback,
87 gpointer user_data)
88 {
89 io->funcs->run_until_read_async (io, msg, io_priority, cancellable, callback, user_data);
90 }
91
92 gboolean
soup_client_message_io_close_async(SoupClientMessageIO * io,SoupConnection * conn,GAsyncReadyCallback callback)93 soup_client_message_io_close_async (SoupClientMessageIO *io,
94 SoupConnection *conn,
95 GAsyncReadyCallback callback)
96 {
97 return io->funcs->close_async (io, conn, callback);
98 }
99
100 gboolean
soup_client_message_io_skip(SoupClientMessageIO * io,SoupMessage * msg,gboolean blocking,GCancellable * cancellable,GError ** error)101 soup_client_message_io_skip (SoupClientMessageIO *io,
102 SoupMessage *msg,
103 gboolean blocking,
104 GCancellable *cancellable,
105 GError **error)
106 {
107 return io->funcs->skip (io, msg, blocking, cancellable, error);
108 }
109
110 GInputStream *
soup_client_message_io_get_response_stream(SoupClientMessageIO * io,SoupMessage * msg,GError ** error)111 soup_client_message_io_get_response_stream (SoupClientMessageIO *io,
112 SoupMessage *msg,
113 GError **error)
114 {
115 return io->funcs->get_response_stream (io, msg, error);
116 }
117
118 gboolean
soup_client_message_io_is_open(SoupClientMessageIO * io)119 soup_client_message_io_is_open (SoupClientMessageIO *io)
120 {
121 return io->funcs->is_open (io);
122 }
123
124 gboolean
soup_client_message_io_in_progress(SoupClientMessageIO * io,SoupMessage * msg)125 soup_client_message_io_in_progress (SoupClientMessageIO *io,
126 SoupMessage *msg)
127 {
128 return io->funcs->in_progress (io, msg);
129 }
130
131 gboolean
soup_client_message_io_is_reusable(SoupClientMessageIO * io)132 soup_client_message_io_is_reusable (SoupClientMessageIO *io)
133 {
134 return io->funcs->is_reusable (io);
135 }
136
137 GCancellable *
soup_client_message_io_get_cancellable(SoupClientMessageIO * io,SoupMessage * msg)138 soup_client_message_io_get_cancellable (SoupClientMessageIO *io,
139 SoupMessage *msg)
140 {
141 return io->funcs->get_cancellable (io, msg);
142 }
143