<!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::URIHandler 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_1URIHandler.html">URIHandler</a> </div> </div> <div class="contents"> <h1>Gst::URIHandler Class Reference<br/> <small> [<a class="el" href="group__GstInterfaces.html">gstreamermm Interfaces</a>]</small> </h1><!-- doxytag: class="Gst::URIHandler" --><!-- doxytag: inherits="Glib::Interface" --> <p><a class="el" href="classGst_1_1URIHandler.html" title="Gst::URIHandler - An interface to ease URI handling in plugins.">Gst::URIHandler</a> - An interface to ease URI handling in plugins. <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_1FdSink.html">Gst::FdSink</a>, <a class="el" href="classGst_1_1FdSrc.html">Gst::FdSrc</a>, <a class="el" href="classGst_1_1FileSink.html">Gst::FileSink</a>, <a class="el" href="classGst_1_1FileSrc.html">Gst::FileSrc</a>, <a class="el" href="classGst_1_1GioSink.html">Gst::GioSink</a>, and <a class="el" href="classGst_1_1GioSrc.html">Gst::GioSrc</a>.</p> <div class="dynheader"> Collaboration diagram for Gst::URIHandler:</div> <div class="dynsection"> <div class="center"><img src="classGst_1_1URIHandler__coll__graph.png" border="0" usemap="#Gst_1_1URIHandler_coll__map" alt="Collaboration graph"/></div> <map name="Gst_1_1URIHandler_coll__map" id="Gst_1_1URIHandler_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_1URIHandler-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_1URIHandler.html#a7ad2474d1a663886db229d3a3b00c844">~URIHandler</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">GstURIHandler* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a128db2798af5221b16e323054ebbd0f5">gobj</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#a128db2798af5221b16e323054ebbd0f5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const GstURIHandler* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a2c95c5e4666447dc1b7474a76bef63a4">gobj</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#a2c95c5e4666447dc1b7474a76bef63a4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">guint </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a2f602f9d4abc698857b1ec92cc06f340">get_uri_type</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the type of the given URI handler. <a href="#a2f602f9d4abc698857b1ec92cc06f340"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ArrayHandle.html">Glib::StringArrayHandle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#acfd748e7d5a6456dee4994414b084529">get_protocols</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the list of protocols supported by <em>handler</em>. <a href="#acfd748e7d5a6456dee4994414b084529"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a284bf4a5abc9e864492756600d688769">get_uri</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the currently handled URI. <a href="#a284bf4a5abc9e864492756600d688769"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a87d8fd71a5dbd8643daef02bf16ed08e">set_uri</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& uri)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Tries to set the URI of the given handler. <a href="#a87d8fd71a5dbd8643daef02bf16ed08e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a999d373739735ba97f4efc2e2fcdb4f6">new_uri</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& uri)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Emits the new-uri signal for a given handler, when that handler has a new URI. <a href="#a999d373739735ba97f4efc2e2fcdb4f6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1SignalProxy1.html">Glib::SignalProxy1</a>< void, <br class="typebreak"/> const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#aac25b62e42b27050f57c12cf4b74280f">signal_new_uri</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This signal is emitted when the URI of the uri handler has changed. <a href="#aac25b62e42b27050f57c12cf4b74280f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#ab9179cfea46932f55e535b1196c91ca8">get_uri_vfunc</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual method which should be implemented to return the URI currently handled by the element. <a href="#ab9179cfea46932f55e535b1196c91ca8"></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_1URIHandler.html#aacd685db7f331749d67f14cd7abbaf97">set_uri_vfunc</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& uri)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual method which should be implemented to set a new URI. <a href="#aacd685db7f331749d67f14cd7abbaf97"></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_1URIHandler.html#a1961e56b14fb7dd548b228d24f090709">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_1URIHandler.html#a306fd9f4715ed1ff7e116ee170fd09a4">protocol_is_valid</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& protocol)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Tests if the given string is a valid protocol identifier. <a href="#a306fd9f4715ed1ff7e116ee170fd09a4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a81753cf0fac65692811bf549e022decc">protocol_is_supported</a> (const <a class="el" href="group__gstreamermmEnums.html#ga50f007fe40e3fb7497cc8d65e6619c2b">URIType</a> type, const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& protocol)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if an element exists that supports the given URI protocol. <a href="#a81753cf0fac65692811bf549e022decc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#ae666b6dba4da1ea80e04ad5bd14d54ce">uri_is_valid</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& uri)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Tests if the given string is a valid URI identifier. <a href="#ae666b6dba4da1ea80e04ad5bd14d54ce"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a6fef87498aa1778fc73e95a04744f2cc">uri_has_protocol</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& uri, const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& protocol)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks if the protocol of a given valid URI matches <em>protocol</em>. <a href="#a6fef87498aa1778fc73e95a04744f2cc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a897d47103ed1619a8606cf3f527d7e2d">get_protocol</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& uri)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Extracts the protocol out of a given valid URI. <a href="#a897d47103ed1619a8606cf3f527d7e2d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#aa3e505a848f4d31e0d973fee77d7be80">get_location</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& uri)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Extracts the location out of a given valid URI, ie. <a href="#aa3e505a848f4d31e0d973fee77d7be80"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a8ba792037309809d38aa138f2c849473">construct_uri</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& protocol, const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& location)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs a URI for a given valid protocol and location. <a href="#a8ba792037309809d38aa138f2c849473"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <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="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a9d74856beebd75440fb382dfff94cdf2">make_element_from_uri</a> (const <a class="el" href="group__gstreamermmEnums.html#ga50f007fe40e3fb7497cc8d65e6619c2b">URIType</a> type, const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& uri, const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& name)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates an element for handling the given URI. <a href="#a9d74856beebd75440fb382dfff94cdf2"></a><br/></td></tr> <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a12b25f00dd4e7aa7dc8a753a2f57d369">on_new_uri</a> (const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& uri)</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_1URIHandler.html">Gst::URIHandler</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1URIHandler.html#a6c3b8a1166a567b642ce2458c101b2c4">wrap</a> (GstURIHandler* 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="#a6c3b8a1166a567b642ce2458c101b2c4"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p><a class="el" href="classGst_1_1URIHandler.html" title="Gst::URIHandler - An interface to ease URI handling in plugins.">Gst::URIHandler</a> - An interface to ease URI handling in plugins. </p> <p>The <a class="el" href="classGst_1_1URIHandler.html" title="Gst::URIHandler - An interface to ease URI handling in plugins.">Gst::URIHandler</a> is an interface that is implemented by Source and Sink <a class="el" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements.">Gst::Element</a> to simplify then handling of URI.</p> <p>An application can use the following functions to quickly get an element that handles the given URI for reading or writing (<a class="el" href="classGst_1_1URIHandler.html#a9d74856beebd75440fb382dfff94cdf2" title="Creates an element for handling the given URI.">make_element_from_uri()</a>).</p> <p>Source and Sink plugins should implement this interface when possible.</p> <p>Last reviewed on 2005-11-09 (0.9.4) </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a7ad2474d1a663886db229d3a3b00c844"></a><!-- doxytag: member="Gst::URIHandler::~URIHandler" ref="a7ad2474d1a663886db229d3a3b00c844" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual Gst::URIHandler::~URIHandler </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a1961e56b14fb7dd548b228d24f090709"></a><!-- doxytag: member="Gst::URIHandler::add_interface" ref="a1961e56b14fb7dd548b228d24f090709" args="(GType gtype_implementer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void Gst::URIHandler::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="a8ba792037309809d38aa138f2c849473"></a><!-- doxytag: member="Gst::URIHandler::construct_uri" ref="a8ba792037309809d38aa138f2c849473" args="(const Glib::ustring &protocol, const Glib::ustring &location)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> Gst::URIHandler::construct_uri </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>protocol</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>location</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>Constructs a URI for a given valid protocol and location. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>protocol</em> </td><td>Protocol for URI. </td></tr> <tr><td valign="top"></td><td valign="top"><em>location</em> </td><td>Location for URI. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>A new string for this URI. Returns <code>0</code> if the given URI protocol is not valid, or the given location is <code>0</code>. </dd></dl> </div> </div> <a class="anchor" id="aa3e505a848f4d31e0d973fee77d7be80"></a><!-- doxytag: member="Gst::URIHandler::get_location" ref="aa3e505a848f4d31e0d973fee77d7be80" args="(const Glib::ustring &uri)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> Gst::URIHandler::get_location </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>uri</em></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Extracts the location out of a given valid URI, ie. </p> <p>the protocol and "://" are stripped from the URI, which means that the location returned includes the hostname if one is specified. The returned string must be freed using Glib::free(). </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>uri</em> </td><td>A URI string. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The location for this URI. Returns <code>0</code> if the URI isn't valid. If the URI does not contain a location, an empty string is returned. </dd></dl> </div> </div> <a class="anchor" id="a897d47103ed1619a8606cf3f527d7e2d"></a><!-- doxytag: member="Gst::URIHandler::get_protocol" ref="a897d47103ed1619a8606cf3f527d7e2d" args="(const Glib::ustring &uri)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> Gst::URIHandler::get_protocol </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>uri</em></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Extracts the protocol out of a given valid URI. </p> <p>The returned string must be freed using Glib::free(). </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>uri</em> </td><td>A URI string. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The protocol for this URI. </dd></dl> </div> </div> <a class="anchor" id="acfd748e7d5a6456dee4994414b084529"></a><!-- doxytag: member="Gst::URIHandler::get_protocols" ref="acfd748e7d5a6456dee4994414b084529" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ArrayHandle.html">Glib::StringArrayHandle</a> Gst::URIHandler::get_protocols </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Gets the list of protocols supported by <em>handler</em>. </p> <p>This list may not be modified.</p> <p>Returns <code>0</code> if the <em>handler</em> isn't implemented properly, or the <em>handler</em> </p> <dl class="return"><dt><b>Returns:</b></dt><dd><code>0</code> if the <em>handler</em> isn't implemented properly, or the <em>handler</em> doesn't support any protocols. </dd></dl> </div> </div> <a class="anchor" id="a284bf4a5abc9e864492756600d688769"></a><!-- doxytag: member="Gst::URIHandler::get_uri" ref="a284bf4a5abc9e864492756600d688769" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> Gst::URIHandler::get_uri </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Gets the currently handled URI. </p> <p>Returns <code>0</code> if there are no URI currently handled. The returned </p> <dl class="return"><dt><b>Returns:</b></dt><dd><code>0</code> if there are no URI currently handled. The returned string must not be modified or freed. </dd></dl> </div> </div> <a class="anchor" id="a2f602f9d4abc698857b1ec92cc06f340"></a><!-- doxytag: member="Gst::URIHandler::get_uri_type" ref="a2f602f9d4abc698857b1ec92cc06f340" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">guint Gst::URIHandler::get_uri_type </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Gets the type of the given URI handler. </p> <p>Returns <a class="el" href="group__gstreamermmEnums.html#gga50f007fe40e3fb7497cc8d65e6619c2ba238fe5c93d95416bfce578ced1895926">Gst::URI_UNKNOWN</a> if the <em>handler</em> isn't implemented correctly. </p> <dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__gstreamermmEnums.html#gga50f007fe40e3fb7497cc8d65e6619c2ba238fe5c93d95416bfce578ced1895926">Gst::URI_UNKNOWN</a> if the <em>handler</em> isn't implemented correctly. </dd></dl> </div> </div> <a class="anchor" id="ab9179cfea46932f55e535b1196c91ca8"></a><!-- doxytag: member="Gst::URIHandler::get_uri_vfunc" ref="ab9179cfea46932f55e535b1196c91ca8" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> Gst::URIHandler::get_uri_vfunc </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Virtual method which should be implemented to return the URI currently handled by the element. </p> </div> </div> <a class="anchor" id="a2c95c5e4666447dc1b7474a76bef63a4"></a><!-- doxytag: member="Gst::URIHandler::gobj" ref="a2c95c5e4666447dc1b7474a76bef63a4" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const GstURIHandler* Gst::URIHandler::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_1FdSink.html#a7e1e563efe4d41eca452b2e151cd5097">Gst::FdSink</a>, <a class="el" href="classGst_1_1FdSrc.html#ad9d87af02d4249e1a850098e5de5e4fd">Gst::FdSrc</a>, <a class="el" href="classGst_1_1FileSink.html#a1463d7e6be0f8e8e1e2885a2655d06a1">Gst::FileSink</a>, <a class="el" href="classGst_1_1FileSrc.html#a096f102883aa70228f5c307e99a3d36a">Gst::FileSrc</a>, <a class="el" href="classGst_1_1GioSink.html#ae0cfc14ba6be86c1e355920b50520593">Gst::GioSink</a>, and <a class="el" href="classGst_1_1GioSrc.html#a401879cb2f66ccf205a47872eb61d676">Gst::GioSrc</a>.</p> </div> </div> <a class="anchor" id="a128db2798af5221b16e323054ebbd0f5"></a><!-- doxytag: member="Gst::URIHandler::gobj" ref="a128db2798af5221b16e323054ebbd0f5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GstURIHandler* Gst::URIHandler::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_1FdSink.html#a8f6a6d5eeecce18168df9487a5ef4e83">Gst::FdSink</a>, <a class="el" href="classGst_1_1FdSrc.html#aa2e73feba500a0d895d5e41e294bd7c1">Gst::FdSrc</a>, <a class="el" href="classGst_1_1FileSink.html#a1e178b79f244c45e279f8be646cdc6d5">Gst::FileSink</a>, <a class="el" href="classGst_1_1FileSrc.html#a53d18ab2aa3de47e3f5c18cfe8d9bbfb">Gst::FileSrc</a>, <a class="el" href="classGst_1_1GioSink.html#a36eea51fd38b6c88869963d1f87e7639">Gst::GioSink</a>, and <a class="el" href="classGst_1_1GioSrc.html#a818b54546d3a793a2028b00efd6e7a75">Gst::GioSrc</a>.</p> </div> </div> <a class="anchor" id="a9d74856beebd75440fb382dfff94cdf2"></a><!-- doxytag: member="Gst::URIHandler::make_element_from_uri" ref="a9d74856beebd75440fb382dfff94cdf2" args="(const URIType type, const Glib::ustring &uri, const Glib::ustring &name)" --> <div class="memitem"> <div class="memproto"> <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_1Element.html">Gst::Element</a>> Gst::URIHandler::make_element_from_uri </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__gstreamermmEnums.html#ga50f007fe40e3fb7497cc8d65e6619c2b">URIType</a> </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>uri</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>name</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>Creates an element for handling the given URI. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>Whether to create a source or a sink. </td></tr> <tr><td valign="top"></td><td valign="top"><em>uri</em> </td><td>URI to create an element for. </td></tr> <tr><td valign="top"></td><td valign="top"><em>elementname</em> </td><td>Name of created element, can be <code>0</code>. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>A new element or <code>0</code> if none could be created. </dd></dl> </div> </div> <a class="anchor" id="a999d373739735ba97f4efc2e2fcdb4f6"></a><!-- doxytag: member="Gst::URIHandler::new_uri" ref="a999d373739735ba97f4efc2e2fcdb4f6" args="(const Glib::ustring &uri)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Gst::URIHandler::new_uri </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>uri</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Emits the new-uri signal for a given handler, when that handler has a new URI. </p> <p>This function should only be called by URI handlers themselves. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>uri</em> </td><td>New URI or <code>0</code> if it was unset. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a12b25f00dd4e7aa7dc8a753a2f57d369"></a><!-- doxytag: member="Gst::URIHandler::on_new_uri" ref="a12b25f00dd4e7aa7dc8a753a2f57d369" args="(const Glib::ustring &uri)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void Gst::URIHandler::on_new_uri </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>uri</em></td> <td> ) </td> <td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a81753cf0fac65692811bf549e022decc"></a><!-- doxytag: member="Gst::URIHandler::protocol_is_supported" ref="a81753cf0fac65692811bf549e022decc" args="(const URIType type, const Glib::ustring &protocol)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool Gst::URIHandler::protocol_is_supported </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__gstreamermmEnums.html#ga50f007fe40e3fb7497cc8d65e6619c2b">URIType</a> </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>protocol</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>Checks if an element exists that supports the given URI protocol. </p> <p>Note that a positive return value does not imply that a subsequent call to Gst::Element::make_from_uri() is guaranteed to work. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>Whether to check for a source or a sink. </td></tr> <tr><td valign="top"></td><td valign="top"><em>protocol</em> </td><td>Protocol that should be checked for (e.g. "http" or "smb"). </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code></dd></dl> <dl class="since_0_10"><dt><b><a class="el" href="since_0_10.html#_since_0_10000102">Since gstreamermm 0.10:</a></b></dt><dd>.13. </dd></dl> </div> </div> <a class="anchor" id="a306fd9f4715ed1ff7e116ee170fd09a4"></a><!-- doxytag: member="Gst::URIHandler::protocol_is_valid" ref="a306fd9f4715ed1ff7e116ee170fd09a4" args="(const Glib::ustring &protocol)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool Gst::URIHandler::protocol_is_valid </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>protocol</em></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Tests if the given string is a valid protocol identifier. </p> <p>Protocols must consist of alphanumeric characters, '+', '-' and '.' and must start with a alphabetic character. See RFC 3986 Section 3.1. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>protocol</em> </td><td>A string. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the string is a valid protocol identifier, <code>false</code> otherwise. </dd></dl> </div> </div> <a class="anchor" id="a87d8fd71a5dbd8643daef02bf16ed08e"></a><!-- doxytag: member="Gst::URIHandler::set_uri" ref="a87d8fd71a5dbd8643daef02bf16ed08e" args="(const Glib::ustring &uri)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Gst::URIHandler::set_uri </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>uri</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Tries to set the URI of the given handler. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>uri</em> </td><td>URI to set. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the URI was set successfully, else <code>false</code>. </dd></dl> </div> </div> <a class="anchor" id="aacd685db7f331749d67f14cd7abbaf97"></a><!-- doxytag: member="Gst::URIHandler::set_uri_vfunc" ref="aacd685db7f331749d67f14cd7abbaf97" args="(const Glib::ustring &uri)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool Gst::URIHandler::set_uri_vfunc </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>uri</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Virtual method which should be implemented to set a new URI. </p> </div> </div> <a class="anchor" id="aac25b62e42b27050f57c12cf4b74280f"></a><!-- doxytag: member="Gst::URIHandler::signal_new_uri" ref="aac25b62e42b27050f57c12cf4b74280f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1SignalProxy1.html">Glib::SignalProxy1</a>< void,const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& > Gst::URIHandler::signal_new_uri </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>This signal is emitted when the URI of the uri handler has changed. </p> <dl class="user"><dt><b>Prototype:</b></dt><dd><code>void on_my_new_uri(const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a>& uri)</code> </dd></dl> </div> </div> <a class="anchor" id="a6fef87498aa1778fc73e95a04744f2cc"></a><!-- doxytag: member="Gst::URIHandler::uri_has_protocol" ref="a6fef87498aa1778fc73e95a04744f2cc" args="(const Glib::ustring &uri, const Glib::ustring &protocol)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool Gst::URIHandler::uri_has_protocol </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>uri</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>protocol</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>Checks if the protocol of a given valid URI matches <em>protocol</em>. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>uri</em> </td><td>An URI string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>protocol</em> </td><td>A protocol string (e.g. "http"). </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the protocol matches.</dd></dl> <dl class="since_0_10"><dt><b><a class="el" href="since_0_10.html#_since_0_10000103">Since gstreamermm 0.10:</a></b></dt><dd>.4. </dd></dl> </div> </div> <a class="anchor" id="ae666b6dba4da1ea80e04ad5bd14d54ce"></a><!-- doxytag: member="Gst::URIHandler::uri_is_valid" ref="ae666b6dba4da1ea80e04ad5bd14d54ce" args="(const Glib::ustring &uri)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool Gst::URIHandler::uri_is_valid </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1ustring.html">Glib::ustring</a> & </td> <td class="paramname"> <em>uri</em></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Tests if the given string is a valid URI identifier. </p> <p>URIs start with a valid scheme followed by ":" and maybe a string identifying the location. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>uri</em> </td><td>A URI string. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the string is a valid URI. </dd></dl> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a6c3b8a1166a567b642ce2458c101b2c4"></a><!-- doxytag: member="Gst::URIHandler::wrap" ref="a6c3b8a1166a567b642ce2458c101b2c4" args="(GstURIHandler *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_1URIHandler.html">Gst::URIHandler</a> > wrap </td> <td>(</td> <td class="paramtype">GstURIHandler * </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/urihandler.h</li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on Mon Sep 21 22:33:02 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>