<!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>glibmm: Glib::Source 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> <li><a href="examples.html"><span>Examples</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="namespaceGlib.html">Glib</a>::<a class="el" href="classGlib_1_1Source.html">Source</a> </div> </div> <div class="contents"> <h1>Glib::Source Class Reference<br/> <small> [<a class="el" href="group__MainLoop.html">The Main Event Loop</a>]</small> </h1><!-- doxytag: class="Glib::Source" --> <p>Inherited by <a class="el" href="classGlib_1_1IdleSource.html">Glib::IdleSource</a>, <a class="el" href="classGlib_1_1IOSource.html">Glib::IOSource</a>, and <a class="el" href="classGlib_1_1TimeoutSource.html">Glib::TimeoutSource</a>.</p> <p><a href="classGlib_1_1Source-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classGlib_1_1Source.html">Glib::Source</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a2edc89f6c4601e50f5aa22cb36eb9437">CppObjectType</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef GSource </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a6dbe7bc8cfb1b72d61f06a180119db7b">BaseObjectType</a></td></tr> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#aa61d28e643f2b286203b0d8e533b2c88">attach</a> (const <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGlib_1_1MainContext.html">MainContext</a> >& context)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a <a class="el" href="classGlib_1_1Source.html">Source</a> to a context so that it will be executed within that context. <a href="#aa61d28e643f2b286203b0d8e533b2c88"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a77c4b83960b2fd8d65b10ade1fc2e2fb">attach</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a <a class="el" href="classGlib_1_1Source.html">Source</a> to a context so that it will be executed within that context. <a href="#a77c4b83960b2fd8d65b10ade1fc2e2fb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a98c983f075cdcb77c576b10900b3e052">destroy</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a source from its <a class="el" href="classGlib_1_1MainContext.html" title="Main context.">MainContext</a>, if any, and marks it as destroyed. <a href="#a98c983f075cdcb77c576b10900b3e052"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a0c485044d82729a97b19cbcb841f3c53">set_priority</a> (int priority)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the priority of a source. <a href="#a0c485044d82729a97b19cbcb841f3c53"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#abdbea3f0b3404098729945a9973d638e">get_priority</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the priority of a source. <a href="#abdbea3f0b3404098729945a9973d638e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a9ca4bf99d7837587021e3cafd6775aba">set_can_recurse</a> (bool can_recurse)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets whether a source can be called recursively. <a href="#a9ca4bf99d7837587021e3cafd6775aba"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#ada9f428f6265066eb9879b95246795be">get_can_recurse</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks whether a source is allowed to be called recursively. <a href="#ada9f428f6265066eb9879b95246795be"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#ad4b66f89818dcc0c22479ec3c4f8f21e">get_id</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the numeric ID for a particular source. <a href="#ad4b66f89818dcc0c22479ec3c4f8f21e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGlib_1_1MainContext.html">MainContext</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a42935adf57e6605188e38236cb14b607">get_context</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the <a class="el" href="classGlib_1_1MainContext.html" title="Main context.">MainContext</a> with which the source is associated. <a href="#a42935adf57e6605188e38236cb14b607"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GSource* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a4e855292e2a99861f33c3ba3e5cc3486">gobj</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">const GSource* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#af22441954ace1f7d0d1e0314a9778787">gobj</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">GSource* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#affb708925e62814627bb2d332e1de0ec">gobj_copy</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a72a59a45934a94a26aea8de5f1262235">reference</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a7c87c88cbce09d3a7fb10c4e9856f57f">unreference</a> () const </td></tr> <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGlib_1_1Source.html">Source</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#aeaffb039abf99982d7a89403bca71569">create</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#af6135656536048436ebbb6424d366800">destroy_notify_callback</a> (void* data)</td></tr> <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a9d081ba880470694d7aae3daaee30198">Source</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct an object that uses the virtual functions <a class="el" href="classGlib_1_1Source.html#abc0e9e88fa74766818d317cd75d6aa3f">prepare()</a>, <a class="el" href="classGlib_1_1Source.html#a914448375c7e0dfcee1a686a006c685d">check()</a> and <a class="el" href="classGlib_1_1Source.html#aaf867fd3b09fc05d9c3e20cd89f35bd9">dispatch()</a>. <a href="#a9d081ba880470694d7aae3daaee30198"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#accc8cdb2f85ee750e196236a6533b1f0">Source</a> (GSource* cast_item, GSourceFunc callback_func)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Wrap an existing GSource object and install the given callback function. <a href="#accc8cdb2f85ee750e196236a6533b1f0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#ab075ead07aec68d085190935fe49ba22">~Source</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">sigc::connection </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a7ee23894376489ae9cebf18bada4e014">connect_generic</a> (const sigc::slot_base&<a class="elRef" href="../../../libsigc++-2.0/reference/html/classsigc_1_1slot.html">slot</a>)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a3a0843a960cad7a25919a682c37c9d03">add_poll</a> (<a class="el" href="classGlib_1_1PollFD.html">PollFD</a>& poll_fd)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a file descriptor to the set of file descriptors polled for this source. <a href="#a3a0843a960cad7a25919a682c37c9d03"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a67b7133527caa4f788674af0b4f185b2">remove_poll</a> (<a class="el" href="classGlib_1_1PollFD.html">PollFD</a>& poll_fd)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a file descriptor from the set of file descriptors polled for this source. <a href="#a67b7133527caa4f788674af0b4f185b2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#aec16c75c6c202ea5cb4667aef2637d3c">get_current_time</a> (<a class="el" href="structGlib_1_1TimeVal.html">Glib::TimeVal</a>& current_time)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the "current time" to be used when checking this source. <a href="#aec16c75c6c202ea5cb4667aef2637d3c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#abc0e9e88fa74766818d317cd75d6aa3f">prepare</a> (int& timeout)=0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a914448375c7e0dfcee1a686a006c685d">check</a> ()=0</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#aaf867fd3b09fc05d9c3e20cd89f35bd9">dispatch</a> (sigc::slot_base*<a class="elRef" href="../../../libsigc++-2.0/reference/html/classsigc_1_1slot.html">slot</a>)=0</td></tr> </table> <hr/><h2>Member Typedef Documentation</h2> <a class="anchor" id="a6dbe7bc8cfb1b72d61f06a180119db7b"></a><!-- doxytag: member="Glib::Source::BaseObjectType" ref="a6dbe7bc8cfb1b72d61f06a180119db7b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef GSource <a class="el" href="classGlib_1_1Source.html#a6dbe7bc8cfb1b72d61f06a180119db7b">Glib::Source::BaseObjectType</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a2edc89f6c4601e50f5aa22cb36eb9437"></a><!-- doxytag: member="Glib::Source::CppObjectType" ref="a2edc89f6c4601e50f5aa22cb36eb9437" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="classGlib_1_1Source.html">Glib::Source</a> <a class="el" href="classGlib_1_1Source.html">Glib::Source::CppObjectType</a></td> </tr> </table> </div> <div class="memdoc"> <p>Reimplemented in <a class="el" href="classGlib_1_1TimeoutSource.html#a922118e49e86690ad1b1b343734eaec6">Glib::TimeoutSource</a>, <a class="el" href="classGlib_1_1IdleSource.html#a0b70fdba79b73916c80aade11346aff9">Glib::IdleSource</a>, and <a class="el" href="classGlib_1_1IOSource.html#a53b297a9c28f4dfbdb25dcbd12676797">Glib::IOSource</a>.</p> </div> </div> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a9d081ba880470694d7aae3daaee30198"></a><!-- doxytag: member="Glib::Source::Source" ref="a9d081ba880470694d7aae3daaee30198" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Glib::Source::Source </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Construct an object that uses the virtual functions <a class="el" href="classGlib_1_1Source.html#abc0e9e88fa74766818d317cd75d6aa3f">prepare()</a>, <a class="el" href="classGlib_1_1Source.html#a914448375c7e0dfcee1a686a006c685d">check()</a> and <a class="el" href="classGlib_1_1Source.html#aaf867fd3b09fc05d9c3e20cd89f35bd9">dispatch()</a>. </p> </div> </div> <a class="anchor" id="accc8cdb2f85ee750e196236a6533b1f0"></a><!-- doxytag: member="Glib::Source::Source" ref="accc8cdb2f85ee750e196236a6533b1f0" args="(GSource *cast_item, GSourceFunc callback_func)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Glib::Source::Source </td> <td>(</td> <td class="paramtype">GSource * </td> <td class="paramname"> <em>cast_item</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">GSourceFunc </td> <td class="paramname"> <em>callback_func</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Wrap an existing GSource object and install the given callback function. </p> <p>The constructed object doesn't use the virtual functions <a class="el" href="classGlib_1_1Source.html#abc0e9e88fa74766818d317cd75d6aa3f">prepare()</a>, <a class="el" href="classGlib_1_1Source.html#a914448375c7e0dfcee1a686a006c685d">check()</a> and <a class="el" href="classGlib_1_1Source.html#aaf867fd3b09fc05d9c3e20cd89f35bd9">dispatch()</a>. This constructor is for use by derived types that need to wrap a GSource object. The callback function can be a static member function. But beware - depending on the actual implementation of the GSource's virtual functions the expected type of the callback function can differ from GSourceFunc. </p> </div> </div> <a class="anchor" id="ab075ead07aec68d085190935fe49ba22"></a><!-- doxytag: member="Glib::Source::~Source" ref="ab075ead07aec68d085190935fe49ba22" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual Glib::Source::~Source </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a3a0843a960cad7a25919a682c37c9d03"></a><!-- doxytag: member="Glib::Source::add_poll" ref="a3a0843a960cad7a25919a682c37c9d03" args="(PollFD &poll_fd)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Glib::Source::add_poll </td> <td>(</td> <td class="paramtype"><a class="el" href="classGlib_1_1PollFD.html">PollFD</a>& </td> <td class="paramname"> <em>poll_fd</em></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a file descriptor to the set of file descriptors polled for this source. </p> <p>The event source's check function will typically test the revents field in the <a class="el" href="classGlib_1_1PollFD.html">PollFD</a> and return true if events need to be processed. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>poll_fd</em> </td><td>A <a class="el" href="classGlib_1_1PollFD.html">PollFD</a> object holding information about a file descriptor to watch. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a77c4b83960b2fd8d65b10ade1fc2e2fb"></a><!-- doxytag: member="Glib::Source::attach" ref="a77c4b83960b2fd8d65b10ade1fc2e2fb" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int Glib::Source::attach </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a <a class="el" href="classGlib_1_1Source.html">Source</a> to a context so that it will be executed within that context. </p> <p>The default context will be used. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>The ID for the source within the <a class="el" href="classGlib_1_1MainContext.html" title="Main context.">MainContext</a>. </dd></dl> </div> </div> <a class="anchor" id="aa61d28e643f2b286203b0d8e533b2c88"></a><!-- doxytag: member="Glib::Source::attach" ref="aa61d28e643f2b286203b0d8e533b2c88" args="(const Glib::RefPtr< MainContext > &context)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int Glib::Source::attach </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGlib_1_1MainContext.html">MainContext</a> >& </td> <td class="paramname"> <em>context</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Adds a <a class="el" href="classGlib_1_1Source.html">Source</a> to a context so that it will be executed within that context. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A <a class="el" href="classGlib_1_1MainContext.html" title="Main context.">MainContext</a>. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The ID for the source within the <a class="el" href="classGlib_1_1MainContext.html" title="Main context.">MainContext</a>. </dd></dl> </div> </div> <a class="anchor" id="a914448375c7e0dfcee1a686a006c685d"></a><!-- doxytag: member="Glib::Source::check" ref="a914448375c7e0dfcee1a686a006c685d" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool Glib::Source::check </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [protected, pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Implemented in <a class="el" href="classGlib_1_1TimeoutSource.html#a1d618d99c0d7d6b65b0118174e1cfdfc">Glib::TimeoutSource</a>, <a class="el" href="classGlib_1_1IdleSource.html#ad909d691258ed037243d2ae444160964">Glib::IdleSource</a>, and <a class="el" href="classGlib_1_1IOSource.html#a110d00d58e547a8c3f0af3885c7ec7cb">Glib::IOSource</a>.</p> </div> </div> <a class="anchor" id="a7ee23894376489ae9cebf18bada4e014"></a><!-- doxytag: member="Glib::Source::connect_generic" ref="a7ee23894376489ae9cebf18bada4e014" args="(const sigc::slot_base &slot)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">sigc::connection Glib::Source::connect_generic </td> <td>(</td> <td class="paramtype">const sigc::slot_base & </td> <td class="paramname"> <em>slot</em></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="aeaffb039abf99982d7a89403bca71569"></a><!-- doxytag: member="Glib::Source::create" ref="aeaffb039abf99982d7a89403bca71569" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a><<a class="el" href="classGlib_1_1Source.html">Source</a>> Glib::Source::create </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Reimplemented in <a class="el" href="classGlib_1_1IdleSource.html#a2d60b73fff1919fb0b9022a4d9a0b148">Glib::IdleSource</a>.</p> </div> </div> <a class="anchor" id="a98c983f075cdcb77c576b10900b3e052"></a><!-- doxytag: member="Glib::Source::destroy" ref="a98c983f075cdcb77c576b10900b3e052" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Glib::Source::destroy </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Removes a source from its <a class="el" href="classGlib_1_1MainContext.html" title="Main context.">MainContext</a>, if any, and marks it as destroyed. </p> <p>The source cannot be subsequently added to another context. </p> </div> </div> <a class="anchor" id="af6135656536048436ebbb6424d366800"></a><!-- doxytag: member="Glib::Source::destroy_notify_callback" ref="af6135656536048436ebbb6424d366800" args="(void *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void Glib::Source::destroy_notify_callback </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>data</em></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="aaf867fd3b09fc05d9c3e20cd89f35bd9"></a><!-- doxytag: member="Glib::Source::dispatch" ref="aaf867fd3b09fc05d9c3e20cd89f35bd9" args="(sigc::slot_base *slot)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool Glib::Source::dispatch </td> <td>(</td> <td class="paramtype">sigc::slot_base * </td> <td class="paramname"> <em>slot</em></td> <td> ) </td> <td><code> [protected, pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Implemented in <a class="el" href="classGlib_1_1TimeoutSource.html#a27f49b37169765057787f68dabb0cad3">Glib::TimeoutSource</a>, <a class="el" href="classGlib_1_1IdleSource.html#a47da1054d939bd656d704c719ddd5633">Glib::IdleSource</a>, and <a class="el" href="classGlib_1_1IOSource.html#aaf471a16f9b9659af63d8f0b39cea51f">Glib::IOSource</a>.</p> </div> </div> <a class="anchor" id="ada9f428f6265066eb9879b95246795be"></a><!-- doxytag: member="Glib::Source::get_can_recurse" ref="ada9f428f6265066eb9879b95246795be" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Glib::Source::get_can_recurse </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Checks whether a source is allowed to be called recursively. </p> <p>see <a class="el" href="classGlib_1_1Source.html#a9ca4bf99d7837587021e3cafd6775aba" title="Sets whether a source can be called recursively.">set_can_recurse()</a>. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>Whether recursion is allowed. </dd></dl> </div> </div> <a class="anchor" id="a42935adf57e6605188e38236cb14b607"></a><!-- doxytag: member="Glib::Source::get_context" ref="a42935adf57e6605188e38236cb14b607" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a><<a class="el" href="classGlib_1_1MainContext.html">MainContext</a>> Glib::Source::get_context </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Gets the <a class="el" href="classGlib_1_1MainContext.html" title="Main context.">MainContext</a> with which the source is associated. </p> <p>Calling this function on a destroyed source is an error. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classGlib_1_1MainContext.html" title="Main context.">MainContext</a> with which the source is associated, or a null <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr<> is a reference-counting shared smartpointer.">RefPtr</a> if the context has not yet been added to a source. </dd></dl> </div> </div> <a class="anchor" id="aec16c75c6c202ea5cb4667aef2637d3c"></a><!-- doxytag: member="Glib::Source::get_current_time" ref="aec16c75c6c202ea5cb4667aef2637d3c" args="(Glib::TimeVal &current_time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Glib::Source::get_current_time </td> <td>(</td> <td class="paramtype"><a class="el" href="structGlib_1_1TimeVal.html">Glib::TimeVal</a>& </td> <td class="paramname"> <em>current_time</em></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Gets the "current time" to be used when checking this source. </p> <p>The advantage of calling this function over calling <a class="el" href="classGlib_1_1Source.html#aec16c75c6c202ea5cb4667aef2637d3c" title="Gets the "current time" to be used when checking this source.">get_current_time()</a> directly is that when checking multiple sources, GLib can cache a single value instead of having to repeatedly get the system time. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>current_time</em> </td><td><a class="el" href="structGlib_1_1TimeVal.html" title="Glib::TimeVal is a wrapper around the glib structure GTimeVal.">Glib::TimeVal</a> in which to store current time </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ad4b66f89818dcc0c22479ec3c4f8f21e"></a><!-- doxytag: member="Glib::Source::get_id" ref="ad4b66f89818dcc0c22479ec3c4f8f21e" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int Glib::Source::get_id </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the numeric ID for a particular source. </p> <p>The ID of a source is unique within a particular main loop context. The reverse mapping from ID to source is done by MainContext::find_source_by_id(). </p> <dl class="return"><dt><b>Returns:</b></dt><dd>The ID for the source. </dd></dl> </div> </div> <a class="anchor" id="abdbea3f0b3404098729945a9973d638e"></a><!-- doxytag: member="Glib::Source::get_priority" ref="abdbea3f0b3404098729945a9973d638e" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int Glib::Source::get_priority </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Gets the priority of a source. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>The priority of the source. </dd></dl> </div> </div> <a class="anchor" id="af22441954ace1f7d0d1e0314a9778787"></a><!-- doxytag: member="Glib::Source::gobj" ref="af22441954ace1f7d0d1e0314a9778787" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const GSource* Glib::Source::gobj </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a4e855292e2a99861f33c3ba3e5cc3486"></a><!-- doxytag: member="Glib::Source::gobj" ref="a4e855292e2a99861f33c3ba3e5cc3486" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GSource* Glib::Source::gobj </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="affb708925e62814627bb2d332e1de0ec"></a><!-- doxytag: member="Glib::Source::gobj_copy" ref="affb708925e62814627bb2d332e1de0ec" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GSource* Glib::Source::gobj_copy </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="abc0e9e88fa74766818d317cd75d6aa3f"></a><!-- doxytag: member="Glib::Source::prepare" ref="abc0e9e88fa74766818d317cd75d6aa3f" args="(int &timeout)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool Glib::Source::prepare </td> <td>(</td> <td class="paramtype">int & </td> <td class="paramname"> <em>timeout</em></td> <td> ) </td> <td><code> [protected, pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Implemented in <a class="el" href="classGlib_1_1TimeoutSource.html#a08b0603920ff6ca9d3986121d584746a">Glib::TimeoutSource</a>, <a class="el" href="classGlib_1_1IdleSource.html#acc5555f554ce39e52a039da6a49bd259">Glib::IdleSource</a>, and <a class="el" href="classGlib_1_1IOSource.html#a3a4aec26372e72bdfb709e6fe37a205d">Glib::IOSource</a>.</p> </div> </div> <a class="anchor" id="a72a59a45934a94a26aea8de5f1262235"></a><!-- doxytag: member="Glib::Source::reference" ref="a72a59a45934a94a26aea8de5f1262235" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Glib::Source::reference </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a67b7133527caa4f788674af0b4f185b2"></a><!-- doxytag: member="Glib::Source::remove_poll" ref="a67b7133527caa4f788674af0b4f185b2" args="(PollFD &poll_fd)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Glib::Source::remove_poll </td> <td>(</td> <td class="paramtype"><a class="el" href="classGlib_1_1PollFD.html">PollFD</a>& </td> <td class="paramname"> <em>poll_fd</em></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Removes a file descriptor from the set of file descriptors polled for this source. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>poll_fd</em> </td><td>A <a class="el" href="classGlib_1_1PollFD.html">PollFD</a> object previously passed to <a class="el" href="classGlib_1_1Source.html#a3a0843a960cad7a25919a682c37c9d03" title="Adds a file descriptor to the set of file descriptors polled for this source.">add_poll()</a>. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a9ca4bf99d7837587021e3cafd6775aba"></a><!-- doxytag: member="Glib::Source::set_can_recurse" ref="a9ca4bf99d7837587021e3cafd6775aba" args="(bool can_recurse)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Glib::Source::set_can_recurse </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>can_recurse</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets whether a source can be called recursively. </p> <p>If <em>can_recurse</em> is true, then while the source is being dispatched then this source will be processed normally. Otherwise, all processing of this source is blocked until the dispatch function returns. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>can_recurse</em> </td><td>Whether recursion is allowed for this source. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a0c485044d82729a97b19cbcb841f3c53"></a><!-- doxytag: member="Glib::Source::set_priority" ref="a0c485044d82729a97b19cbcb841f3c53" args="(int priority)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Glib::Source::set_priority </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>priority</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the priority of a source. </p> <p>While the main loop is being run, a source will be dispatched if it is ready to be dispatched and no sources at a higher (numerically smaller) priority are ready to be dispatched. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>priority</em> </td><td>The new priority. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a7c87c88cbce09d3a7fb10c4e9856f57f"></a><!-- doxytag: member="Glib::Source::unreference" ref="a7c87c88cbce09d3a7fb10c4e9856f57f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Glib::Source::unreference </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>glibmm/main.h</li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on Mon Sep 21 11:07:26 2009 for glibmm 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>