Warning!

Notice: the grml team is migrating from Mercurial to Git.
Please visit git.grml.org instead!

new upstream release, add debian/watch
authorMichael Prokop <mika@grml.org>
Wed Jan 24 22:57:51 2007 +0100 (22 months ago)
changeset 73ed6279a114c
manifest3ed6279a114c
parent 63d3fc7d793a4
child 8e9bc7f5cf698
new upstream release, add debian/watch
CHANGELOG
Makefile
README
VERSION
debian/changelog
debian/watch
doc/html/annotated.html
doc/html/classEventDispatcher-members.html
doc/html/classEventDispatcher.html
doc/html/classInCronTab-members.html
doc/html/classInCronTab.html
doc/html/classInCronTabEntry-members.html
doc/html/classInCronTabEntry.html
doc/html/classInotify-members.html
doc/html/classInotify.html
doc/html/classInotifyEvent-members.html
doc/html/classInotifyEvent.html
doc/html/classInotifyException-members.html
doc/html/classInotifyException.html
doc/html/classInotifyWatch-members.html
doc/html/classInotifyWatch.html
doc/html/classStringTokenizer-members.html
doc/html/classStringTokenizer.html
doc/html/classUserTable-members.html
doc/html/classUserTable.html
doc/html/files.html
doc/html/functions.html
doc/html/functions_func.html
doc/html/functions_rela.html
doc/html/functions_vars.html
doc/html/globals.html
doc/html/globals_defs.html
doc/html/globals_enum.html
doc/html/globals_eval.html
doc/html/globals_func.html
doc/html/globals_type.html
doc/html/globals_vars.html
doc/html/icd-main_8cpp.html
doc/html/ict-main_8cpp.html
doc/html/incron_8h-source.html
doc/html/incron_8h.html
doc/html/incrontab_8cpp.html
doc/html/incrontab_8h-source.html
doc/html/incrontab_8h.html
doc/html/index.html
doc/html/inotify-cxx_8cpp.html
doc/html/inotify-cxx_8h-source.html
doc/html/inotify-cxx_8h.html
doc/html/strtok_8cpp.html
doc/html/strtok_8h-source.html
doc/html/strtok_8h.html
doc/html/structProcData__t-members.html
doc/html/structProcData__t.html
doc/html/structarguments-members.html
doc/html/structarguments.html
doc/html/usertable_8cpp.html
doc/html/usertable_8h-source.html
doc/html/usertable_8h.html
doc/man/man3/EventDispatcher.3
doc/man/man3/InCronTab.3
doc/man/man3/InCronTabEntry.3
doc/man/man3/Inotify.3
doc/man/man3/InotifyEvent.3
doc/man/man3/InotifyException.3
doc/man/man3/InotifyWatch.3
doc/man/man3/ProcData_t.3
doc/man/man3/StringTokenizer.3
doc/man/man3/UserTable.3
doc/man/man3/arguments.3
doc/man/man3/icd-main.cpp.3
doc/man/man3/ict-main.cpp.3
doc/man/man3/incron.h.3
doc/man/man3/incrontab.cpp.3
doc/man/man3/incrontab.h.3
doc/man/man3/inotify-cxx.cpp.3
doc/man/man3/inotify-cxx.h.3
doc/man/man3/strtok.cpp.3
doc/man/man3/strtok.h.3
doc/man/man3/usertable.cpp.3
doc/man/man3/usertable.h.3
icd-main.cpp
ict-main.cpp
incron.h
incrond.8
incrontab.1
incrontab.5
incrontab.cpp
incrontab.h
inotify-cxx.cpp
inotify-cxx.h
strtok.cpp
usertable.cpp
usertable.h
--- a/CHANGELOG Sun Jan 07 10:59:10 2007 +0100
+++ b/CHANGELOG Wed Jan 24 22:57:51 2007 +0100
@@ -1,3 +1,15 @@ 0.3.5 2007-01-09
+0.4.0 2007-01-13
+* based on inotify-cxx 0.7.0
+* incrontab has a feature to find out supported event types (--types or -t)
+* incrond now supports command line arguments
+* incrond can be run on foreground (--foreground, -n)
+* incrond can be simply stopped (--kill, -k)
+* support for system tables (/etc/incron.d) added
+* eaccess() replaced by euiaccess() (#0000125)
+* each table now use its own inotify descriptor (#0000129)
+* descriptors are closed on executing child processes
+
+
0.3.5 2007-01-09
* based on inotify-cxx 0.6.3
* a security bug related to access rights to watched files fixed (#0000119)
--- a/Makefile Sun Jan 07 10:59:10 2007 +0100
+++ b/Makefile Wed Jan 24 22:57:51 2007 +0100
@@ -1,6 +1,7 @@
PREFIX = /usr/local
-DATADIR = /var/spool/incron
+USERDATADIR = /var/spool/incron
+SYSDATADIR = /etc/incron.d
MANPATH = /usr/share/man
RELEASE = incron-`cat VERSION`
RELEASEDIR = /tmp/$(RELEASE)
@@ -46,7 +47,8 @@ install: all install-man
[ -d $(PREFIX) ]
$(INSTALL) -m 04755 -o $(USER) incrontab $(PREFIX)/bin/
$(INSTALL) -m 0755 incrond $(PREFIX)/sbin/
- $(INSTALL) -m 0755 -o $(USER) -d $(DATADIR)
+ $(INSTALL) -m 0755 -o $(USER) -d $(USERDATADIR)
+ $(INSTALL) -m 0755 -o $(USER) -d $(SYSDATADIR)
install-man: incrontab.1 incrontab.5 incrond.8
$(INSTALL) -m 0755 -d $(MANPATH)/man1
--- a/README Sun Jan 07 10:59:10 2007 +0100
+++ b/README Wed Jan 24 22:57:51 2007 +0100
@@ -84,6 +84,10 @@ It have to monitor all events on files i
/tmp IN_ALL_EVENTS efg $@/$# $&
+Since 0.4.0 also system tables are supported. They are located in
+/etc/incron.d and their commands use root privileges. System tables
+are intended to be changed directly (without incrontab).
+
5. Bugs, suggestions
THIS PROGRAM IS AN ALPHA VERSION. IT PROBABLY CONTAINS BUGS AND
--- a/VERSION Sun Jan 07 10:59:10 2007 +0100
+++ b/VERSION Wed Jan 24 22:57:51 2007 +0100
@@ -1,1 +1,1 @@ 0.3.5
-0.3.5
+0.4.0
--- a/debian/changelog Sun Jan 07 10:59:10 2007 +0100
+++ b/debian/changelog Wed Jan 24 22:57:51 2007 +0100
@@ -1,3 +1,10 @@ incron (0.3.5-1) unstable; urgency=low
+incron (0.4.0-1) unstable; urgency=low
+
+ * New upstream release.
+ * Add debian/watch (thanks for changes at webserver, Lukas Jelinek!)
+
+ -- Michael Prokop <mika@grml.org> Wed, 24 Jan 2007 22:53:48 +0100
+
incron (0.3.5-1) unstable; urgency=low
* Initial release.
--- a/doc/html/annotated.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/annotated.html Wed Jan 24 22:57:51 2007 +0100
@@ -29,7 +29,7 @@
<tr><td class="indexkey"><a class="el" href="classStringTokenizer.html">StringTokenizer</a></td><td class="indexvalue">Simple string tokenizer class </td></tr>
<tr><td class="indexkey"><a class="el" href="classUserTable.html">UserTable</a></td><td class="indexvalue">User table class </td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classEventDispatcher-members.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classEventDispatcher-members.html Wed Jan 24 22:57:51 2007 +0100
@@ -17,13 +17,14 @@
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>EventDispatcher Member List</h1>This is the complete list of members for <a class="el" href="classEventDispatcher.html">EventDispatcher</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#24e083068eebe67e31134c070651c774">DispatchEvent</a>(InotifyEvent &amp;rEvt)</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#e2599b7237a5521bb089292f4b566c99">EventDispatcher</a>(Inotify *pIn)</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#dfbc3497f8dff679aaa172d80f6bbf1d">Register</a>(InotifyWatch *pWatch, UserTable *pTab)</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#6291128f9a82da9d2a5f53f31fba362c">Unregister</a>(InotifyWatch *pWatch)</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#f9a6ecb43ed13dc1d0e64b11b9a30e3d">UnregisterAll</a>(UserTable *pTab)</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#bb5f401014e87f03027d6c4450964e55">~EventDispatcher</a>()</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+ <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#a85c268c8fa835ded477659ecd017ad4">EventDispatcher</a>(int iPipeFd, Inotify *pIn, InotifyWatch *pSys, InotifyWatch *pUser)</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#1309b15de686e9bdbf8f1ff8a1285e79">GetPollData</a>()</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#8ee04a2d54b7d15622dacc2d4bb2349f">GetSize</a>() const</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#c2b9520436761282001d8c5ea539482a">ProcessEvents</a>()</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#35f9789ceaf15a9cbeeae65717c0a068">Register</a>(UserTable *pTab)</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#6bd699c73e11db92ffc737ece3c30715">Unregister</a>(UserTable *pTab)</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classEventDispatcher.html#bb5f401014e87f03027d6c4450964e55">~EventDispatcher</a>()</td><td><a class="el" href="classEventDispatcher.html">EventDispatcher</a></td><td></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classEventDispatcher.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classEventDispatcher.html Wed Jan 24 22:57:51 2007 +0100
@@ -24,122 +24,61 @@
<a href="classEventDispatcher-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEventDispatcher.html#e2599b7237a5521bb089292f4b566c99">EventDispatcher</a> (<a class="el" href="classInotify.html">Inotify</a> *pIn)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#e2599b7237a5521bb089292f4b566c99"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEventDispatcher.html#a85c268c8fa835ded477659ecd017ad4">EventDispatcher</a> (int iPipeFd, <a class="el" href="classInotify.html">Inotify</a> *pIn, <a class="el" href="classInotifyWatch.html">InotifyWatch</a> *pSys, <a class="el" href="classInotifyWatch.html">InotifyWatch</a> *pUser)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#a85c268c8fa835ded477659ecd017ad4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEventDispatcher.html#bb5f401014e87f03027d6c4450964e55">~EventDispatcher</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#bb5f401014e87f03027d6c4450964e55"></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="classEventDispatcher.html#24e083068eebe67e31134c070651c774">DispatchEvent</a> (<a class="el" href="classInotifyEvent.html">InotifyEvent</a> &amp;rEvt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dispatches an event. <a href="#24e083068eebe67e31134c070651c774"></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="classEventDispatcher.html#dfbc3497f8dff679aaa172d80f6bbf1d">Register</a> (<a class="el" href="classInotifyWatch.html">InotifyWatch</a> *pWatch, <a class="el" href="classUserTable.html">UserTable</a> *pTab)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers a watch for an user table. <a href="#dfbc3497f8dff679aaa172d80f6bbf1d"></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="classEventDispatcher.html#6291128f9a82da9d2a5f53f31fba362c">Unregister</a> (<a class="el" href="classInotifyWatch.html">InotifyWatch</a> *pWatch)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregisters a watch. <a href="#6291128f9a82da9d2a5f53f31fba362c"></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="classEventDispatcher.html#f9a6ecb43ed13dc1d0e64b11b9a30e3d">UnregisterAll</a> (<a class="el" href="classUserTable.html">UserTable</a> *pTab)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregisters all watches for an user table. <a href="#f9a6ecb43ed13dc1d0e64b11b9a30e3d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEventDispatcher.html#c2b9520436761282001d8c5ea539482a">ProcessEvents</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Processes events. <a href="#c2b9520436761282001d8c5ea539482a"></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="classEventDispatcher.html#35f9789ceaf15a9cbeeae65717c0a068">Register</a> (<a class="el" href="classUserTable.html">UserTable</a> *pTab)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers an user table. <a href="#35f9789ceaf15a9cbeeae65717c0a068"></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="classEventDispatcher.html#6bd699c73e11db92ffc737ece3c30715">Unregister</a> (<a class="el" href="classUserTable.html">UserTable</a> *pTab)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregisters an user table. <a href="#6bd699c73e11db92ffc737ece3c30715"></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="classEventDispatcher.html#8ee04a2d54b7d15622dacc2d4bb2349f">GetSize</a> () const</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the poll data size. <a href="#8ee04a2d54b7d15622dacc2d4bb2349f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">pollfd *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEventDispatcher.html#1309b15de686e9bdbf8f1ff8a1285e79">GetPollData</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the poll data. <a href="#1309b15de686e9bdbf8f1ff8a1285e79"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Event dispatcher class.
<p>
-This class distributes inotify events to appropriate user tables.
+This class processes events and distributes them as needed.
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="e2599b7237a5521bb089292f4b566c99"></a><!-- doxytag: member="EventDispatcher::EventDispatcher" ref="e2599b7237a5521bb089292f4b566c99" args="(Inotify *pIn)" -->
+<a class="anchor" name="a85c268c8fa835ded477659ecd017ad4"></a><!-- doxytag: member="EventDispatcher::EventDispatcher" ref="a85c268c8fa835ded477659ecd017ad4" args="(int iPipeFd, Inotify *pIn, InotifyWatch *pSys, InotifyWatch *pUser)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">EventDispatcher::EventDispatcher </td>
<td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>iPipeFd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
<td class="paramtype"><a class="el" href="classInotify.html">Inotify</a> *&nbsp;</td>
- <td class="paramname"> <em>pIn</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Constructor.
-<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>pIn</em>&nbsp;</td><td>inotify object </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="bb5f401014e87f03027d6c4450964e55"></a><!-- doxytag: member="EventDispatcher::~EventDispatcher" ref="bb5f401014e87f03027d6c4450964e55" args="()" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">EventDispatcher::~EventDispatcher </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>
-Destructor.
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="24e083068eebe67e31134c070651c774"></a><!-- doxytag: member="EventDispatcher::DispatchEvent" ref="24e083068eebe67e31134c070651c774" args="(InotifyEvent &amp;rEvt)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void EventDispatcher::DispatchEvent </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>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Dispatches an event.
-<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>rEvt</em>&nbsp;</td><td>inotify event </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="dfbc3497f8dff679aaa172d80f6bbf1d"></a><!-- doxytag: member="EventDispatcher::Register" ref="dfbc3497f8dff679aaa172d80f6bbf1d" args="(InotifyWatch *pWatch, UserTable *pTab)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void EventDispatcher::Register </td>
- <td>(</td>
+ <td class="paramname"> <em>pIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
<td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> *&nbsp;</td>
- <td class="paramname"> <em>pWatch</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classUserTable.html">UserTable</a> *&nbsp;</td>
- <td class="paramname"> <em>pTab</em></td><td>&nbsp;</td>
+ <td class="paramname"> <em>pSys</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> *&nbsp;</td>
+ <td class="paramname"> <em>pUser</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
@@ -151,50 +90,69 @@ Dispatches an event.
<div class="memdoc">
<p>
-Registers a watch for an user table.
-<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>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pTab</em>&nbsp;</td><td>user table </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="6291128f9a82da9d2a5f53f31fba362c"></a><!-- doxytag: member="EventDispatcher::Unregister" ref="6291128f9a82da9d2a5f53f31fba362c" args="(InotifyWatch *pWatch)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void EventDispatcher::Unregister </td>
- <td>(</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%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Unregisters a 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>pWatch</em>&nbsp;</td><td>inotify watch </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="f9a6ecb43ed13dc1d0e64b11b9a30e3d"></a><!-- doxytag: member="EventDispatcher::UnregisterAll" ref="f9a6ecb43ed13dc1d0e64b11b9a30e3d" args="(UserTable *pTab)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void EventDispatcher::UnregisterAll </td>
+Constructor.
+<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>iPipeFd</em>&nbsp;</td><td>pipe descriptor </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pIn</em>&nbsp;</td><td>inotify object for table management </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pSys</em>&nbsp;</td><td>watch for system tables </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pUser</em>&nbsp;</td><td>watch for user tables </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bb5f401014e87f03027d6c4450964e55"></a><!-- doxytag: member="EventDispatcher::~EventDispatcher" ref="bb5f401014e87f03027d6c4450964e55" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">EventDispatcher::~EventDispatcher </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td width="100%"></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Destructor.
+<p>
+
+</div>
+</div><p>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="c2b9520436761282001d8c5ea539482a"></a><!-- doxytag: member="EventDispatcher::ProcessEvents" ref="c2b9520436761282001d8c5ea539482a" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool EventDispatcher::ProcessEvents </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td width="100%"></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Processes events.
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>pipe event occurred yes/no </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="35f9789ceaf15a9cbeeae65717c0a068"></a><!-- doxytag: member="EventDispatcher::Register" ref="35f9789ceaf15a9cbeeae65717c0a068" args="(UserTable *pTab)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EventDispatcher::Register </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classUserTable.html">UserTable</a> *&nbsp;</td>
<td class="paramname"> <em>pTab</em> </td>
@@ -206,19 +164,90 @@ Unregisters a watch.
<div class="memdoc">
<p>
-Unregisters all watches for an user table.
+Registers an user table.
<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>pTab</em>&nbsp;</td><td>user table </td></tr>
</table>
</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="6bd699c73e11db92ffc737ece3c30715"></a><!-- doxytag: member="EventDispatcher::Unregister" ref="6bd699c73e11db92ffc737ece3c30715" args="(UserTable *pTab)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void EventDispatcher::Unregister </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="classUserTable.html">UserTable</a> *&nbsp;</td>
+ <td class="paramname"> <em>pTab</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td width="100%"></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Unregisters an user table.
+<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>pTab</em>&nbsp;</td><td>user table </td></tr>
+ </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8ee04a2d54b7d15622dacc2d4bb2349f"></a><!-- doxytag: member="EventDispatcher::GetSize" ref="8ee04a2d54b7d15622dacc2d4bb2349f" args="() const" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">size_t EventDispatcher::GetSize </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td width="100%"> const<code> [inline]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the poll data size.
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>poll data size </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1309b15de686e9bdbf8f1ff8a1285e79"></a><!-- doxytag: member="EventDispatcher::GetPollData" ref="1309b15de686e9bdbf8f1ff8a1285e79" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct pollfd* EventDispatcher::GetPollData </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 poll data.
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>poll data </dd></dl>
</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="usertable_8h-source.html">usertable.h</a><li><a class="el" href="usertable_8cpp.html">usertable.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classInCronTab-members.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classInCronTab-members.html Wed Jan 24 22:57:51 2007 +0100
@@ -22,6 +22,7 @@
<tr class="memlist"><td><a class="el" href="classInCronTab.html#de9a88efd643b547cbe6102b795d0106">Clear</a>()</td><td><a class="el" href="classInCronTab.html">InCronTab</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInCronTab.html#275fed43299d32c1d7b0be2aeb218c7c">GetCount</a>() const</td><td><a class="el" href="classInCronTab.html">InCronTab</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInCronTab.html#378b4042354c7d9b1c75d0dfe8f02e60">GetEntry</a>(int index)</td><td><a class="el" href="classInCronTab.html">InCronTab</a></td><td><code> [inline]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classInCronTab.html#e7c8836ec776278925100f60b9d31cf5">GetSystemTablePath</a>(const std::string &amp;rName)</td><td><a class="el" href="classInCronTab.html">InCronTab</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInCronTab.html#626b19bdc1a2c016f7287360c729744f">GetUserTablePath</a>(const std::string &amp;rUser)</td><td><a class="el" href="classInCronTab.html">InCronTab</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInCronTab.html#de621f047a78af4820b2c61eb30c0f14">InCronTab</a>()</td><td><a class="el" href="classInCronTab.html">InCronTab</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInCronTab.html#4c253bbadcc5dacd78cdcc14e55a5609">IsEmpty</a>() const</td><td><a class="el" href="classInCronTab.html">InCronTab</a></td><td><code> [inline]</code></td></tr>
@@ -29,7 +30,7 @@
<tr class="memlist"><td><a class="el" href="classInCronTab.html#2d47d7a637cdbdd48a5b44610e3a149b">m_tab</a></td><td><a class="el" href="classInCronTab.html">InCronTab</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInCronTab.html#c1bccf49a6cb27f8f40d8fe270f7f240">Save</a>(const std::string &amp;rPath)</td><td><a class="el" href="classInCronTab.html">InCronTab</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInCronTab.html#f207b31aa99823a503d96160aad433f5">~InCronTab</a>()</td><td><a class="el" href="classInCronTab.html">InCronTab</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classInCronTab.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classInCronTab.html Wed Jan 24 22:57:51 2007 +0100
@@ -58,6 +58,9 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInCronTab.html#626b19bdc1a2c016f7287360c729744f">GetUserTablePath</a> (const std::string &amp;rUser)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Composes a path to an user incron table file. <a href="#626b19bdc1a2c016f7287360c729744f"></a><br></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="classInCronTab.html#e7c8836ec776278925100f60b9d31cf5">GetSystemTablePath</a> (const std::string &amp;rName)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Composes a path to a system incron table file. <a href="#e7c8836ec776278925100f60b9d31cf5"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::deque&lt; <a class="el" href="classInCronTabEntry.html">InCronTabEntry</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInCronTab.html#2d47d7a637cdbdd48a5b44610e3a149b">m_tab</a></td></tr>
@@ -339,6 +342,35 @@ Composes a path to an user incron table
</div>
</div><p>
+<a class="anchor" name="e7c8836ec776278925100f60b9d31cf5"></a><!-- doxytag: member="InCronTab::GetSystemTablePath" ref="e7c8836ec776278925100f60b9d31cf5" args="(const std::string &amp;rName)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">std::string InCronTab::GetSystemTablePath </td>
+ <td>(</td>
+ <td class="paramtype">const std::string &amp;&nbsp;</td>
+ <td class="paramname"> <em>rName</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td width="100%"><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Composes a path to a system incron table file.
+<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>rName</em>&nbsp;</td><td>table name (pseudouser) </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>path to the table file</dd></dl>
+<dl class="attention" compact><dt><b>Attention:</b></dt><dd>No tests (existence, permission etc.) are done. </dd></dl>
+
+</div>
+</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="2d47d7a637cdbdd48a5b44610e3a149b"></a><!-- doxytag: member="InCronTab::m_tab" ref="2d47d7a637cdbdd48a5b44610e3a149b" args="" -->
<div class="memitem">
@@ -359,7 +391,7 @@ incron table
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="incrontab_8h-source.html">incrontab.h</a><li><a class="el" href="incrontab_8cpp.html">incrontab.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classInCronTabEntry-members.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classInCronTabEntry-members.html Wed Jan 24 22:57:51 2007 +0100
@@ -31,7 +31,7 @@
<tr class="memlist"><td><a class="el" href="classInCronTabEntry.html#4142f0f0e717bc95d1805b4523333a50">Parse</a>(const std::string &amp;rStr, InCronTabEntry &amp;rEntry)</td><td><a class="el" href="classInCronTabEntry.html">InCronTabEntry</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInCronTabEntry.html#f0e4948c3c3b0895bd7317081feeaf5f">ToString</a>() const</td><td><a class="el" href="classInCronTabEntry.html">InCronTabEntry</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInCronTabEntry.html#5fbb806c73240819cba9edf59a0aaefd">~InCronTabEntry</a>()</td><td><a class="el" href="classInCronTabEntry.html">InCronTabEntry</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classInCronTabEntry.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classInCronTabEntry.html Wed Jan 24 22:57:51 2007 +0100
@@ -414,7 +414,7 @@ no loop yes/no
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="incrontab_8h-source.html">incrontab.h</a><li><a class="el" href="incrontab_8cpp.html">incrontab.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classInotify-members.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classInotify-members.html Wed Jan 24 22:57:51 2007 +0100
@@ -40,13 +40,14 @@
<tr class="memlist"><td><a class="el" href="classInotify.html#ac1a52b2ff6bfec07021a44e55d496a6">Remove</a>(InotifyWatch &amp;rWatch)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInotify.html#bc1fd5830ca561efb69bcd2283981741">RemoveAll</a>()</td><td><a class="el" href="classInotify.html">Inotify</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInotify.html#734538233ba2136164f76f4df6c3654e">SetCapability</a>(InotifyCapability_t cap, uint32_t val)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td><code> [static]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classInotify.html#124dd5816205900af61034d47ae65255">SetCloseOnExec</a>(bool fClOnEx)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInotify.html#66d90ebfa516d4bd1463749def2b58f9">SetMaxEvents</a>(uint32_t val)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInotify.html#620c891962fe5acd26485c64e9b28d19">SetMaxInstances</a>(uint32_t val)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInotify.html#5064380cdb4a726ab33f3fa18d15c77a">SetMaxWatches</a>(uint32_t val)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInotify.html#b2c8ab8ad4322fb6f0dae0eae442402b">SetNonBlock</a>(bool fNonBlock)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInotify.html#139c27c6643bb199619f3eae9b32e53b">WaitForEvents</a>(bool fNoIntr=false)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInotify.html#f19dd5e491395673e4798eb9dbf5f682">~Inotify</a>()</td><td><a class="el" href="classInotify.html">Inotify</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classInotify.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classInotify.html Wed Jan 24 22:57:51 2007 +0100
@@ -84,6 +84,9 @@
<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>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#124dd5816205900af61034d47ae65255">SetCloseOnExec</a> (bool fClOnEx) throw (InotifyException)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables/disables closing on exec. <a href="#124dd5816205900af61034d47ae65255"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#70b3b57e8661fbb4c5bc404b86225c3b">GetCapability</a> (<a class="el" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">InotifyCapability_t</a> cap) throw (InotifyException)</td></tr>
@@ -680,6 +683,7 @@ Enables/disables non-blocking mode.
Enables/disables non-blocking mode.
<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>
<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>
@@ -690,7 +694,42 @@ Use this mode if you want to monitor the
<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>
</table>
</dl>
-<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotify.html#678271faf4799840ad71805163a24b13">GetDescriptor()</a> </dd></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>
+
+</div>
+</div><p>
+<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">void Inotify::SetCloseOnExec </td>
+ <td>(</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>)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Enables/disables closing on exec.
+<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>
+<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 setting 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>
@@ -970,7 +1009,7 @@ Sets the maximum number of inotify watch
</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 Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classInotifyEvent-members.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classInotifyEvent-members.html Wed Jan 24 22:57:51 2007 +0100
@@ -32,7 +32,7 @@
<tr class="memlist"><td><a class="el" href="classInotifyEvent.html#309ebf3c5b131522295185a926d551bb">IsType</a>(uint32_t uValue, uint32_t uType)</td><td><a class="el" href="classInotifyEvent.html">InotifyEvent</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInotifyEvent.html#7fdee6664ec63ccc87ff1221abba9abc">IsType</a>(uint32_t uType) const</td><td><a class="el" href="classInotifyEvent.html">InotifyEvent</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInotifyEvent.html#a48030da1d3a1b1741ca791c9e129888">~InotifyEvent</a>()</td><td><a class="el" href="classInotifyEvent.html">InotifyEvent</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classInotifyEvent.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classInotifyEvent.html Wed Jan 24 22:57:51 2007 +0100
@@ -480,7 +480,7 @@ Fills the string with all types containe
</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 Sat Jan 6 23:06:33 2007 for incron by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Sat Jan 13 18:46:44 2007 for incron 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>
</body>
--- a/doc/html/classInotifyException-members.html Sun Jan 07 10:59:10 2007 +0100
+++ b/doc/html/classInotifyException-members.html Wed Jan 24 22:57:51 2007 +0100
@@ -24,7 +24,7 @@
<tr class="meml