# Gst::Interface Class Reference
gstreamermm Interfaces

The core interface implemented by Gst::Element instances that allows runtime querying of interface availability. More...

Inheritance diagram for Gst::Interface:
[legend]
Collaboration diagram for Gst::Interface:
[legend]

List of all members.

## Public Member Functions

virtual | ~Interface ()
GstImplementsInterface* | gobj ()
| Provides access to the underlying C GObject.
const GstImplementsInterface* | gobj () const
| Provides access to the underlying C GObject.
virtual bool | supported_vfunc (GType iface_type) const
| Virtual method to tell whether an interface is supported.

## Static Public Member Functions

static void | add_interface (GType gtype_implementer)
static bool | element_implements (const Glib::RefPtr< const Gst::Element >& element, GType iface_type)
| Test whether the given element implements a certain interface of type iface_type, and test whether it is supported for this specific instance.
template<class T_CastTo >
static Glib::RefPtr < Gst::ElementInterfaced < T_CastTo > > | cast (const Glib::RefPtr< Gst::Element >& element)
| Casts an element to an interface that its underlying GObject implements.

## Related Functions

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

## Detailed Description

The core interface implemented by Gst::Element instances that allows runtime querying of interface availability.

This provides interface functionality on a per-instance basis and not a per-class basis, which is the case for GObject.

## Constructor & Destructor Documentation

virtual Gst::Interface::~Interface | ( |  | ) | `[virtual]`

Reimplemented from Glib::Interface.

## Member Function Documentation

static void Gst::Interface::add_interface | ( | GType | gtype_implementer | ) | `[static]`

template <class T_CastTo >

static Glib::RefPtr< Gst::ElementInterfaced<T_CastTo> > Gst::Interface::cast | ( | const Glib::RefPtr< Gst::Element >& | element | ) | `[static]`

Casts an element to an interface that its underlying GObject implements.

See Gst::ElementInterfaced for more details.

static bool Gst::Interface::element_implements | ( | const Glib::RefPtr< const Gst::Element >& | element,
|  | GType | iface_type
| ) |  | `[static]`

Test whether the given element implements a certain interface of type iface_type, and test whether it is supported for this specific instance.

Parameters:

  iface_type | (final) type of the interface which we want to be implemented.

Returns:
  Whether or not the element implements the interface.

GstImplementsInterface* Gst::Interface::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

Reimplemented in Gst::AlsaMixer, Gst::AlsaSrc, Gst::Volume, Gst::XImageSink, and Gst::XvImageSink.

const GstImplementsInterface* Gst::Interface::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

Reimplemented in Gst::AlsaMixer, Gst::AlsaSrc, Gst::Volume, Gst::XImageSink, and Gst::XvImageSink.

virtual bool Gst::Interface::supported_vfunc | ( | GType | iface_type | ) | const`[virtual]`

Virtual method to tell whether an interface is supported.

## Friends And Related Function Documentation

Glib::RefPtr< Gst::Interface > wrap | ( | GstImplementsInterface * | 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.

The documentation for this class was generated from the following file:

- gstreamermm/interface.h