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