summaryrefslogtreecommitdiff
path: root/shared/inotify/doc/html/classInotify.html
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 17:05:30 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 17:05:30 +0200
commitc0fce877c478ddbf71a1b651c789e5ea00a00144 (patch)
treede01b0ae8fd296bd24fbca54a80f2f0ba071d461 /shared/inotify/doc/html/classInotify.html
parent3.3 (diff)
downloadFreeFileSync-c0fce877c478ddbf71a1b651c789e5ea00a00144.tar.gz
FreeFileSync-c0fce877c478ddbf71a1b651c789e5ea00a00144.tar.bz2
FreeFileSync-c0fce877c478ddbf71a1b651c789e5ea00a00144.zip
3.4
Diffstat (limited to 'shared/inotify/doc/html/classInotify.html')
-rw-r--r--shared/inotify/doc/html/classInotify.html744
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&nbsp;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&nbsp;List</span></a></li>
- <li><a href="functions.html"><span>Class&nbsp;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&nbsp;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&nbsp;List</span></a></li>
+ <li><a href="functions.html"><span>Class&nbsp;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 &lt;<a class="el" href="inotify-cxx_8h-source.html">inotify-cxx.h</a>&gt;</code>
+<code>#include &lt;<a class="el" href="inotify-cxx_8h_source.html">inotify-cxx.h</a>&gt;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#bc1fd5830ca561efb69bcd2283981741">RemoveAll</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#716ae90a00dd4895709ea9b8f7959075">GetWatchCount</a> () const </td></tr>
-<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#9bf5f7716649d5b5f468c2242fb5e099">GetEnabledCount</a> () const</td></tr>
+<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#6f432affb46f85f7bc19661d5bc77063">GetEnabledCount</a> () const </td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the count of enabled watches. <a href="#9bf5f7716649d5b5f468c2242fb5e099"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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">&nbsp;</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> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#a4d6b9d1a9a496862febbe5bffd798c2">FindWatch</a> (const std::string &amp;rPath)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#abab7015203bf36d0256e75d4f4861f9">GetDescriptor</a> () const </td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the file descriptor. <a href="#678271faf4799840ad71805163a24b13"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#95d6d0ecefff77bd3ee50f1586a4552b">m_fd</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#4d07f3a4412028d687936d2479d9a976">m_watches</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#62f275db6375a366023b2e46f73e3ecc">m_paths</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#eee7847efd93b681fddac56860fc7958">m_buf</a> [INOTIFY_BUFLEN]</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&lt; <a class="el" href="classInotifyEvent.html">InotifyEvent</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#0c1d6c969292dbb7c8c1283a3d8f55e0">m_events</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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 &amp; Destructor Documentation</h2>
+If the INOTIFY_THREAD_SAFE is defined this class is thread-safe. <hr><h2>Constructor &amp; 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>&nbsp;)&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
+ <td class="paramname"> <em>rWatch</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>rWatch</em>&nbsp;</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>&nbsp;</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> *&nbsp;</td>
<td class="paramname"> <em>pWatch</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</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>&nbsp;</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 &amp;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> &amp;&nbsp;</td>
- <td class="paramname"> <em>rWatch</em> </td>
+ <td class="paramname"> </td>
<td>&nbsp;)&nbsp;</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 &amp;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 &amp;&nbsp;</td>
+ <td class="paramname"> <em>rPath</em> </td>
+ <td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>rWatch</em>&nbsp;</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>&nbsp;</td><td>thrown if adding failed </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rPath</em>&nbsp;</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> *&nbsp;</td>
- <td class="paramname"> <em>pWatch</em> </td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>iDescriptor</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>pWatch</em>&nbsp;</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>&nbsp;</td><td>thrown if removing failed </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>iDescriptor</em>&nbsp;</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 &amp;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> &amp;&nbsp;</td>
- <td class="paramname"> <em>rWatch</em> </td>
+ <td class="paramtype"><a class="el" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">InotifyCapability_t</a>&nbsp;</td>
+ <td class="paramname"> <em>cap</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>rWatch</em>&nbsp;</td><td>inotify watch</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>cap</em>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</td>
+ <td class="paramname"> <em>cap</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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 &amp;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&nbsp;</td>
- <td class="paramname"> <em>fNoIntr</em> = <code>false</code> </td>
+ <td class="paramtype"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>rEvt</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>fNoIntr</em>&nbsp;</td><td>if true it re-calls the system call after a handled signal</td></tr>
+ <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>rEvt</em>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;)&nbsp;</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> *&nbsp;</td>
<td class="paramname"> <em>pEvt</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</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>&nbsp;</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 &amp;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> &amp;&nbsp;</td>
- <td class="paramname"> <em>rEvt</em> </td>
+ <td class="paramname"> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>rEvt</em>&nbsp;</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>&nbsp;</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> *&nbsp;</td>
- <td class="paramname"> <em>pEvt</em> </td>
+ <td class="paramname"> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>pEvt</em>&nbsp;</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>&nbsp;</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>&nbsp;</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 &amp;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> &amp;&nbsp;</td>
- <td class="paramname"> <em>rEvt</em> </td>
+ <td class="paramname"> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>rEvt</em>&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</td>
- <td class="paramname"> <em>iDescriptor</em> </td>
+ <td class="paramname"> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>iDescriptor</em>&nbsp;</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>&nbsp;</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 &amp;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 &amp;&nbsp;</td>
- <td class="paramname"> <em>rPath</em> </td>
+ <td class="paramname"> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>rPath</em>&nbsp;</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 &amp;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> &amp;&nbsp;</td>
+ <td class="paramname"> <em>rEvt</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>rEvt</em>&nbsp;</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>&nbsp;</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&nbsp;</td>
- <td class="paramname"> <em>fNonBlock</em> </td>
+ <td class="paramtype"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> *&nbsp;</td>
+ <td class="paramname"> <em>pEvt</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>fNonBlock</em>&nbsp;</td><td>enable/disable non-blocking mode</td></tr>
+ <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>pEvt</em>&nbsp;</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>&nbsp;</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>&nbsp;</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 &amp;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&nbsp;</td>
- <td class="paramname"> <em>fClOnEx</em> </td>
+ <td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>rWatch</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>fClOnEx</em>&nbsp;</td><td>enable/disable closing on exec</td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>rWatch</em>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</td>
- <td class="paramname"> <em>cap</em> </td>
+ <td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> *&nbsp;</td>
+ <td class="paramname"> <em>pWatch</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>cap</em>&nbsp;</td><td>capability/limit identifier </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pWatch</em>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</td>
+ <td class="paramname"> <em>fClOnEx</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>fClOnEx</em>&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</td>
<td class="paramname"> <em>val</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</td>
+ <td class="paramname"> <em>val</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</td>
<td class="paramname"> <em>val</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</td>
+ <td class="paramname"> <em>fNonBlock</em> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>fNonBlock</em>&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</td>
- <td class="paramname"> <em>val</em> </td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>fNoIntr</em> = <code>false</code> </td>
<td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>new value </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fNoIntr</em>&nbsp;</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>&nbsp;</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>&nbsp;</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&lt;<a class="el" href="classInotifyEvent.html">InotifyEvent</a>&gt; <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&nbsp;
-<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>
bgstack15