<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.11"/> <title>glibmm: Glib::Source Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> <link href="doxygen-extra.css" rel="stylesheet" type="text/css"/> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">glibmm  <span id="projectnumber">2.60.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.11 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <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 id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceGlib.html">Glib</a></li><li class="navelem"><a class="el" href="classGlib_1_1Source.html">Source</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="classGlib_1_1Source-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">Glib::Source Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__MainLoop.html">The Main Event Loop</a></div></div> </div> </div><!--header--> <div class="contents"> <p><code>#include <glibmm/main.h></code></p> <div class="dynheader"> Inheritance diagram for Glib::Source:</div> <div class="dyncontent"> <div class="center"><img src="classGlib_1_1Source__inherit__graph.png" border="0" usemap="#Glib_1_1Source_inherit__map" alt="Inheritance graph"/></div> <map name="Glib_1_1Source_inherit__map" id="Glib_1_1Source_inherit__map"> <area shape="rect" id="node2" href="classGlib_1_1IdleSource.html" title="Glib::IdleSource" alt="" coords="5,80,129,107"/> <area shape="rect" id="node3" href="classGlib_1_1IOSource.html" title="Glib::IOSource" alt="" coords="154,80,269,107"/> <area shape="rect" id="node5" href="classGlib_1_1TimeoutSource.html" title="Glib::TimeoutSource" alt="" coords="293,80,447,107"/> <area shape="rect" id="node4" href="classGio_1_1SocketSource.html" title="An event source that can monitor a Gio::Socket. " alt="" coords="141,155,281,181"/> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:a36c90841b4bfdeab189345429573ad76"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a36c90841b4bfdeab189345429573ad76">CppObjectType</a> = <a class="el" href="classGlib_1_1Source.html">Glib::Source</a></td></tr> <tr class="separator:a36c90841b4bfdeab189345429573ad76"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a30c02cc7b19c4cfe98caa94ae0cba213"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a30c02cc7b19c4cfe98caa94ae0cba213">BaseObjectType</a> = GSource</td></tr> <tr class="separator:a30c02cc7b19c4cfe98caa94ae0cba213"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a521a1901abbe790a8270192ab7650737"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a521a1901abbe790a8270192ab7650737">Source</a> (const <a class="el" href="classGlib_1_1Source.html">Source</a>&)=delete</td></tr> <tr class="separator:a521a1901abbe790a8270192ab7650737"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a104cbad20b538322d827d646fe73fcc0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1Source.html">Source</a>& </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a104cbad20b538322d827d646fe73fcc0">operator=</a> (const <a class="el" href="classGlib_1_1Source.html">Source</a>&)=delete</td></tr> <tr class="separator:a104cbad20b538322d827d646fe73fcc0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa61d28e643f2b286203b0d8e533b2c88"><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 class="memdesc:aa61d28e643f2b286203b0d8e533b2c88"><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">More...</a><br /></td></tr> <tr class="separator:aa61d28e643f2b286203b0d8e533b2c88"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a77c4b83960b2fd8d65b10ade1fc2e2fb"><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 class="memdesc:a77c4b83960b2fd8d65b10ade1fc2e2fb"><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">More...</a><br /></td></tr> <tr class="separator:a77c4b83960b2fd8d65b10ade1fc2e2fb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a98c983f075cdcb77c576b10900b3e052"><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 class="memdesc:a98c983f075cdcb77c576b10900b3e052"><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">More...</a><br /></td></tr> <tr class="separator:a98c983f075cdcb77c576b10900b3e052"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0c485044d82729a97b19cbcb841f3c53"><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 class="memdesc:a0c485044d82729a97b19cbcb841f3c53"><td class="mdescLeft"> </td><td class="mdescRight">Sets the priority of a source. <a href="#a0c485044d82729a97b19cbcb841f3c53">More...</a><br /></td></tr> <tr class="separator:a0c485044d82729a97b19cbcb841f3c53"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abdbea3f0b3404098729945a9973d638e"><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 class="memdesc:abdbea3f0b3404098729945a9973d638e"><td class="mdescLeft"> </td><td class="mdescRight">Gets the priority of a source. <a href="#abdbea3f0b3404098729945a9973d638e">More...</a><br /></td></tr> <tr class="separator:abdbea3f0b3404098729945a9973d638e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9ca4bf99d7837587021e3cafd6775aba"><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 class="memdesc:a9ca4bf99d7837587021e3cafd6775aba"><td class="mdescLeft"> </td><td class="mdescRight">Sets whether a source can be called recursively. <a href="#a9ca4bf99d7837587021e3cafd6775aba">More...</a><br /></td></tr> <tr class="separator:a9ca4bf99d7837587021e3cafd6775aba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ada9f428f6265066eb9879b95246795be"><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 class="memdesc:ada9f428f6265066eb9879b95246795be"><td class="mdescLeft"> </td><td class="mdescRight">Checks whether a source is allowed to be called recursively. <a href="#ada9f428f6265066eb9879b95246795be">More...</a><br /></td></tr> <tr class="separator:ada9f428f6265066eb9879b95246795be"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad4b66f89818dcc0c22479ec3c4f8f21e"><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 class="memdesc:ad4b66f89818dcc0c22479ec3c4f8f21e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the numeric ID for a particular source. <a href="#ad4b66f89818dcc0c22479ec3c4f8f21e">More...</a><br /></td></tr> <tr class="separator:ad4b66f89818dcc0c22479ec3c4f8f21e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a42935adf57e6605188e38236cb14b607"><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 class="memdesc:a42935adf57e6605188e38236cb14b607"><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">More...</a><br /></td></tr> <tr class="separator:a42935adf57e6605188e38236cb14b607"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4e855292e2a99861f33c3ba3e5cc3486"><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 class="separator:a4e855292e2a99861f33c3ba3e5cc3486"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af22441954ace1f7d0d1e0314a9778787"><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 class="separator:af22441954ace1f7d0d1e0314a9778787"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:affb708925e62814627bb2d332e1de0ec"><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 class="separator:affb708925e62814627bb2d332e1de0ec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a72a59a45934a94a26aea8de5f1262235"><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 class="separator:a72a59a45934a94a26aea8de5f1262235"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7c87c88cbce09d3a7fb10c4e9856f57f"><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 class="separator:a7c87c88cbce09d3a7fb10c4e9856f57f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr class="memitem:aeaffb039abf99982d7a89403bca71569"><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 class="separator:aeaffb039abf99982d7a89403bca71569"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr class="memitem:a9d081ba880470694d7aae3daaee30198"><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 class="memdesc:a9d081ba880470694d7aae3daaee30198"><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">More...</a><br /></td></tr> <tr class="separator:a9d081ba880470694d7aae3daaee30198"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:accc8cdb2f85ee750e196236a6533b1f0"><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 class="memdesc:accc8cdb2f85ee750e196236a6533b1f0"><td class="mdescLeft"> </td><td class="mdescRight">Wrap an existing GSource object and install the given callback function. <a href="#accc8cdb2f85ee750e196236a6533b1f0">More...</a><br /></td></tr> <tr class="separator:accc8cdb2f85ee750e196236a6533b1f0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ef52ada4719ebc7d96b8fb41cd8d5f6"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a3ef52ada4719ebc7d96b8fb41cd8d5f6">~Source</a> () noexcept</td></tr> <tr class="separator:a3ef52ada4719ebc7d96b8fb41cd8d5f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7ee23894376489ae9cebf18bada4e014"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1connection.html">sigc::connection</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a7ee23894376489ae9cebf18bada4e014">connect_generic</a> (const <a class="elRef" href="../../../libsigc++-2.0/reference/html/classsigc_1_1slot__base.html">sigc::slot_base</a>& slot)</td></tr> <tr class="separator:a7ee23894376489ae9cebf18bada4e014"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3a0843a960cad7a25919a682c37c9d03"><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 class="memdesc:a3a0843a960cad7a25919a682c37c9d03"><td class="mdescLeft"> </td><td class="mdescRight">Adds a file descriptor to the set of file descriptors polled for this source. <a href="#a3a0843a960cad7a25919a682c37c9d03">More...</a><br /></td></tr> <tr class="separator:a3a0843a960cad7a25919a682c37c9d03"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a67b7133527caa4f788674af0b4f185b2"><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 class="memdesc:a67b7133527caa4f788674af0b4f185b2"><td class="mdescLeft"> </td><td class="mdescRight">Removes a file descriptor from the set of file descriptors polled for this source. <a href="#a67b7133527caa4f788674af0b4f185b2">More...</a><br /></td></tr> <tr class="separator:a67b7133527caa4f788674af0b4f185b2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aec16c75c6c202ea5cb4667aef2637d3c"><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 class="memdesc:aec16c75c6c202ea5cb4667aef2637d3c"><td class="mdescLeft"> </td><td class="mdescRight">Gets the "current time" to be used when checking this source. <a href="#aec16c75c6c202ea5cb4667aef2637d3c">More...</a><br /></td></tr> <tr class="separator:aec16c75c6c202ea5cb4667aef2637d3c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a84e6fe51e3b1123c2cb2ec936133de48"><td class="memItemLeft" align="right" valign="top">gint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1Source.html#a84e6fe51e3b1123c2cb2ec936133de48">get_time</a> () const </td></tr> <tr class="memdesc:a84e6fe51e3b1123c2cb2ec936133de48"><td class="mdescLeft"> </td><td class="mdescRight">Gets the time to be used when checking this source. <a href="#a84e6fe51e3b1123c2cb2ec936133de48">More...</a><br /></td></tr> <tr class="separator:a84e6fe51e3b1123c2cb2ec936133de48"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abc0e9e88fa74766818d317cd75d6aa3f"><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 class="separator:abc0e9e88fa74766818d317cd75d6aa3f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a914448375c7e0dfcee1a686a006c685d"><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 class="separator:a914448375c7e0dfcee1a686a006c685d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaf867fd3b09fc05d9c3e20cd89f35bd9"><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> (<a class="elRef" href="../../../libsigc++-2.0/reference/html/classsigc_1_1slot__base.html">sigc::slot_base</a>* slot)=0</td></tr> <tr class="separator:aaf867fd3b09fc05d9c3e20cd89f35bd9"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Member Typedef Documentation</h2> <a class="anchor" id="a30c02cc7b19c4cfe98caa94ae0cba213"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">using <a class="el" href="classGlib_1_1Source.html#a30c02cc7b19c4cfe98caa94ae0cba213">Glib::Source::BaseObjectType</a> = GSource</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a36c90841b4bfdeab189345429573ad76"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">using <a class="el" href="classGlib_1_1Source.html#a36c90841b4bfdeab189345429573ad76">Glib::Source::CppObjectType</a> = <a class="el" href="classGlib_1_1Source.html">Glib::Source</a></td> </tr> </table> </div><div class="memdoc"> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a521a1901abbe790a8270192ab7650737"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Glib::Source::Source </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGlib_1_1Source.html">Source</a>& </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">delete</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a9d081ba880470694d7aae3daaee30198"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">Glib::Source::Source </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </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> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <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> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </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="a3ef52ada4719ebc7d96b8fb41cd8d5f6"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual Glib::Source::~Source </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a3a0843a960cad7a25919a682c37c9d03"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <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></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </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 class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">poll_fd</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="aa61d28e643f2b286203b0d8e533b2c88"></a> <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 class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">context</td><td>A <a class="el" href="classGlib_1_1MainContext.html" title="Main context. ">MainContext</a>. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</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="a77c4b83960b2fd8d65b10ade1fc2e2fb"></a> <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="section return"><dt>Returns</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> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual bool Glib::Source::check </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Implemented in <a class="el" href="classGlib_1_1IOSource.html#aa47994d650de7717857f2c30dd04fef7">Glib::IOSource</a>, <a class="el" href="classGlib_1_1IdleSource.html#a6780fc19d364ea219d2708df90520c42">Glib::IdleSource</a>, and <a class="el" href="classGlib_1_1TimeoutSource.html#ac358ba90a5acfabbd461b19d346c9330">Glib::TimeoutSource</a>.</p> </div> </div> <a class="anchor" id="a7ee23894376489ae9cebf18bada4e014"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="../../../libsigc++-2.0/reference/html/structsigc_1_1connection.html">sigc::connection</a> Glib::Source::connect_generic </td> <td>(</td> <td class="paramtype">const <a class="elRef" href="../../../libsigc++-2.0/reference/html/classsigc_1_1slot__base.html">sigc::slot_base</a> & </td> <td class="paramname"><em>slot</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="aeaffb039abf99982d7a89403bca71569"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <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></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a98c983f075cdcb77c576b10900b3e052"></a> <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="aaf867fd3b09fc05d9c3e20cd89f35bd9"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual bool Glib::Source::dispatch </td> <td>(</td> <td class="paramtype"><a class="elRef" href="../../../libsigc++-2.0/reference/html/classsigc_1_1slot__base.html">sigc::slot_base</a> * </td> <td class="paramname"><em>slot</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Implemented in <a class="el" href="classGlib_1_1IOSource.html#a5a87276335d7e0788130b7a8696fa911">Glib::IOSource</a>, <a class="el" href="classGlib_1_1IdleSource.html#aff61cb1a1a1e08b2853b09c42865374a">Glib::IdleSource</a>, and <a class="el" href="classGlib_1_1TimeoutSource.html#ad91c9fd165c3e75e2b1b8913414cb235">Glib::TimeoutSource</a>.</p> </div> </div> <a class="anchor" id="ada9f428f6265066eb9879b95246795be"></a> <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="section return"><dt>Returns</dt><dd>Whether recursion is allowed. </dd></dl> </div> </div> <a class="anchor" id="a42935adf57e6605188e38236cb14b607"></a> <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="section return"><dt>Returns</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> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <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></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Gets the "current time" to be used when checking this source. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[out]</td><td class="paramname">current_time</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> <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000068">Deprecated:</a></b></dt><dd>Use <a class="el" href="classGlib_1_1Source.html#a84e6fe51e3b1123c2cb2ec936133de48" title="Gets the time to be used when checking this source. ">get_time()</a> instead. </dd></dl> </div> </div> <a class="anchor" id="ad4b66f89818dcc0c22479ec3c4f8f21e"></a> <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="section return"><dt>Returns</dt><dd>The ID for the source. </dd></dl> </div> </div> <a class="anchor" id="abdbea3f0b3404098729945a9973d638e"></a> <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="section return"><dt>Returns</dt><dd>The priority of the source. </dd></dl> </div> </div> <a class="anchor" id="a84e6fe51e3b1123c2cb2ec936133de48"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">gint64 Glib::Source::get_time </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Gets the time to be used when checking this source. </p> <p>The advantage of calling this function over calling g_get_monotonic_time() directly is that when checking multiple sources, GLib can cache a single value instead of having to repeatedly get the system monotonic time.</p> <p>The time here is the system monotonic time, if available, or some other reasonable alternative otherwise. See g_get_monotonic_time().</p> <dl class="section return"><dt>Returns</dt><dd>The monotonic time in microseconds.</dd></dl> <dl class="since_2_28"><dt><b><a class="el" href="since_2_28.html#_since_2_28000060">Since glibmm 2.28:</a></b></dt><dd></dd></dl> </div> </div> <a class="anchor" id="a4e855292e2a99861f33c3ba3e5cc3486"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">GSource* Glib::Source::gobj </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="af22441954ace1f7d0d1e0314a9778787"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const GSource* Glib::Source::gobj </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="affb708925e62814627bb2d332e1de0ec"></a> <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="a104cbad20b538322d827d646fe73fcc0"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1Source.html">Source</a>& Glib::Source::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGlib_1_1Source.html">Source</a>& </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">delete</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="abc0e9e88fa74766818d317cd75d6aa3f"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <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></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Implemented in <a class="el" href="classGlib_1_1IOSource.html#a3adc1860bfe7bb88d8b0713dbd429c81">Glib::IOSource</a>, <a class="el" href="classGlib_1_1IdleSource.html#a57142bc2f5f3e06d14340ed9b237a158">Glib::IdleSource</a>, and <a class="el" href="classGlib_1_1TimeoutSource.html#ac2676393a657490ec3a973d9b6fe3231">Glib::TimeoutSource</a>.</p> </div> </div> <a class="anchor" id="a72a59a45934a94a26aea8de5f1262235"></a> <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> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <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></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Removes a file descriptor from the set of file descriptors polled for this source. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">poll_fd</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> <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 class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">can_recurse</td><td>Whether recursion is allowed for this source. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a0c485044d82729a97b19cbcb841f3c53"></a> <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 class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">priority</td><td>The new priority. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a7c87c88cbce09d3a7fb10c4e9856f57f"></a> <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> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Tue Mar 19 2019 09:56:46 for glibmm by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.11 </small></address> </body> </html>