diff options
Diffstat (limited to 'shared/inotify/doc/html/classInotify.html')
-rw-r--r-- | shared/inotify/doc/html/classInotify.html | 744 |
1 files changed, 473 insertions, 271 deletions
diff --git a/shared/inotify/doc/html/classInotify.html b/shared/inotify/doc/html/classInotify.html index f37e55f6..1842796c 100644 --- a/shared/inotify/doc/html/classInotify.html +++ b/shared/inotify/doc/html/classInotify.html @@ -1,25 +1,32 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>inotify-cxx: Inotify Class Reference</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> +<link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> -<!-- Generated by Doxygen 1.5.1 --> -<div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li id="current"><a href="annotated.html"><span>Classes</span></a></li> - <li><a href="files.html"><span>Files</span></a></li> - </ul></div> -<div class="tabs"> - <ul> - <li><a href="annotated.html"><span>Class List</span></a></li> - <li><a href="functions.html"><span>Class Members</span></a></li> - </ul></div> +<!-- Generated by Doxygen 1.5.9 --> +<div class="navigation" id="top"> + <div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div class="contents"> <h1>Inotify Class Reference</h1><!-- doxytag: class="Inotify" -->inotify class <a href="#_details">More...</a> <p> -<code>#include <<a class="el" href="inotify-cxx_8h-source.html">inotify-cxx.h</a>></code> +<code>#include <<a class="el" href="inotify-cxx_8h_source.html">inotify-cxx.h</a>></code> +<p> + <p> <a href="classInotify-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> @@ -48,12 +55,12 @@ <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#bc1fd5830ca561efb69bcd2283981741">RemoveAll</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Removes all watches. <a href="#bc1fd5830ca561efb69bcd2283981741"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#b53b7935bda7425b002946d78bfe5863">GetWatchCount</a> () const</td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#716ae90a00dd4895709ea9b8f7959075">GetWatchCount</a> () const </td></tr> -<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the count of watches. <a href="#b53b7935bda7425b002946d78bfe5863"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#9bf5f7716649d5b5f468c2242fb5e099">GetEnabledCount</a> () const</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the count of watches. <a href="#716ae90a00dd4895709ea9b8f7959075"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#6f432affb46f85f7bc19661d5bc77063">GetEnabledCount</a> () const </td></tr> -<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the count of enabled watches. <a href="#9bf5f7716649d5b5f468c2242fb5e099"></a><br></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the count of enabled watches. <a href="#6f432affb46f85f7bc19661d5bc77063"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#139c27c6643bb199619f3eae9b32e53b">WaitForEvents</a> (bool fNoIntr=false) throw (InotifyException)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Waits for inotify events. <a href="#139c27c6643bb199619f3eae9b32e53b"></a><br></td></tr> @@ -78,9 +85,9 @@ <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#a4d6b9d1a9a496862febbe5bffd798c2">FindWatch</a> (const std::string &rPath)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Searches for a watch by a filesystem path. <a href="#a4d6b9d1a9a496862febbe5bffd798c2"></a><br></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#678271faf4799840ad71805163a24b13">GetDescriptor</a> () const</td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#abab7015203bf36d0256e75d4f4861f9">GetDescriptor</a> () const </td></tr> -<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the file descriptor. <a href="#678271faf4799840ad71805163a24b13"></a><br></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the file descriptor. <a href="#abab7015203bf36d0256e75d4f4861f9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#b2c8ab8ad4322fb6f0dae0eae442402b">SetNonBlock</a> (bool fNonBlock) throw (InotifyException)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Enables/disables non-blocking mode. <a href="#b2c8ab8ad4322fb6f0dae0eae442402b"></a><br></td></tr> @@ -112,6 +119,25 @@ <tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#5064380cdb4a726ab33f3fa18d15c77a">SetMaxWatches</a> (uint32_t val) throw (InotifyException)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the maximum number of inotify watches per instance. <a href="#5064380cdb4a726ab33f3fa18d15c77a"></a><br></td></tr> +<tr><td colspan="2"><br><h2>Static Private Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#0233ddfe40844d729505fdfd709d22cc">GetCapabilityPath</a> (<a class="el" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">InotifyCapability_t</a> cap) throw (InotifyException)</td></tr> + +<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#95d6d0ecefff77bd3ee50f1586a4552b">m_fd</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">file descriptor <a href="#95d6d0ecefff77bd3ee50f1586a4552b"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="inotify-cxx_8h.html#e6b5ebcb4e0d6a9f5ca8da26bc00cc2a">IN_WATCH_MAP</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#4d07f3a4412028d687936d2479d9a976">m_watches</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">watches (by descriptors) <a href="#4d07f3a4412028d687936d2479d9a976"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="inotify-cxx_8h.html#5dd7761ff5a6b7cc7271950aebb7ddf6">IN_WP_MAP</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#62f275db6375a366023b2e46f73e3ecc">m_paths</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">watches (by paths) <a href="#62f275db6375a366023b2e46f73e3ecc"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#eee7847efd93b681fddac56860fc7958">m_buf</a> [INOTIFY_BUFLEN]</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">buffer for events <a href="#eee7847efd93b681fddac56860fc7958"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">std::deque< <a class="el" href="classInotifyEvent.html">InotifyEvent</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#0c1d6c969292dbb7c8c1283a3d8f55e0">m_events</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">event queue <a href="#0c1d6c969292dbb7c8c1283a3d8f55e0"></a><br></td></tr> <tr><td colspan="2"><br><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#10880f490c33acd8bd24664fc7bce4ae">InotifyWatch</a></td></tr> @@ -120,9 +146,7 @@ inotify class <p> It holds information about the inotify device descriptor and manages the event queue.<p> -If the INOTIFY_THREAD_SAFE is defined this class is thread-safe. -<p> -<hr><h2>Constructor & Destructor Documentation</h2> +If the INOTIFY_THREAD_SAFE is defined this class is thread-safe. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="a6fe6e9cb3343665eb968fcd5170cfb9"></a><!-- doxytag: member="Inotify::Inotify" ref="a6fe6e9cb3343665eb968fcd5170cfb9" args="()" --> <div class="memitem"> <div class="memproto"> @@ -132,7 +156,7 @@ If the INOTIFY_THREAD_SAFE is defined this class is thread-safe. <td>(</td> <td class="paramname"> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> </tr> </table> </div> @@ -144,7 +168,7 @@ Constructor. Creates and initializes an instance of inotify communication object (opens the inotify device).<p> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if inotify isn't available </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if inotify isn't available </td></tr> </table> </dl> @@ -159,7 +183,7 @@ Creates and initializes an instance of inotify communication object (opens the i <td>(</td> <td class="paramname"> </td> <td> ) </td> - <td width="100%"></td> + <td></td> </tr> </table> </div> @@ -168,28 +192,39 @@ Creates and initializes an instance of inotify communication object (opens the i <p> Destructor. <p> -Calls <a class="el" href="classInotify.html#86ae86c43ea1a72f562ca46393309635">Close()</a> due to clean-up. +Calls <a class="el" href="classInotify.html#86ae86c43ea1a72f562ca46393309635" title="Removes all watches and closes the inotify device.">Close()</a> due to clean-up. </div> </div><p> <hr><h2>Member Function Documentation</h2> -<a class="anchor" name="86ae86c43ea1a72f562ca46393309635"></a><!-- doxytag: member="Inotify::Close" ref="86ae86c43ea1a72f562ca46393309635" args="()" --> +<a class="anchor" name="35dab56d3e10bf28b5e457871adddb58"></a><!-- doxytag: member="Inotify::Add" ref="35dab56d3e10bf28b5e457871adddb58" args="(InotifyWatch &rWatch)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void Inotify::Close </td> + <td class="memname">void Inotify::Add </td> <td>(</td> - <td class="paramname"> </td> + <td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> & </td> + <td class="paramname"> <em>rWatch</em> </td> <td> ) </td> - <td width="100%"></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Removes all watches and closes the inotify device. +Adds a new watch. <p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rWatch</em> </td><td>inotify watch</td></tr> + </table> +</dl> +<dl compact><dt><b>Exceptions:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if adding failed </td></tr> + </table> +</dl> </div> </div><p> @@ -203,7 +238,7 @@ Removes all watches and closes the inotify device. <td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> * </td> <td class="paramname"> <em>pWatch</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> </tr> </table> </div> @@ -219,156 +254,197 @@ Adds a new watch. </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if adding failed </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if adding failed </td></tr> </table> </dl> +<p> +<div class="dynheader"> +Here is the caller graph for this function:</div> +<div class="dynsection"> +<p><center><img src="classInotify_2ef771ebaf982d76ebe19b3f5bc9cd83_icgraph.png" border="0" usemap="#classInotify_2ef771ebaf982d76ebe19b3f5bc9cd83_icgraph_map" alt=""></center> +<map name="classInotify_2ef771ebaf982d76ebe19b3f5bc9cd83_icgraph_map"> +<area shape="rect" href="classInotify.html#35dab56d3e10bf28b5e457871adddb58" title="Adds a new watch." alt="" coords="143,5,228,32"></map> +</div> + </div> </div><p> -<a class="anchor" name="35dab56d3e10bf28b5e457871adddb58"></a><!-- doxytag: member="Inotify::Add" ref="35dab56d3e10bf28b5e457871adddb58" args="(InotifyWatch &rWatch)" --> +<a class="anchor" name="86ae86c43ea1a72f562ca46393309635"></a><!-- doxytag: member="Inotify::Close" ref="86ae86c43ea1a72f562ca46393309635" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void Inotify::Add </td> + <td class="memname">void Inotify::Close </td> <td>(</td> - <td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> & </td> - <td class="paramname"> <em>rWatch</em> </td> + <td class="paramname"> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline]</code></td> + <td></td> </tr> </table> </div> <div class="memdoc"> <p> -Adds a new watch. +Removes all watches and closes the inotify device. +<p> + +<p> +<div class="dynheader"> +Here is the caller graph for this function:</div> +<div class="dynsection"> +<p><center><img src="classInotify_86ae86c43ea1a72f562ca46393309635_icgraph.png" border="0" usemap="#classInotify_86ae86c43ea1a72f562ca46393309635_icgraph_map" alt=""></center> +<map name="classInotify_86ae86c43ea1a72f562ca46393309635_icgraph_map"> +<area shape="rect" href="classInotify.html#f19dd5e491395673e4798eb9dbf5f682" title="Destructor." alt="" coords="151,5,255,32"></map> +</div> + +</div> +</div><p> +<a class="anchor" name="a4d6b9d1a9a496862febbe5bffd798c2"></a><!-- doxytag: member="Inotify::FindWatch" ref="a4d6b9d1a9a496862febbe5bffd798c2" args="(const std::string &rPath)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> * Inotify::FindWatch </td> + <td>(</td> + <td class="paramtype">const std::string & </td> + <td class="paramname"> <em>rPath</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Searches for a watch by a filesystem path. <p> +It tries to find a watch by the given filesystem path.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rWatch</em> </td><td>inotify watch</td></tr> - </table> -</dl> -<dl compact><dt><b>Exceptions:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if adding failed </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rPath</em> </td><td>filesystem path </td></tr> </table> </dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a watch; NULL if no such watch exists</dd></dl> +<dl class="attention" compact><dt><b>Attention:</b></dt><dd>The path must be exactly identical to the one used for the searched watch. Be careful about absolute/relative and case-insensitive paths. </dd></dl> </div> </div><p> -<a class="anchor" name="21c39bb8e5bbc1941b945c18f9005b84"></a><!-- doxytag: member="Inotify::Remove" ref="21c39bb8e5bbc1941b945c18f9005b84" args="(InotifyWatch *pWatch)" --> +<a class="anchor" name="182d19b667c9e0899802b70a579eff40"></a><!-- doxytag: member="Inotify::FindWatch" ref="182d19b667c9e0899802b70a579eff40" args="(int iDescriptor)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void Inotify::Remove </td> + <td class="memname"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> * Inotify::FindWatch </td> <td>(</td> - <td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> * </td> - <td class="paramname"> <em>pWatch</em> </td> + <td class="paramtype">int </td> + <td class="paramname"> <em>iDescriptor</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> + <td></td> </tr> </table> </div> <div class="memdoc"> <p> -Removes a watch. +Searches for a watch by a watch descriptor. <p> -If the given watch is not present it does nothing.<p> +It tries to find a watch by the given descriptor.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>pWatch</em> </td><td>inotify watch</td></tr> - </table> -</dl> -<dl compact><dt><b>Exceptions:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if removing failed </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>iDescriptor</em> </td><td>watch descriptor </td></tr> </table> </dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a watch; NULL if no such watch exists </dd></dl> </div> </div><p> -<a class="anchor" name="ac1a52b2ff6bfec07021a44e55d496a6"></a><!-- doxytag: member="Inotify::Remove" ref="ac1a52b2ff6bfec07021a44e55d496a6" args="(InotifyWatch &rWatch)" --> +<a class="anchor" name="70b3b57e8661fbb4c5bc404b86225c3b"></a><!-- doxytag: member="Inotify::GetCapability" ref="70b3b57e8661fbb4c5bc404b86225c3b" args="(InotifyCapability_t cap)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void Inotify::Remove </td> + <td class="memname">uint32_t Inotify::GetCapability </td> <td>(</td> - <td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> & </td> - <td class="paramname"> <em>rWatch</em> </td> + <td class="paramtype"><a class="el" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">InotifyCapability_t</a> </td> + <td class="paramname"> <em>cap</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline]</code></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Removes a watch. +Acquires a particular inotify capability/limit. <p> -If the given watch is not present it does nothing.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rWatch</em> </td><td>inotify watch</td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>cap</em> </td><td>capability/limit identifier </td></tr> </table> </dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>capability/limit value </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if removing failed </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if the given value cannot be acquired </td></tr> </table> </dl> +<p> +<div class="dynheader"> +Here is the caller graph for this function:</div> +<div class="dynsection"> +<p><center><img src="classInotify_70b3b57e8661fbb4c5bc404b86225c3b_icgraph.png" border="0" usemap="#classInotify_70b3b57e8661fbb4c5bc404b86225c3b_icgraph_map" alt=""></center> +<map name="classInotify_70b3b57e8661fbb4c5bc404b86225c3b_icgraph_map"> +<area shape="rect" href="classInotify.html#d8e4a4a87d005c71c0b5ea9c6dd53c42" title="Returns the maximum number of events in the kernel queue." alt="" coords="204,5,351,32"><area shape="rect" href="classInotify.html#c18b7732f67832260fbbd47aebb8af51" title="Returns the maximum number of inotify instances per process." alt="" coords="195,56,360,83"><area shape="rect" href="classInotify.html#86dae1b7a72c0d8fc2a632444a0f2f1f" title="Returns the maximum number of inotify watches per instance." alt="" coords="197,107,357,133"></map> +</div> + </div> </div><p> -<a class="anchor" name="bc1fd5830ca561efb69bcd2283981741"></a><!-- doxytag: member="Inotify::RemoveAll" ref="bc1fd5830ca561efb69bcd2283981741" args="()" --> +<a class="anchor" name="0233ddfe40844d729505fdfd709d22cc"></a><!-- doxytag: member="Inotify::GetCapabilityPath" ref="0233ddfe40844d729505fdfd709d22cc" args="(InotifyCapability_t cap)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void Inotify::RemoveAll </td> + <td class="memname">std::string Inotify::GetCapabilityPath </td> <td>(</td> - <td class="paramname"> </td> + <td class="paramtype"><a class="el" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">InotifyCapability_t</a> </td> + <td class="paramname"> <em>cap</em> </td> <td> ) </td> - <td width="100%"></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [static, private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Removes all watches. -<p> </div> </div><p> -<a class="anchor" name="b53b7935bda7425b002946d78bfe5863"></a><!-- doxytag: member="Inotify::GetWatchCount" ref="b53b7935bda7425b002946d78bfe5863" args="() const" --> +<a class="anchor" name="abab7015203bf36d0256e75d4f4861f9"></a><!-- doxytag: member="Inotify::GetDescriptor" ref="abab7015203bf36d0256e75d4f4861f9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">size_t Inotify::GetWatchCount </td> + <td class="memname">int Inotify::GetDescriptor </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> - <td width="100%"> const<code> [inline]</code></td> + <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Returns the count of watches. +Returns the file descriptor. <p> -This is the total count of all watches (regardless whether enabled or not).<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>count of watches</dd></dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#9bf5f7716649d5b5f468c2242fb5e099">GetEnabledCount()</a> </dd></dl> +The descriptor can be used in standard low-level file functions (poll(), select(), fcntl() etc.).<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>valid file descriptor or -1 for inactive object</dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#b2c8ab8ad4322fb6f0dae0eae442402b" title="Enables/disables non-blocking mode.">SetNonBlock()</a> </dd></dl> </div> </div><p> -<a class="anchor" name="9bf5f7716649d5b5f468c2242fb5e099"></a><!-- doxytag: member="Inotify::GetEnabledCount" ref="9bf5f7716649d5b5f468c2242fb5e099" args="() const" --> +<a class="anchor" name="6f432affb46f85f7bc19661d5bc77063"></a><!-- doxytag: member="Inotify::GetEnabledCount" ref="6f432affb46f85f7bc19661d5bc77063" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -377,7 +453,7 @@ This is the total count of all watches (regardless whether enabled or not).<p> <td>(</td> <td class="paramname"> </td> <td> ) </td> - <td width="100%"> const<code> [inline]</code></td> + <td> const<code> [inline]</code></td> </tr> </table> </div> @@ -387,64 +463,40 @@ This is the total count of all watches (regardless whether enabled or not).<p> Returns the count of enabled watches. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>count of enabled watches</dd></dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#b53b7935bda7425b002946d78bfe5863">GetWatchCount()</a> </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#716ae90a00dd4895709ea9b8f7959075" title="Returns the count of watches.">GetWatchCount()</a> </dd></dl> </div> </div><p> -<a class="anchor" name="139c27c6643bb199619f3eae9b32e53b"></a><!-- doxytag: member="Inotify::WaitForEvents" ref="139c27c6643bb199619f3eae9b32e53b" args="(bool fNoIntr=false)" --> +<a class="anchor" name="b028c8fa988f6bbb2ef773db3ea3a2d3"></a><!-- doxytag: member="Inotify::GetEvent" ref="b028c8fa988f6bbb2ef773db3ea3a2d3" args="(InotifyEvent &rEvt)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void Inotify::WaitForEvents </td> + <td class="memname">bool Inotify::GetEvent </td> <td>(</td> - <td class="paramtype">bool </td> - <td class="paramname"> <em>fNoIntr</em> = <code>false</code> </td> + <td class="paramtype"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> & </td> + <td class="paramname"> <em>rEvt</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Waits for inotify events. +Extracts a queued inotify event. <p> -It waits until one or more events occur. When called in nonblocking mode it only retrieves occurred events to the internal queue and exits.<p> +The extracted event is removed from the queue.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>fNoIntr</em> </td><td>if true it re-calls the system call after a handled signal</td></tr> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>rEvt</em> </td><td>event object</td></tr> </table> </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if reading events failed</td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown only in very anomalous cases </td></tr> </table> </dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#b2c8ab8ad4322fb6f0dae0eae442402b">SetNonBlock()</a> </dd></dl> - -</div> -</div><p> -<a class="anchor" name="a3c533f956871f904949832ac8f5fbde"></a><!-- doxytag: member="Inotify::GetEventCount" ref="a3c533f956871f904949832ac8f5fbde" args="()" --> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname">size_t Inotify::GetEventCount </td> - <td>(</td> - <td class="paramname"> </td> - <td> ) </td> - <td width="100%"><code> [inline]</code></td> - </tr> - </table> -</div> -<div class="memdoc"> - -<p> -Returns the count of received and queued events. -<p> -This number is related to the events in the queue inside this object, not to the events pending in the kernel.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>count of events </dd></dl> </div> </div><p> @@ -458,7 +510,7 @@ This number is related to the events in the queue inside this object, not to the <td class="paramtype"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> * </td> <td class="paramname"> <em>pEvt</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> </tr> </table> </div> @@ -475,295 +527,329 @@ The extracted event is removed from the queue. If the pointer is NULL it does no </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if the provided pointer is NULL </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if the provided pointer is NULL </td></tr> </table> </dl> +<p> +<div class="dynheader"> +Here is the caller graph for this function:</div> +<div class="dynsection"> +<p><center><img src="classInotify_490a3f824c6d041d31ccaabe9bd92008_icgraph.png" border="0" usemap="#classInotify_490a3f824c6d041d31ccaabe9bd92008_icgraph_map" alt=""></center> +<map name="classInotify_490a3f824c6d041d31ccaabe9bd92008_icgraph_map"> +<area shape="rect" href="classInotify.html#b028c8fa988f6bbb2ef773db3ea3a2d3" title="Extracts a queued inotify event." alt="" coords="172,5,287,32"></map> +</div> + </div> </div><p> -<a class="anchor" name="b028c8fa988f6bbb2ef773db3ea3a2d3"></a><!-- doxytag: member="Inotify::GetEvent" ref="b028c8fa988f6bbb2ef773db3ea3a2d3" args="(InotifyEvent &rEvt)" --> +<a class="anchor" name="a3c533f956871f904949832ac8f5fbde"></a><!-- doxytag: member="Inotify::GetEventCount" ref="a3c533f956871f904949832ac8f5fbde" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">bool Inotify::GetEvent </td> + <td class="memname">size_t Inotify::GetEventCount </td> <td>(</td> - <td class="paramtype"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> & </td> - <td class="paramname"> <em>rEvt</em> </td> + <td class="paramname"> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline]</code></td> + <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Extracts a queued inotify event. +Returns the count of received and queued events. <p> -The extracted event is removed from the queue.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>rEvt</em> </td><td>event object</td></tr> - </table> -</dl> -<dl compact><dt><b>Exceptions:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown only in very anomalous cases </td></tr> - </table> -</dl> +This number is related to the events in the queue inside this object, not to the events pending in the kernel.<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>count of events </dd></dl> </div> </div><p> -<a class="anchor" name="19cde43d082ff92bd02654610019300d"></a><!-- doxytag: member="Inotify::PeekEvent" ref="19cde43d082ff92bd02654610019300d" args="(InotifyEvent *pEvt)" --> +<a class="anchor" name="d8e4a4a87d005c71c0b5ea9c6dd53c42"></a><!-- doxytag: member="Inotify::GetMaxEvents" ref="d8e4a4a87d005c71c0b5ea9c6dd53c42" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">bool Inotify::PeekEvent </td> + <td class="memname">static uint32_t Inotify::GetMaxEvents </td> <td>(</td> - <td class="paramtype"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> * </td> - <td class="paramname"> <em>pEvt</em> </td> + <td class="paramname"> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Extracts a queued inotify event (without removing). +Returns the maximum number of events in the kernel queue. <p> -The extracted event stays in the queue. If the pointer is NULL it does nothing.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>pEvt</em> </td><td>event object</td></tr> - </table> -</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>maximum number of events in the kernel queue </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if the provided pointer is NULL </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if the given value cannot be acquired </td></tr> </table> </dl> </div> </div><p> -<a class="anchor" name="287dc0d238fa6edc3269441cb284f979"></a><!-- doxytag: member="Inotify::PeekEvent" ref="287dc0d238fa6edc3269441cb284f979" args="(InotifyEvent &rEvt)" --> +<a class="anchor" name="c18b7732f67832260fbbd47aebb8af51"></a><!-- doxytag: member="Inotify::GetMaxInstances" ref="c18b7732f67832260fbbd47aebb8af51" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">bool Inotify::PeekEvent </td> + <td class="memname">static uint32_t Inotify::GetMaxInstances </td> <td>(</td> - <td class="paramtype"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> & </td> - <td class="paramname"> <em>rEvt</em> </td> + <td class="paramname"> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline]</code></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Extracts a queued inotify event (without removing). +Returns the maximum number of inotify instances per process. <p> -The extracted event stays in the queue.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>rEvt</em> </td><td>event object</td></tr> - </table> -</dl> +It means the maximum number of open inotify file descriptors per running process.<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>maximum number of inotify instances </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown only in very anomalous cases </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if the given value cannot be acquired </td></tr> </table> </dl> </div> </div><p> -<a class="anchor" name="182d19b667c9e0899802b70a579eff40"></a><!-- doxytag: member="Inotify::FindWatch" ref="182d19b667c9e0899802b70a579eff40" args="(int iDescriptor)" --> +<a class="anchor" name="86dae1b7a72c0d8fc2a632444a0f2f1f"></a><!-- doxytag: member="Inotify::GetMaxWatches" ref="86dae1b7a72c0d8fc2a632444a0f2f1f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> * Inotify::FindWatch </td> + <td class="memname">static uint32_t Inotify::GetMaxWatches </td> <td>(</td> - <td class="paramtype">int </td> - <td class="paramname"> <em>iDescriptor</em> </td> + <td class="paramname"> </td> <td> ) </td> - <td width="100%"></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Searches for a watch by a watch descriptor. +Returns the maximum number of inotify watches per instance. <p> -It tries to find a watch by the given descriptor.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> +It means the maximum number of inotify watches per inotify file descriptor.<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>maximum number of inotify watches </dd></dl> +<dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>iDescriptor</em> </td><td>watch descriptor </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if the given value cannot be acquired </td></tr> </table> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a watch; NULL if no such watch exists </dd></dl> </div> </div><p> -<a class="anchor" name="a4d6b9d1a9a496862febbe5bffd798c2"></a><!-- doxytag: member="Inotify::FindWatch" ref="a4d6b9d1a9a496862febbe5bffd798c2" args="(const std::string &rPath)" --> +<a class="anchor" name="716ae90a00dd4895709ea9b8f7959075"></a><!-- doxytag: member="Inotify::GetWatchCount" ref="716ae90a00dd4895709ea9b8f7959075" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> * Inotify::FindWatch </td> + <td class="memname">size_t Inotify::GetWatchCount </td> <td>(</td> - <td class="paramtype">const std::string & </td> - <td class="paramname"> <em>rPath</em> </td> + <td class="paramname"> </td> <td> ) </td> - <td width="100%"></td> + <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Searches for a watch by a filesystem path. +Returns the count of watches. <p> -It tries to find a watch by the given filesystem path.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rPath</em> </td><td>filesystem path </td></tr> - </table> -</dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a watch; NULL if no such watch exists</dd></dl> -<dl class="attention" compact><dt><b>Attention:</b></dt><dd>The path must be exactly identical to the one used for the searched watch. Be careful about absolute/relative and case-insensitive paths. </dd></dl> +This is the total count of all watches (regardless whether enabled or not).<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>count of watches</dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#6f432affb46f85f7bc19661d5bc77063" title="Returns the count of enabled watches.">GetEnabledCount()</a> </dd></dl> </div> </div><p> -<a class="anchor" name="678271faf4799840ad71805163a24b13"></a><!-- doxytag: member="Inotify::GetDescriptor" ref="678271faf4799840ad71805163a24b13" args="() const" --> +<a class="anchor" name="287dc0d238fa6edc3269441cb284f979"></a><!-- doxytag: member="Inotify::PeekEvent" ref="287dc0d238fa6edc3269441cb284f979" args="(InotifyEvent &rEvt)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int Inotify::GetDescriptor </td> + <td class="memname">bool Inotify::PeekEvent </td> <td>(</td> - <td class="paramname"> </td> + <td class="paramtype"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> & </td> + <td class="paramname"> <em>rEvt</em> </td> <td> ) </td> - <td width="100%"> const<code> [inline]</code></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Returns the file descriptor. +Extracts a queued inotify event (without removing). <p> -The descriptor can be used in standard low-level file functions (poll(), select(), fcntl() etc.).<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>valid file descriptor or -1 for inactive object</dd></dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#b2c8ab8ad4322fb6f0dae0eae442402b">SetNonBlock()</a> </dd></dl> +The extracted event stays in the queue.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>rEvt</em> </td><td>event object</td></tr> + </table> +</dl> +<dl compact><dt><b>Exceptions:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown only in very anomalous cases </td></tr> + </table> +</dl> </div> </div><p> -<a class="anchor" name="b2c8ab8ad4322fb6f0dae0eae442402b"></a><!-- doxytag: member="Inotify::SetNonBlock" ref="b2c8ab8ad4322fb6f0dae0eae442402b" args="(bool fNonBlock)" --> +<a class="anchor" name="19cde43d082ff92bd02654610019300d"></a><!-- doxytag: member="Inotify::PeekEvent" ref="19cde43d082ff92bd02654610019300d" args="(InotifyEvent *pEvt)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void Inotify::SetNonBlock </td> + <td class="memname">bool Inotify::PeekEvent </td> <td>(</td> - <td class="paramtype">bool </td> - <td class="paramname"> <em>fNonBlock</em> </td> + <td class="paramtype"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> * </td> + <td class="paramname"> <em>pEvt</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> </tr> </table> </div> <div class="memdoc"> <p> -Enables/disables non-blocking mode. +Extracts a queued inotify event (without removing). <p> -Use this mode if you want to monitor the descriptor (acquired thru <a class="el" href="classInotify.html#678271faf4799840ad71805163a24b13">GetDescriptor()</a>) in functions such as poll(), select() etc.<p> -Non-blocking mode is disabled by default.<p> +The extracted event stays in the queue. If the pointer is NULL it does nothing.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>fNonBlock</em> </td><td>enable/disable non-blocking mode</td></tr> + <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>pEvt</em> </td><td>event object</td></tr> </table> </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if setting mode failed</td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if the provided pointer is NULL </td></tr> </table> </dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#678271faf4799840ad71805163a24b13">GetDescriptor()</a>, <a class="el" href="classInotify.html#124dd5816205900af61034d47ae65255">SetCloseOnExec()</a> </dd></dl> + +<p> +<div class="dynheader"> +Here is the caller graph for this function:</div> +<div class="dynsection"> +<p><center><img src="classInotify_19cde43d082ff92bd02654610019300d_icgraph.png" border="0" usemap="#classInotify_19cde43d082ff92bd02654610019300d_icgraph_map" alt=""></center> +<map name="classInotify_19cde43d082ff92bd02654610019300d_icgraph_map"> +<area shape="rect" href="classInotify.html#287dc0d238fa6edc3269441cb284f979" title="Extracts a queued inotify event (without removing)." alt="" coords="179,5,304,32"></map> +</div> </div> </div><p> -<a class="anchor" name="124dd5816205900af61034d47ae65255"></a><!-- doxytag: member="Inotify::SetCloseOnExec" ref="124dd5816205900af61034d47ae65255" args="(bool fClOnEx)" --> +<a class="anchor" name="ac1a52b2ff6bfec07021a44e55d496a6"></a><!-- doxytag: member="Inotify::Remove" ref="ac1a52b2ff6bfec07021a44e55d496a6" args="(InotifyWatch &rWatch)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">void Inotify::SetCloseOnExec </td> + <td class="memname">void Inotify::Remove </td> <td>(</td> - <td class="paramtype">bool </td> - <td class="paramname"> <em>fClOnEx</em> </td> + <td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> & </td> + <td class="paramname"> <em>rWatch</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Enables/disables closing on exec. +Removes a watch. <p> -Enable this if you want to close the descriptor when executing another program. Otherwise, the descriptor will be inherited.<p> -Closing on exec is disabled by default.<p> +If the given watch is not present it does nothing.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>fClOnEx</em> </td><td>enable/disable closing on exec</td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rWatch</em> </td><td>inotify watch</td></tr> </table> </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if setting failed</td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if removing failed </td></tr> </table> </dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#678271faf4799840ad71805163a24b13">GetDescriptor()</a>, <a class="el" href="classInotify.html#b2c8ab8ad4322fb6f0dae0eae442402b">SetNonBlock()</a> </dd></dl> </div> </div><p> -<a class="anchor" name="70b3b57e8661fbb4c5bc404b86225c3b"></a><!-- doxytag: member="Inotify::GetCapability" ref="70b3b57e8661fbb4c5bc404b86225c3b" args="(InotifyCapability_t cap)" --> +<a class="anchor" name="21c39bb8e5bbc1941b945c18f9005b84"></a><!-- doxytag: member="Inotify::Remove" ref="21c39bb8e5bbc1941b945c18f9005b84" args="(InotifyWatch *pWatch)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">uint32_t Inotify::GetCapability </td> + <td class="memname">void Inotify::Remove </td> <td>(</td> - <td class="paramtype"><a class="el" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">InotifyCapability_t</a> </td> - <td class="paramname"> <em>cap</em> </td> + <td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> * </td> + <td class="paramname"> <em>pWatch</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [static]</code></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> </tr> </table> </div> <div class="memdoc"> <p> -Acquires a particular inotify capability/limit. +Removes a watch. <p> +If the given watch is not present it does nothing.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>cap</em> </td><td>capability/limit identifier </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>pWatch</em> </td><td>inotify watch</td></tr> </table> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>capability/limit value </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if the given value cannot be acquired </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if removing failed </td></tr> </table> </dl> +<p> +<div class="dynheader"> +Here is the caller graph for this function:</div> +<div class="dynsection"> +<p><center><img src="classInotify_21c39bb8e5bbc1941b945c18f9005b84_icgraph.png" border="0" usemap="#classInotify_21c39bb8e5bbc1941b945c18f9005b84_icgraph_map" alt=""></center> +<map name="classInotify_21c39bb8e5bbc1941b945c18f9005b84_icgraph_map"> +<area shape="rect" href="classInotify.html#ac1a52b2ff6bfec07021a44e55d496a6" title="Removes a watch." alt="" coords="163,5,272,32"></map> +</div> + +</div> +</div><p> +<a class="anchor" name="bc1fd5830ca561efb69bcd2283981741"></a><!-- doxytag: member="Inotify::RemoveAll" ref="bc1fd5830ca561efb69bcd2283981741" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Inotify::RemoveAll </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Removes all watches. +<p> + +<p> +<div class="dynheader"> +Here is the caller graph for this function:</div> +<div class="dynsection"> +<p><center><img src="classInotify_bc1fd5830ca561efb69bcd2283981741_icgraph.png" border="0" usemap="#classInotify_bc1fd5830ca561efb69bcd2283981741_icgraph_map" alt=""></center> +<map name="classInotify_bc1fd5830ca561efb69bcd2283981741_icgraph_map"> +<area shape="rect" href="classInotify.html#86ae86c43ea1a72f562ca46393309635" title="Removes all watches and closes the inotify device." alt="" coords="179,5,275,32"><area shape="rect" href="classInotify.html#f19dd5e491395673e4798eb9dbf5f682" title="Destructor." alt="" coords="324,5,428,32"></map> +</div> + </div> </div><p> <a class="anchor" name="734538233ba2136164f76f4df6c3654e"></a><!-- doxytag: member="Inotify::SetCapability" ref="734538233ba2136164f76f4df6c3654e" args="(InotifyCapability_t cap, uint32_t val)" --> @@ -785,7 +871,7 @@ Acquires a particular inotify capability/limit. <tr> <td></td> <td>)</td> - <td></td><td></td><td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [static]</code></td> + <td></td><td></td><td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [static]</code></td> </tr> </table> </div> @@ -802,37 +888,54 @@ Modifies a particular inotify capability/limit. </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if the given value cannot be set </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if the given value cannot be set </td></tr> </table> </dl> <dl class="attention" compact><dt><b>Attention:</b></dt><dd>Using this function requires root privileges. Beware of setting extensive values - it may seriously affect system performance and/or stability. </dd></dl> +<p> +<div class="dynheader"> +Here is the caller graph for this function:</div> +<div class="dynsection"> +<p><center><img src="classInotify_734538233ba2136164f76f4df6c3654e_icgraph.png" border="0" usemap="#classInotify_734538233ba2136164f76f4df6c3654e_icgraph_map" alt=""></center> +<map name="classInotify_734538233ba2136164f76f4df6c3654e_icgraph_map"> +<area shape="rect" href="classInotify.html#66d90ebfa516d4bd1463749def2b58f9" title="Sets the maximum number of events in the kernel queue." alt="" coords="204,5,351,32"><area shape="rect" href="classInotify.html#620c891962fe5acd26485c64e9b28d19" title="Sets the maximum number of inotify instances per process." alt="" coords="196,56,359,83"><area shape="rect" href="classInotify.html#5064380cdb4a726ab33f3fa18d15c77a" title="Sets the maximum number of inotify watches per instance." alt="" coords="197,107,357,133"></map> +</div> + </div> </div><p> -<a class="anchor" name="d8e4a4a87d005c71c0b5ea9c6dd53c42"></a><!-- doxytag: member="Inotify::GetMaxEvents" ref="d8e4a4a87d005c71c0b5ea9c6dd53c42" args="()" --> +<a class="anchor" name="124dd5816205900af61034d47ae65255"></a><!-- doxytag: member="Inotify::SetCloseOnExec" ref="124dd5816205900af61034d47ae65255" args="(bool fClOnEx)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">static uint32_t Inotify::GetMaxEvents </td> + <td class="memname">void Inotify::SetCloseOnExec </td> <td>(</td> - <td class="paramname"> </td> + <td class="paramtype">bool </td> + <td class="paramname"> <em>fClOnEx</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> </tr> </table> </div> <div class="memdoc"> <p> -Returns the maximum number of events in the kernel queue. +Enables/disables closing on exec. <p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>maximum number of events in the kernel queue </dd></dl> +Enable this if you want to close the descriptor when executing another program. Otherwise, the descriptor will be inherited.<p> +Closing on exec is disabled by default.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>fClOnEx</em> </td><td>enable/disable closing on exec</td></tr> + </table> +</dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if the given value cannot be acquired </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if setting failed</td></tr> </table> </dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#abab7015203bf36d0256e75d4f4861f9" title="Returns the file descriptor.">GetDescriptor()</a>, <a class="el" href="classInotify.html#b2c8ab8ad4322fb6f0dae0eae442402b" title="Enables/disables non-blocking mode.">SetNonBlock()</a> </dd></dl> </div> </div><p> @@ -846,7 +949,7 @@ Returns the maximum number of events in the kernel queue. <td class="paramtype">uint32_t </td> <td class="paramname"> <em>val</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> </tr> </table> </div> @@ -862,59 +965,64 @@ Sets the maximum number of events in the kernel queue. </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if the given value cannot be set </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if the given value cannot be set </td></tr> </table> </dl> <dl class="attention" compact><dt><b>Attention:</b></dt><dd>Using this function requires root privileges. Beware of setting extensive values - the greater value is set here the more physical memory may be used for the inotify infrastructure. </dd></dl> </div> </div><p> -<a class="anchor" name="c18b7732f67832260fbbd47aebb8af51"></a><!-- doxytag: member="Inotify::GetMaxInstances" ref="c18b7732f67832260fbbd47aebb8af51" args="()" --> +<a class="anchor" name="620c891962fe5acd26485c64e9b28d19"></a><!-- doxytag: member="Inotify::SetMaxInstances" ref="620c891962fe5acd26485c64e9b28d19" args="(uint32_t val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">static uint32_t Inotify::GetMaxInstances </td> + <td class="memname">static void Inotify::SetMaxInstances </td> <td>(</td> - <td class="paramname"> </td> + <td class="paramtype">uint32_t </td> + <td class="paramname"> <em>val</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Returns the maximum number of inotify instances per process. +Sets the maximum number of inotify instances per process. <p> -It means the maximum number of open inotify file descriptors per running process.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>maximum number of inotify instances </dd></dl> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>val</em> </td><td>new value </td></tr> + </table> +</dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if the given value cannot be acquired </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if the given value cannot be set </td></tr> </table> </dl> +<dl class="attention" compact><dt><b>Attention:</b></dt><dd>Using this function requires root privileges. Beware of setting extensive values - the greater value is set here the more physical memory may be used for the inotify infrastructure. </dd></dl> </div> </div><p> -<a class="anchor" name="620c891962fe5acd26485c64e9b28d19"></a><!-- doxytag: member="Inotify::SetMaxInstances" ref="620c891962fe5acd26485c64e9b28d19" args="(uint32_t val)" --> +<a class="anchor" name="5064380cdb4a726ab33f3fa18d15c77a"></a><!-- doxytag: member="Inotify::SetMaxWatches" ref="5064380cdb4a726ab33f3fa18d15c77a" args="(uint32_t val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">static void Inotify::SetMaxInstances </td> + <td class="memname">static void Inotify::SetMaxWatches </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>val</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> -Sets the maximum number of inotify instances per process. +Sets the maximum number of inotify watches per instance. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> @@ -923,71 +1031,79 @@ Sets the maximum number of inotify instances per process. </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if the given value cannot be set </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if the given value cannot be set </td></tr> </table> </dl> <dl class="attention" compact><dt><b>Attention:</b></dt><dd>Using this function requires root privileges. Beware of setting extensive values - the greater value is set here the more physical memory may be used for the inotify infrastructure. </dd></dl> </div> </div><p> -<a class="anchor" name="86dae1b7a72c0d8fc2a632444a0f2f1f"></a><!-- doxytag: member="Inotify::GetMaxWatches" ref="86dae1b7a72c0d8fc2a632444a0f2f1f" args="()" --> +<a class="anchor" name="b2c8ab8ad4322fb6f0dae0eae442402b"></a><!-- doxytag: member="Inotify::SetNonBlock" ref="b2c8ab8ad4322fb6f0dae0eae442402b" args="(bool fNonBlock)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">static uint32_t Inotify::GetMaxWatches </td> + <td class="memname">void Inotify::SetNonBlock </td> <td>(</td> - <td class="paramname"> </td> + <td class="paramtype">bool </td> + <td class="paramname"> <em>fNonBlock</em> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> </tr> </table> </div> <div class="memdoc"> <p> -Returns the maximum number of inotify watches per instance. +Enables/disables non-blocking mode. <p> -It means the maximum number of inotify watches per inotify file descriptor.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>maximum number of inotify watches </dd></dl> +Use this mode if you want to monitor the descriptor (acquired thru <a class="el" href="classInotify.html#abab7015203bf36d0256e75d4f4861f9" title="Returns the file descriptor.">GetDescriptor()</a>) in functions such as poll(), select() etc.<p> +Non-blocking mode is disabled by default.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>fNonBlock</em> </td><td>enable/disable non-blocking mode</td></tr> + </table> +</dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if the given value cannot be acquired </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if setting mode failed</td></tr> </table> </dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#abab7015203bf36d0256e75d4f4861f9" title="Returns the file descriptor.">GetDescriptor()</a>, <a class="el" href="classInotify.html#124dd5816205900af61034d47ae65255" title="Enables/disables closing on exec.">SetCloseOnExec()</a> </dd></dl> </div> </div><p> -<a class="anchor" name="5064380cdb4a726ab33f3fa18d15c77a"></a><!-- doxytag: member="Inotify::SetMaxWatches" ref="5064380cdb4a726ab33f3fa18d15c77a" args="(uint32_t val)" --> +<a class="anchor" name="139c27c6643bb199619f3eae9b32e53b"></a><!-- doxytag: member="Inotify::WaitForEvents" ref="139c27c6643bb199619f3eae9b32e53b" args="(bool fNoIntr=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">static void Inotify::SetMaxWatches </td> + <td class="memname">void Inotify::WaitForEvents </td> <td>(</td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>val</em> </td> + <td class="paramtype">bool </td> + <td class="paramname"> <em>fNoIntr</em> = <code>false</code> </td> <td> ) </td> - <td width="100%"> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)<code> [inline, static]</code></td> + <td> throw (<a class="el" href="classInotifyException.html">InotifyException</a>)</td> </tr> </table> </div> <div class="memdoc"> <p> -Sets the maximum number of inotify watches per instance. +Waits for inotify events. <p> +It waits until one or more events occur. When called in nonblocking mode it only retrieves occurred events to the internal queue and exits.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>val</em> </td><td>new value </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>fNoIntr</em> </td><td>if true it re-calls the system call after a handled signal</td></tr> </table> </dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html">InotifyException</a></em> </td><td>thrown if the given value cannot be set </td></tr> + <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classInotifyException.html" title="Class for inotify exceptions.">InotifyException</a></em> </td><td>thrown if reading events failed</td></tr> </table> </dl> -<dl class="attention" compact><dt><b>Attention:</b></dt><dd>Using this function requires root privileges. Beware of setting extensive values - the greater value is set here the more physical memory may be used for the inotify infrastructure. </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#b2c8ab8ad4322fb6f0dae0eae442402b" title="Enables/disables non-blocking mode.">SetNonBlock()</a> </dd></dl> </div> </div><p> @@ -1007,10 +1123,96 @@ Sets the maximum number of inotify watches per instance. </div> </div><p> +<hr><h2>Member Data Documentation</h2> +<a class="anchor" name="eee7847efd93b681fddac56860fc7958"></a><!-- doxytag: member="Inotify::m_buf" ref="eee7847efd93b681fddac56860fc7958" args="[INOTIFY_BUFLEN]" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned char <a class="el" href="classInotify.html#eee7847efd93b681fddac56860fc7958">Inotify::m_buf</a>[INOTIFY_BUFLEN]<code> [private]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +buffer for events +<p> + +</div> +</div><p> +<a class="anchor" name="0c1d6c969292dbb7c8c1283a3d8f55e0"></a><!-- doxytag: member="Inotify::m_events" ref="0c1d6c969292dbb7c8c1283a3d8f55e0" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::deque<<a class="el" href="classInotifyEvent.html">InotifyEvent</a>> <a class="el" href="classInotify.html#0c1d6c969292dbb7c8c1283a3d8f55e0">Inotify::m_events</a><code> [private]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +event queue +<p> + +</div> +</div><p> +<a class="anchor" name="95d6d0ecefff77bd3ee50f1586a4552b"></a><!-- doxytag: member="Inotify::m_fd" ref="95d6d0ecefff77bd3ee50f1586a4552b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="classInotify.html#95d6d0ecefff77bd3ee50f1586a4552b">Inotify::m_fd</a><code> [private]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +file descriptor +<p> + +</div> +</div><p> +<a class="anchor" name="62f275db6375a366023b2e46f73e3ecc"></a><!-- doxytag: member="Inotify::m_paths" ref="62f275db6375a366023b2e46f73e3ecc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="inotify-cxx_8h.html#5dd7761ff5a6b7cc7271950aebb7ddf6">IN_WP_MAP</a> <a class="el" href="classInotify.html#62f275db6375a366023b2e46f73e3ecc">Inotify::m_paths</a><code> [private]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +watches (by paths) +<p> + +</div> +</div><p> +<a class="anchor" name="4d07f3a4412028d687936d2479d9a976"></a><!-- doxytag: member="Inotify::m_watches" ref="4d07f3a4412028d687936d2479d9a976" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="inotify-cxx_8h.html#e6b5ebcb4e0d6a9f5ca8da26bc00cc2a">IN_WATCH_MAP</a> <a class="el" href="classInotify.html#4d07f3a4412028d687936d2479d9a976">Inotify::m_watches</a><code> [private]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +watches (by descriptors) +<p> + +</div> +</div><p> <hr>The documentation for this class was generated from the following files:<ul> -<li><a class="el" href="inotify-cxx_8h-source.html">inotify-cxx.h</a><li><a class="el" href="inotify-cxx_8cpp.html">inotify-cxx.cpp</a></ul> -<hr size="1"><address style="align: right;"><small>Generated on Wed Apr 18 18:26:40 2007 for inotify-cxx by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address> +<li><a class="el" href="inotify-cxx_8h_source.html">inotify-cxx.h</a><li><a class="el" href="inotify-cxx_8cpp.html">inotify-cxx.cpp</a></ul> +</div> +<hr size="1"><address style="text-align: right;"><small><a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> </small></address> </body> </html> |