Gst::Interface Class Reference
[gstreamermm Interfaces]

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

#include <interface.h>

Inheritance diagram for Gst::Interface:
Gst::AlsaMixer Gst::AlsaSrc Gst::Volume Gst::XImageSink Gst::XvImageSink

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

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]

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 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 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 Wed Sep 2 19:42:36 2009 for gstreamermm by  doxygen 1.6.1