summaryrefslogtreecommitdiff
path: root/libsoup/soup-content-sniffer-stream.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsoup/soup-content-sniffer-stream.c')
-rw-r--r--libsoup/soup-content-sniffer-stream.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/libsoup/soup-content-sniffer-stream.c b/libsoup/soup-content-sniffer-stream.c
index 42e92476..d358a19e 100644
--- a/libsoup/soup-content-sniffer-stream.c
+++ b/libsoup/soup-content-sniffer-stream.c
@@ -233,6 +233,16 @@ soup_content_sniffer_stream_skip (GInputStream *stream,
}
static gboolean
+soup_content_sniffer_stream_can_poll (GPollableInputStream *pollable)
+{
+ GInputStream *base_stream = G_FILTER_INPUT_STREAM (pollable)->base_stream;
+
+ return G_IS_POLLABLE_INPUT_STREAM (base_stream) &&
+ g_pollable_input_stream_can_poll (G_POLLABLE_INPUT_STREAM (base_stream));
+}
+
+
+static gboolean
soup_content_sniffer_stream_is_readable (GPollableInputStream *stream)
{
SoupContentSnifferStream *sniffer = SOUP_CONTENT_SNIFFER_STREAM (stream);
@@ -320,23 +330,12 @@ static void
soup_content_sniffer_stream_pollable_init (GPollableInputStreamInterface *pollable_interface,
gpointer interface_data)
{
+ pollable_interface->can_poll = soup_content_sniffer_stream_can_poll;
pollable_interface->is_readable = soup_content_sniffer_stream_is_readable;
pollable_interface->read_nonblocking = soup_content_sniffer_stream_read_nonblocking;
pollable_interface->create_source = soup_content_sniffer_stream_create_source;
}
-GInputStream *
-soup_content_sniffer_stream_new (SoupContentSniffer *sniffer,
- SoupMessage *msg,
- GInputStream *base_stream)
-{
- return g_object_new (SOUP_TYPE_CONTENT_SNIFFER_STREAM,
- "base-stream", base_stream,
- "message", msg,
- "sniffer", sniffer,
- NULL);
-}
-
gboolean
soup_content_sniffer_stream_is_ready (SoupContentSnifferStream *sniffer,
gboolean blocking,