## GFilterInputStream GFilterInputStream — Filter Input Stream |

## Synopsis

    #include <gio/gio.h>

                        GFilterInputStream;
    GInputStream *      g_filter_input_stream_get_base_stream
                                                            (GFilterInputStream *stream);
    gboolean            g_filter_input_stream_get_close_base_stream
                                                            (GFilterInputStream *stream);
    void                g_filter_input_stream_set_close_base_stream
                                                            (GFilterInputStream *stream,
                                                             gboolean close_base);

## Object Hierarchy

      GObject
       +----GInputStream
             +----GFilterInputStream
                   +----GBufferedInputStream
                   +----GConverterInputStream

## Properties

      "base-stream"              GInputStream*         : Read / Write / Construct Only
      "close-base-stream"        gboolean              : Read / Write / Construct Only

## Description

Base class for input stream implementations that perform some kind of filtering operation on a base stream. Typical examples of filtering operations are character set conversion, compression and byte order flipping.

## Details

### GFilterInputStream

    typedef struct _GFilterInputStream GFilterInputStream;

A base class for all input streams that work on an underlying stream.

### g_filter_input_stream_get_base_stream ()

    GInputStream *      g_filter_input_stream_get_base_stream
                                                            (GFilterInputStream *stream);

Gets the base stream for the filter stream.

`stream` : | a GFilterInputStream.
Returns : | a GInputStream. [transfer none]

### g_filter_input_stream_get_close_base_stream ()

    gboolean            g_filter_input_stream_get_close_base_stream
                                                            (GFilterInputStream *stream);

Returns whether the base stream will be closed when `stream` is closed.

`stream` : | a GFilterInputStream.
Returns : | `TRUE` if the base stream will be closed.

### g_filter_input_stream_set_close_base_stream ()

    void                g_filter_input_stream_set_close_base_stream
                                                            (GFilterInputStream *stream,
                                                             gboolean close_base);

Sets whether the base stream will be closed when `stream` is closed.

`stream` : | a GFilterInputStream.
`close_base` : | `TRUE` to close the base stream.

## Property Details

### The `"base-stream"` property

      "base-stream"              GInputStream*         : Read / Write / Construct Only

The underlying base stream on which the io ops will be done.

### The `"close-base-stream"` property

      "close-base-stream"        gboolean              : Read / Write / Construct Only

If the base stream should be closed when the filter stream is closed.

Default value: TRUE