1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 2 /* 3 * Copyright 2012 Red Hat, Inc. 4 */ 5 6 #ifndef __SOUP_FILTER_INPUT_STREAM_H__ 7 #define __SOUP_FILTER_INPUT_STREAM_H__ 1 8 9 #include <libsoup/soup-types.h> 10 11 G_BEGIN_DECLS 12 13 #define SOUP_TYPE_FILTER_INPUT_STREAM (soup_filter_input_stream_get_type ()) 14 #define SOUP_FILTER_INPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_FILTER_INPUT_STREAM, SoupFilterInputStream)) 15 #define SOUP_FILTER_INPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_FILTER_INPUT_STREAM, SoupFilterInputStreamClass)) 16 #define SOUP_IS_FILTER_INPUT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_FILTER_INPUT_STREAM)) 17 #define SOUP_IS_FILTER_INPUT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_FILTER_INPUT_STREAM)) 18 #define SOUP_FILTER_INPUT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_FILTER_INPUT_STREAM, SoupFilterInputStreamClass)) 19 20 typedef struct _SoupFilterInputStreamPrivate SoupFilterInputStreamPrivate; 21 22 typedef struct { 23 GFilterInputStream parent; 24 25 SoupFilterInputStreamPrivate *priv; 26 } SoupFilterInputStream; 27 28 typedef struct { 29 GFilterInputStreamClass parent_class; 30 31 } SoupFilterInputStreamClass; 32 33 GType soup_filter_input_stream_get_type (void); 34 35 GInputStream *soup_filter_input_stream_new (GInputStream *base_stream); 36 37 gssize soup_filter_input_stream_read_line (SoupFilterInputStream *fstream, 38 void *buffer, 39 gsize length, 40 gboolean blocking, 41 gboolean *got_line, 42 GCancellable *cancellable, 43 GError **error); 44 gssize soup_filter_input_stream_read_until (SoupFilterInputStream *fstream, 45 void *buffer, 46 gsize length, 47 const void *boundary, 48 gsize boundary_len, 49 gboolean blocking, 50 gboolean include_boundary, 51 gboolean *got_boundary, 52 GCancellable *cancellable, 53 GError **error); 54 55 G_END_DECLS 56 57 #endif /* __SOUP_FILTER_INPUT_STREAM_H__ */ 58