1 #ifndef __GSK_ZLIB_INFLATOR_H_
2 #define __GSK_ZLIB_INFLATOR_H_
3 
4 #include "../gskstream.h"
5 
6 G_BEGIN_DECLS
7 
8 /* --- typedefs --- */
9 typedef struct _GskZlibInflator GskZlibInflator;
10 typedef struct _GskZlibInflatorClass GskZlibInflatorClass;
11 /* --- type macros --- */
12 GType gsk_zlib_inflator_get_type(void) G_GNUC_CONST;
13 #define GSK_TYPE_ZLIB_INFLATOR			(gsk_zlib_inflator_get_type ())
14 #define GSK_ZLIB_INFLATOR(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSK_TYPE_ZLIB_INFLATOR, GskZlibInflator))
15 #define GSK_ZLIB_INFLATOR_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GSK_TYPE_ZLIB_INFLATOR, GskZlibInflatorClass))
16 #define GSK_ZLIB_INFLATOR_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GSK_TYPE_ZLIB_INFLATOR, GskZlibInflatorClass))
17 #define GSK_IS_ZLIB_INFLATOR(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSK_TYPE_ZLIB_INFLATOR))
18 #define GSK_IS_ZLIB_INFLATOR_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GSK_TYPE_ZLIB_INFLATOR))
19 
20 /* --- structures --- */
21 struct _GskZlibInflatorClass
22 {
23   GskStreamClass stream_class;
24 };
25 struct _GskZlibInflator
26 {
27   GskStream      stream;
28   gpointer       private_stream;
29   GskBuffer      decompressed;
30   gboolean       use_gzip;
31 };
32 
33 /* --- prototypes --- */
34 GskStream *gsk_zlib_inflator_new (void);
35 GskStream *gsk_zlib_inflator_new2 (gboolean use_gzip);
36 
37 G_END_DECLS
38 
39 #endif
40