gstreamermm  0.10.11
Public Member Functions | Static Public Member Functions | Protected 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 GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system.
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.

Protected Member Functions

 Interface ()
 You should derive from this class to use it.

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

Gst::Interface::Interface ( ) [protected]

You should derive from this class to use it.

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.
static GType Gst::Interface::get_type ( ) [static]

Get the GType for this class, for use with the underlying GObject type system.

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

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

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

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

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

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

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

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: