Gst::Interface Class Reference
[gstreamermm Interfaces]

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

Inherits Glib::Interface.

Inherited by Gst::AlsaMixer, Gst::AlsaSrc, Gst::Volume, Gst::XImageSink, and Gst::XvImageSink.

Collaboration diagram for Gst::Interface:
Collaboration graph
[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::Interfacewrap (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  )  [inline, 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.
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.

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.

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:
Generated on Sun May 23 23:46:27 2010 for gstreamermm by  doxygen 1.6.3