# Gio::FilterInputStream Class Reference
Stream Classes

Filter Input Stream. More...

`#include <giomm/filterinputstream.h>`

Inheritance diagram for Gio::FilterInputStream:
[legend]

List of all members.

## Public Member Functions

virtual | ~FilterInputStream ()
GFilterInputStream* | gobj ()
| Provides access to the underlying C GObject.
const GFilterInputStream* | gobj () const
| Provides access to the underlying C GObject.
GFilterInputStream* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Glib::RefPtr< InputStream > | get_base_stream ()
| Gets the base stream for the filter stream.
Glib::RefPtr< const InputStream > | get_base_stream () const
| Gets the base stream for the filter stream.
bool | get_close_base_stream () const
| Returns whether the base stream will be closed when stream is closed.
void | set_close_base_stream (bool close_base=true)
| Sets whether the base stream will be closed when stream is closed.
Glib::PropertyProxy_ReadOnly < Glib::RefPtr< InputStream > > | property_base_stream () const
| The underlying base stream on which the io ops will be done.
Glib::PropertyProxy< bool > | property_close_base_stream ()
| If the base stream should be closed when the filter stream is closed.
Glib::PropertyProxy_ReadOnly < bool > | property_close_base_stream () const
| If the base stream should be closed when the filter stream is closed.

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr < Gio::FilterInputStream > | wrap (GFilterInputStream* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

Filter Input Stream.

This is a 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.

Since glibmm 2.16:

## Constructor & Destructor Documentation

virtual Gio::FilterInputStream::~FilterInputStream | ( |  | ) | `[virtual]`

## Member Function Documentation

Glib::RefPtr<InputStream> Gio::FilterInputStream::get_base_stream | ( |  | ) |

Gets the base stream for the filter stream.

Returns:
  A InputStream.

Glib::RefPtr<const InputStream> Gio::FilterInputStream::get_base_stream | ( |  | ) | const

Gets the base stream for the filter stream.

Returns:
  A InputStream.

bool Gio::FilterInputStream::get_close_base_stream | ( |  | ) | const

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

Returns:
  `true` if the base stream will be closed.

const GFilterInputStream* Gio::FilterInputStream::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Gio::InputStream.

Reimplemented in Gio::BufferedInputStream, and Gio::DataInputStream.

GFilterInputStream* Gio::FilterInputStream::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Gio::InputStream.

Reimplemented in Gio::BufferedInputStream, and Gio::DataInputStream.

GFilterInputStream* Gio::FilterInputStream::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

Reimplemented from Gio::InputStream.

Reimplemented in Gio::BufferedInputStream, and Gio::DataInputStream.

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<InputStream> > Gio::FilterInputStream::property_base_stream | ( |  | ) | const

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gio::FilterInputStream::property_close_base_stream | ( |  | ) | const

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gio::FilterInputStream::property_close_base_stream | ( |  | ) |

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

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

void Gio::FilterInputStream::set_close_base_stream | ( | bool | close_base = `true` | ) |

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

Parameters:

  close_base | `true` to close the base stream.

## Friends And Related Function Documentation

Glib::RefPtr< Gio::FilterInputStream > wrap | ( | GFilterInputStream * | object,
|  | bool | take_copy = `false`
| ) |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.