<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>gstreamermm: Gst::Interface Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceGst.html">Gst</a>::<a class="el" href="classGst_1_1Interface.html">Interface</a> </div> </div> <div class="contents"> <h1>Gst::Interface Class Reference<br/> <small> [<a class="el" href="group__GstInterfaces.html">gstreamermm Interfaces</a>]</small> </h1><!-- doxytag: class="Gst::Interface" --><!-- doxytag: inherits="Glib::Interface" --> <p>Core interface implemented by <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> instances that allows runtime querying of interface availability. <a href="#_details">More...</a></p> <p>Inherits <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1Interface.html">Glib::Interface</a>.</p> <p>Inherited by <a class="el" href="classGst_1_1AlsaMixer.html">Gst::AlsaMixer</a>, <a class="el" href="classGst_1_1AlsaSrc.html">Gst::AlsaSrc</a>, <a class="el" href="classGst_1_1Volume.html">Gst::Volume</a>, <a class="el" href="classGst_1_1XImageSink.html">Gst::XImageSink</a>, and <a class="el" href="classGst_1_1XvImageSink.html">Gst::XvImageSink</a>.</p> <div class="dynheader"> Collaboration diagram for Gst::Interface:</div> <div class="dynsection"> <div class="center"><img src="classGst_1_1Interface__coll__graph.png" border="0" usemap="#Gst_1_1Interface_coll__map" alt="Collaboration graph"/></div> <map name="Gst_1_1Interface_coll__map" id="Gst_1_1Interface_coll__map"> <area shape="rect" href="../../../glibmm-2.4/reference/html/classGlib_1_1Interface.html" title="Glib::Interface" alt="" coords="13,160,117,189"/><area shape="rect" href="../../../glibmm-2.4/reference/html/classGlib_1_1ObjectBase.html" title="Glib::ObjectBase" alt="" coords="5,83,125,112"/><area shape="rect" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html" title="sigc::trackable" alt="" coords="12,5,119,35"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classGst_1_1Interface-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Interface.html#ae605fe2d40420a2cfec780de600cba5f">~Interface</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">GstImplementsInterface* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Interface.html#a67aba6040b1fe946e918ca42c745b6fa">gobj</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#a67aba6040b1fe946e918ca42c745b6fa"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const GstImplementsInterface* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Interface.html#ac1009a2473480f8f4972eb016e6608b8">gobj</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#ac1009a2473480f8f4972eb016e6608b8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Interface.html#a1a5421328020d5e8cd4172ffeb17bfef">supported_vfunc</a> (GType iface_type) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual method to tell whether an interface is supported. <a href="#a1a5421328020d5e8cd4172ffeb17bfef"></a><br/></td></tr> <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Interface.html#a3f0b226bce7dbaa6a5c05e0c434945f7">add_interface</a> (GType gtype_implementer)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Interface.html#a8f5ef829ab7856ce2f6de1c3de2ea9c2">element_implements</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>< const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> >& element, GType iface_type)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Test whether the given element implements a certain interface of type iface_type, and test whether it is supported for this specific instance. <a href="#a8f5ef829ab7856ce2f6de1c3de2ea9c2"></a><br/></td></tr> <tr><td class="memTemplParams" colspan="2">template<class T_CastTo > </td></tr> <tr><td class="memTemplItemLeft" align="right" valign="top">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a><br class="typebreak"/> < <a class="el" href="classGst_1_1ElementInterfaced.html">Gst::ElementInterfaced</a><br class="typebreak"/> < T_CastTo > > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGst_1_1Interface.html#a2de9586dd9eb4f136c6eeada29a73d26">cast</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGst_1_1Element.html">Gst::Element</a> >& element)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Casts an element to an interface that its underlying GObject implements. <a href="#a2de9586dd9eb4f136c6eeada29a73d26"></a><br/></td></tr> <tr><td colspan="2"><h2>Related Functions</h2></td></tr> <tr><td colspan="2"><p>(Note that these are not member functions.) </p> <br/><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGst_1_1Interface.html">Gst::Interface</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1Interface.html#a802f673a6820154da6b905345ed5359d">wrap</a> (GstImplementsInterface* object, bool take_copy=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="elRef" href="../../../glibmm-2.4/reference/html/namespaceGlib.html#a671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. <a href="#a802f673a6820154da6b905345ed5359d"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Core interface implemented by <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> instances that allows runtime querying of interface availability. </p> <p>This provides interface functionality on a per-instance basis and not a per-class basis, which is the case for GObject. </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="ae605fe2d40420a2cfec780de600cba5f"></a><!-- doxytag: member="Gst::Interface::~Interface" ref="ae605fe2d40420a2cfec780de600cba5f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual Gst::Interface::~Interface </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Reimplemented from <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1Interface.html#a8e12a7a3e0281e28798326ad65e3560c">Glib::Interface</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a3f0b226bce7dbaa6a5c05e0c434945f7"></a><!-- doxytag: member="Gst::Interface::add_interface" ref="a3f0b226bce7dbaa6a5c05e0c434945f7" args="(GType gtype_implementer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void Gst::Interface::add_interface </td> <td>(</td> <td class="paramtype">GType </td> <td class="paramname"> <em>gtype_implementer</em></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a2de9586dd9eb4f136c6eeada29a73d26"></a><!-- doxytag: member="Gst::Interface::cast" ref="a2de9586dd9eb4f136c6eeada29a73d26" args="(const Glib::RefPtr< Gst::Element > &element)" --> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template <class T_CastTo > </div> <table class="memname"> <tr> <td class="memname">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGst_1_1ElementInterfaced.html">Gst::ElementInterfaced</a><T_CastTo> > Gst::Interface::cast </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGst_1_1Element.html">Gst::Element</a> >& </td> <td class="paramname"> <em>element</em></td> <td> ) </td> <td><code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Casts an element to an interface that its underlying GObject implements. </p> <p>See <a class="el" href="classGst_1_1ElementInterfaced.html" title="Templated class used for casting Gst::Element to interfaces that its underlying gobject...">Gst::ElementInterfaced</a> for more details. </p> </div> </div> <a class="anchor" id="a8f5ef829ab7856ce2f6de1c3de2ea9c2"></a><!-- doxytag: member="Gst::Interface::element_implements" ref="a8f5ef829ab7856ce2f6de1c3de2ea9c2" args="(const Glib::RefPtr< const Gst::Element > &element, GType iface_type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool Gst::Interface::element_implements </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>< const <a class="el" href="classGst_1_1Element.html">Gst::Element</a> >& </td> <td class="paramname"> <em>element</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">GType </td> <td class="paramname"> <em>iface_type</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Test whether the given element implements a certain interface of type iface_type, and test whether it is supported for this specific instance. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>iface_type</em> </td><td>(final) type of the interface which we want to be implemented. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Whether or not the element implements the interface. </dd></dl> </div> </div> <a class="anchor" id="ac1009a2473480f8f4972eb016e6608b8"></a><!-- doxytag: member="Gst::Interface::gobj" ref="ac1009a2473480f8f4972eb016e6608b8" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const GstImplementsInterface* Gst::Interface::gobj </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Provides access to the underlying C GObject. </p> <p>Reimplemented from <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1Interface.html#a70a443071a69d3372c2cdd7128a91ed1">Glib::Interface</a>.</p> <p>Reimplemented in <a class="el" href="classGst_1_1AlsaMixer.html#ad65ea2fa3853f1dbe29d9903c29d467a">Gst::AlsaMixer</a>, <a class="el" href="classGst_1_1AlsaSrc.html#ad319f9928cb29a4d6f6fb124f0765f87">Gst::AlsaSrc</a>, <a class="el" href="classGst_1_1Volume.html#a073e5b5b31885ec245a12e6d31da0afc">Gst::Volume</a>, <a class="el" href="classGst_1_1XImageSink.html#a0116a958dffad1e999e37f9881e66ae8">Gst::XImageSink</a>, and <a class="el" href="classGst_1_1XvImageSink.html#a64c355226d6a554a95bbcb098ba0c486">Gst::XvImageSink</a>.</p> </div> </div> <a class="anchor" id="a67aba6040b1fe946e918ca42c745b6fa"></a><!-- doxytag: member="Gst::Interface::gobj" ref="a67aba6040b1fe946e918ca42c745b6fa" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GstImplementsInterface* Gst::Interface::gobj </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Provides access to the underlying C GObject. </p> <p>Reimplemented from <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1Interface.html#a969e9396f75132a9577428f4fa932d42">Glib::Interface</a>.</p> <p>Reimplemented in <a class="el" href="classGst_1_1AlsaMixer.html#af8d857e0c2969ae89076b0ffa4787958">Gst::AlsaMixer</a>, <a class="el" href="classGst_1_1AlsaSrc.html#a94df337559dff2156fd3b561186dbfbc">Gst::AlsaSrc</a>, <a class="el" href="classGst_1_1Volume.html#a76c946ffa7310174f7f0a5f0924bcc17">Gst::Volume</a>, <a class="el" href="classGst_1_1XImageSink.html#ad8cef78951240a673c1f9d9b8bb1928f">Gst::XImageSink</a>, and <a class="el" href="classGst_1_1XvImageSink.html#a02718e655cab456f9b607a6ad76c7dc8">Gst::XvImageSink</a>.</p> </div> </div> <a class="anchor" id="a1a5421328020d5e8cd4172ffeb17bfef"></a><!-- doxytag: member="Gst::Interface::supported_vfunc" ref="a1a5421328020d5e8cd4172ffeb17bfef" args="(GType iface_type) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool Gst::Interface::supported_vfunc </td> <td>(</td> <td class="paramtype">GType </td> <td class="paramname"> <em>iface_type</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Virtual method to tell whether an interface is supported. </p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a802f673a6820154da6b905345ed5359d"></a><!-- doxytag: member="Gst::Interface::wrap" ref="a802f673a6820154da6b905345ed5359d" args="(GstImplementsInterface *object, bool take_copy=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGst_1_1Interface.html">Gst::Interface</a> > wrap </td> <td>(</td> <td class="paramtype">GstImplementsInterface * </td> <td class="paramname"> <em>object</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>take_copy</em> = <code>false</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p>A <a class="elRef" href="../../../glibmm-2.4/reference/html/namespaceGlib.html#a671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>object</em> </td><td>The C instance. </td></tr> <tr><td valign="top"></td><td valign="top"><em>take_copy</em> </td><td>False if the result should take ownership of the C instance. True if it should take a new copy or ref. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>A C++ instance that wraps this C instance. </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>gstreamermm/interface.h</li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on Mon Sep 21 22:32:56 2009 for gstreamermm by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>