## GFilterOutputStream

GFilterOutputStream — Filter Output Stream

## Synopsis

    #include <gio/gio.h>

                        GFilterOutputStream;
    GOutputStream *     g_filter_output_stream_get_base_stream
                                                            (GFilterOutputStream *stream);
    gboolean            g_filter_output_stream_get_close_base_stream
                                                            (GFilterOutputStream *stream);
    void                g_filter_output_stream_set_close_base_stream
                                                            (GFilterOutputStream *stream,
                                                             gboolean close_base);

## Object Hierarchy

      GObject
       +----GOutputStream
             +----GFilterOutputStream
                   +----GBufferedOutputStream
                   +----GConverterOutputStream
                   +----GDataOutputStream

## Properties

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

## Description

Base class for output 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

### GFilterOutputStream

    typedef struct _GFilterOutputStream GFilterOutputStream;

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

### g_filter_output_stream_get_base_stream ()

    GOutputStream *     g_filter_output_stream_get_base_stream
                                                            (GFilterOutputStream *stream);

Gets the base stream for the filter stream.

`stream` : | a GFilterOutputStream.
Returns : | a GOutputStream. [transfer none]

### g_filter_output_stream_get_close_base_stream ()

    gboolean            g_filter_output_stream_get_close_base_stream
                                                            (GFilterOutputStream *stream);

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

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

### g_filter_output_stream_set_close_base_stream ()

    void                g_filter_output_stream_set_close_base_stream
                                                            (GFilterOutputStream *stream,
                                                             gboolean close_base);

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

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

## Property Details

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

      "base-stream"              GOutputStream*        : 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