The core interface implemented by Gst::Element instances that allows runtime querying of interface availability. More...
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. |
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.
virtual Gst::Interface::~Interface | ( | ) | [virtual] |
Reimplemented from Glib::Interface.
static void Gst::Interface::add_interface | ( | GType | gtype_implementer ) | [static] |
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.
iface_type | (final) type of the interface which we want to be implemented. |
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.
Glib::RefPtr< Gst::Interface > wrap | ( | GstImplementsInterface * | object, |
bool | take_copy = false |
||
) | [related] |
A Glib::wrap() method for this object.
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. |