<!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: Gio::FileMonitor 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="namespaceGio.html">Gio</a>::<a class="el" href="classGio_1_1FileMonitor.html">FileMonitor</a> </div> </div> <div class="contents"> <h1>Gio::FileMonitor Class Reference</h1><!-- doxytag: class="Gio::FileMonitor" --><!-- doxytag: inherits="Glib::Object" --> <p>Monitors a file or directory for changes. <a href="#_details">More...</a></p> <p>Inherits <a class="el" href="classGlib_1_1Object.html">Glib::Object</a>.</p> <div class="dynheader"> Collaboration diagram for Gio::FileMonitor:</div> <div class="dynsection"> <div class="center"><img src="classGio_1_1FileMonitor__coll__graph.png" border="0" usemap="#Gio_1_1FileMonitor_coll__map" alt="Collaboration graph"/></div> <map name="Gio_1_1FileMonitor_coll__map" id="Gio_1_1FileMonitor_coll__map"> <area shape="rect" href="classGlib_1_1Object.html" title="Glib::Object" alt="" coords="20,160,111,189"/><area shape="rect" href="classGlib_1_1ObjectBase.html" title="Glib::ObjectBase is a common base class for Objects and Interfaces." 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="classGio_1_1FileMonitor-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="classGio_1_1FileMonitor.html#a6ffb078bc2ce7e7c4dde4c5731fa1f08">~FileMonitor</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">GFileMonitor* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#a047a5032cf7905ecc37c6379e8c82f35">gobj</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#a047a5032cf7905ecc37c6379e8c82f35"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const GFileMonitor* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#a3930ab1dd57d0ec9341edf13bd62712f">gobj</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#a3930ab1dd57d0ec9341edf13bd62712f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GFileMonitor* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#a989efd770a3a68bc77f1917751feec9e">gobj_copy</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. <a href="#a989efd770a3a68bc77f1917751feec9e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#ab6bdfc13b4a27521304c9be8aedec677">cancel</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cancels a file monitor. <a href="#ab6bdfc13b4a27521304c9be8aedec677"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#ae5ebb0182704c6ea8314c6f0a6106fad">is_cancelled</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns: <code>true</code> if monitor is canceled. <a href="#ae5ebb0182704c6ea8314c6f0a6106fad"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#a47b6ca4693b67efead6c8dde6d526b31">set_rate_limit</a> (int limit_msecs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the rate limit to which the <em>monitor</em> will report consecutive change events to the same file. <a href="#a47b6ca4693b67efead6c8dde6d526b31"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1SignalProxy3.html">Glib::SignalProxy3</a>< void, <br class="typebreak"/> const <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGio_1_1File.html">File</a> ><br class="typebreak"/> &, const <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGio_1_1File.html">File</a> ><br class="typebreak"/> &, <a class="el" href="group__giommEnums.html#gabd42cf9877b5b6556bb18b7fd6b6dd81">FileMonitorEvent</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#a36215dcf2bf7a9476284f419f163aad9">signal_changed</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1PropertyProxy.html">Glib::PropertyProxy</a>< int > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#a3e6afeaa6d7985f5e6ee16b140277eff">property_rate_limit</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The limit of the monitor to watch for changes. <a href="#a3e6afeaa6d7985f5e6ee16b140277eff"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1PropertyProxy__ReadOnly.html">Glib::PropertyProxy_ReadOnly</a>< int > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#ab592fb7ad93948d35e8a19c8aebf2912">property_rate_limit</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The limit of the monitor to watch for changes. <a href="#ab592fb7ad93948d35e8a19c8aebf2912"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1PropertyProxy__ReadOnly.html">Glib::PropertyProxy_ReadOnly</a><br class="typebreak"/> < bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#a7c38219889f137400c15510ca309682c">property_cancelled</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Whether the monitor has been cancelled. <a href="#a7c38219889f137400c15510ca309682c"></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="classGio_1_1FileMonitor.html#a42c6d3679e90ad17504d3c0a5937da7c">on_changed</a> (const <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGio_1_1File.html">File</a> >& file, const <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGio_1_1File.html">File</a> >& other_file, <a class="el" href="group__giommEnums.html#gabd42cf9877b5b6556bb18b7fd6b6dd81">FileMonitorEvent</a> event_type)</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="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGio_1_1FileMonitor.html">Gio::FileMonitor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGio_1_1FileMonitor.html#a5ad2474eedfd1ae12f2c75003e6f26fe">wrap</a> (GFileMonitor* object, bool take_copy=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="namespaceGlib.html#a671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. <a href="#a5ad2474eedfd1ae12f2c75003e6f26fe"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Monitors a file or directory for changes. </p> <p>To obtain a <a class="el" href="classGio_1_1FileMonitor.html" title="Monitors a file or directory for changes.">FileMonitor</a> for a file or directory, use <a class="el" href="classGio_1_1File.html#ab8e14809f330ddd58e628c96921cd987" title="Obtains a file monitor for the given file.">File::monitor_file()</a> or <a class="el" href="classGio_1_1File.html#aa0fa22ffba0ff50779e49ff9d12344e6" title="Obtains a directory monitor for the given file.">File::monitor_directory()</a>.</p> <p>To get informed about changes to the file or directory you are monitoring, connect to signal_changed.</p> <dl class="since_2_16"><dt><b><a class="el" href="since_2_16.html#_since_2_16000030">Since glibmm 2.16:</a></b></dt><dd></dd></dl> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a6ffb078bc2ce7e7c4dde4c5731fa1f08"></a><!-- doxytag: member="Gio::FileMonitor::~FileMonitor" ref="a6ffb078bc2ce7e7c4dde4c5731fa1f08" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual Gio::FileMonitor::~FileMonitor </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="ab6bdfc13b4a27521304c9be8aedec677"></a><!-- doxytag: member="Gio::FileMonitor::cancel" ref="ab6bdfc13b4a27521304c9be8aedec677" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Gio::FileMonitor::cancel </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Cancels a file monitor. </p> <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if monitor was cancelled. </dd></dl> </div> </div> <a class="anchor" id="a3930ab1dd57d0ec9341edf13bd62712f"></a><!-- doxytag: member="Gio::FileMonitor::gobj" ref="a3930ab1dd57d0ec9341edf13bd62712f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const GFileMonitor* Gio::FileMonitor::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="el" href="classGlib_1_1ObjectBase.html#a778a94181132976bbfb0519793f3b32e">Glib::ObjectBase</a>.</p> </div> </div> <a class="anchor" id="a047a5032cf7905ecc37c6379e8c82f35"></a><!-- doxytag: member="Gio::FileMonitor::gobj" ref="a047a5032cf7905ecc37c6379e8c82f35" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GFileMonitor* Gio::FileMonitor::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="el" href="classGlib_1_1ObjectBase.html#a4c6efc18be8cb9c56e58fc0bd20fafbe">Glib::ObjectBase</a>.</p> </div> </div> <a class="anchor" id="a989efd770a3a68bc77f1917751feec9e"></a><!-- doxytag: member="Gio::FileMonitor::gobj_copy" ref="a989efd770a3a68bc77f1917751feec9e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GFileMonitor* Gio::FileMonitor::gobj_copy </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. </p> </div> </div> <a class="anchor" id="ae5ebb0182704c6ea8314c6f0a6106fad"></a><!-- doxytag: member="Gio::FileMonitor::is_cancelled" ref="ae5ebb0182704c6ea8314c6f0a6106fad" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Gio::FileMonitor::is_cancelled </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns: <code>true</code> if monitor is canceled. </p> <p><code>false</code> otherwise. </p> <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if monitor is canceled. <code>false</code> otherwise. </dd></dl> </div> </div> <a class="anchor" id="a42c6d3679e90ad17504d3c0a5937da7c"></a><!-- doxytag: member="Gio::FileMonitor::on_changed" ref="a42c6d3679e90ad17504d3c0a5937da7c" args="(const Glib::RefPtr< File > &file, const Glib::RefPtr< File > &other_file, FileMonitorEvent event_type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void Gio::FileMonitor::on_changed </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGio_1_1File.html">File</a> >& </td> <td class="paramname"> <em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGio_1_1File.html">File</a> >& </td> <td class="paramname"> <em>other_file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__giommEnums.html#gabd42cf9877b5b6556bb18b7fd6b6dd81">FileMonitorEvent</a> </td> <td class="paramname"> <em>event_type</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a7c38219889f137400c15510ca309682c"></a><!-- doxytag: member="Gio::FileMonitor::property_cancelled" ref="a7c38219889f137400c15510ca309682c" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1PropertyProxy__ReadOnly.html">Glib::PropertyProxy_ReadOnly</a><bool> Gio::FileMonitor::property_cancelled </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Whether the monitor has been cancelled. </p> <p>You rarely need to use properties because there are get_ and set_ methods for almost all of them. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes. </dd></dl> </div> </div> <a class="anchor" id="ab592fb7ad93948d35e8a19c8aebf2912"></a><!-- doxytag: member="Gio::FileMonitor::property_rate_limit" ref="ab592fb7ad93948d35e8a19c8aebf2912" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1PropertyProxy__ReadOnly.html">Glib::PropertyProxy_ReadOnly</a><int> Gio::FileMonitor::property_rate_limit </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>The limit of the monitor to watch for changes. </p> <p>You rarely need to use properties because there are get_ and set_ methods for almost all of them. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes. </dd></dl> </div> </div> <a class="anchor" id="a3e6afeaa6d7985f5e6ee16b140277eff"></a><!-- doxytag: member="Gio::FileMonitor::property_rate_limit" ref="a3e6afeaa6d7985f5e6ee16b140277eff" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1PropertyProxy.html">Glib::PropertyProxy</a><int> Gio::FileMonitor::property_rate_limit </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>The limit of the monitor to watch for changes. </p> <p>You rarely need to use properties because there are get_ and set_ methods for almost all of them. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes. </dd></dl> </div> </div> <a class="anchor" id="a47b6ca4693b67efead6c8dde6d526b31"></a><!-- doxytag: member="Gio::FileMonitor::set_rate_limit" ref="a47b6ca4693b67efead6c8dde6d526b31" args="(int limit_msecs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Gio::FileMonitor::set_rate_limit </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>limit_msecs</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the rate limit to which the <em>monitor</em> will report consecutive change events to the same file. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>limit_msecs</em> </td><td>A integer with the limit in milliseconds to poll for changes. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a36215dcf2bf7a9476284f419f163aad9"></a><!-- doxytag: member="Gio::FileMonitor::signal_changed" ref="a36215dcf2bf7a9476284f419f163aad9" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGlib_1_1SignalProxy3.html">Glib::SignalProxy3</a>< void,const <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a><<a class="el" href="classGio_1_1File.html">File</a>>&,const <a class="el" href="classGlib_1_1RefPtr.html">Glib::RefPtr</a><<a class="el" href="classGio_1_1File.html">File</a>>&,<a class="el" href="group__giommEnums.html#gabd42cf9877b5b6556bb18b7fd6b6dd81">FileMonitorEvent</a> > Gio::FileMonitor::signal_changed </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <dl class="user"><dt><b>Prototype:</b></dt><dd><code>void on_my_changed(const Glib::RefPtr<File>& file, const Glib::RefPtr<File>& other_file, FileMonitorEvent event_type)</code> </dd></dl> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a5ad2474eedfd1ae12f2c75003e6f26fe"></a><!-- doxytag: member="Gio::FileMonitor::wrap" ref="a5ad2474eedfd1ae12f2c75003e6f26fe" args="(GFileMonitor *object, bool take_copy=false)" --> <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="classGio_1_1FileMonitor.html">Gio::FileMonitor</a> > wrap </td> <td>(</td> <td class="paramtype">GFileMonitor * </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="el" href="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>giomm/filemonitor.h</li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on Mon Sep 21 11:07:22 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>