gstreamermm 0.10.10.1
Public Member Functions | Static Public Member Functions | Related Functions
Gst::Interface Class Reference

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

Inheritance diagram for Gst::Interface:
Inheritance graph
[legend]
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) [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:
objectThe C instance.
take_copyFalse 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: