Subversion Repositories public

Compare Revisions

Ignore whitespace Rev 7 → Rev 8

/inotify-cxx/tags/inotify-cxx-0.1.0/doc/man/man3/inotify-cxx.h.3
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/man/man3/InotifyWatch.3
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/man/man3/Inotify.3
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/man/man3/inotify-cxx.cpp.3
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/man/man3/InotifyEvent.3
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/inotify-cxx_8cpp.html
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/functions_rela.html
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/annotated.html
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/inotify-cxx_8h-source.html
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/inotify-cxx_8h.html
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/globals.html
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/functions_func.html
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/globals_defs.html
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/globals_type.html
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/classInotifyWatch-members.html
File deleted
/inotify-cxx/tags/inotify-cxx-0.1.0/doc/html/doxygen.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: tags/inotify-cxx-0.1.0/doc/html/classInotifyWatch.html
===================================================================
--- tags/inotify-cxx-0.1.0/doc/html/classInotifyWatch.html (revision 7)
+++ tags/inotify-cxx-0.1.0/doc/html/classInotifyWatch.html (nonexistent)
@@ -1,235 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>inotify-cxx: InotifyWatch Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>InotifyWatch Class Reference</h1><!-- doxytag: class="InotifyWatch" -->inotify watch 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>
-<p>
-<a href="classInotifyWatch-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="classInotifyWatch.html#a0">InotifyWatch</a> (const std::string &amp;rPath, int32_t uMask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyWatch.html#a1">~InotifyWatch</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyWatch.html#a2">GetDescriptor</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the watch descriptor. <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyWatch.html#a3">GetPath</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the watched file path. <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyWatch.html#a4">GetMask</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the watch event mask. <a href="#a4"></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="classInotifyWatch.html#n0">Inotify</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-inotify watch class
-<p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a0"></a><!-- doxytag: member="InotifyWatch::InotifyWatch" ref="a0" args="(const std::string &amp;rPath, int32_t uMask)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">InotifyWatch::InotifyWatch </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>rPath</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int32_t&nbsp;</td>
- <td class="mdname" nowrap> <em>uMask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructor.
-<p>
-Creates an inotify watch. Because this watch is inactive it has an invalid descriptor (-1).<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>watched file path </td></tr>
- <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>uMask</em>&nbsp;</td><td>mask for events</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a1"></a><!-- doxytag: member="InotifyWatch::~InotifyWatch" ref="a1" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">InotifyWatch::~InotifyWatch </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Destructor.
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a2"></a><!-- doxytag: member="InotifyWatch::GetDescriptor" ref="a2" args="() const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">int32_t InotifyWatch::GetDescriptor </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the watch descriptor.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>watch descriptor; -1 for inactive watch</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a4"></a><!-- doxytag: member="InotifyWatch::GetMask" ref="a4" args="() const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">uint32_t InotifyWatch::GetMask </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the watch event mask.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>event mask</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a3"></a><!-- doxytag: member="InotifyWatch::GetPath" ref="a3" args="() const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const std::string&amp; InotifyWatch::GetPath </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the watched file path.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>file path</dd></dl>
- </td>
- </tr>
-</table>
-<hr><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" name="n0"></a><!-- doxytag: member="InotifyWatch::Inotify" ref="n0" args="" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">friend class <a class="el" href="classInotify.html">Inotify</a><code> [friend]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</table>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="inotify-cxx_8h-source.html">inotify-cxx.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Sep 4 22:30:17 2006 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.4.4 </small></address>
-</body>
-</html>
Index: tags/inotify-cxx-0.1.0/doc/html/classInotify-members.html
===================================================================
--- tags/inotify-cxx-0.1.0/doc/html/classInotify-members.html (revision 7)
+++ tags/inotify-cxx-0.1.0/doc/html/classInotify-members.html (nonexistent)
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>inotify-cxx: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>Inotify Member List</h1>This is the complete list of members for <a class="el" href="classInotify.html">Inotify</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classInotify.html#a4">Add</a>(InotifyWatch *pWatch)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInotify.html#a5">Add</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#a2">Close</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#a16">FindWatch</a>(int iDescriptor)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInotify.html#a12">GetEvent</a>(InotifyEvent *pEvt)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInotify.html#a13">GetEvent</a>(InotifyEvent &amp;rEvt)</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#a11">GetEventCount</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#a9">GetWatchCount</a>() const </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#a0">Inotify</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#a3">IsReady</a>() const </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#a14">PeekEvent</a>(InotifyEvent *pEvt)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInotify.html#a15">PeekEvent</a>(InotifyEvent &amp;rEvt)</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#a6">Remove</a>(InotifyWatch *pWatch)</td><td><a class="el" href="classInotify.html">Inotify</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInotify.html#a7">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#a8">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#a10">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#a1">~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 Mon Sep 4 22:30:17 2006 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.4.4 </small></address>
-</body>
-</html>
Index: tags/inotify-cxx-0.1.0/doc/html/doxygen.css
===================================================================
--- tags/inotify-cxx-0.1.0/doc/html/doxygen.css (revision 7)
+++ tags/inotify-cxx-0.1.0/doc/html/doxygen.css (nonexistent)
@@ -1,309 +0,0 @@
-BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
- font-family: Geneva, Arial, Helvetica, sans-serif;
-}
-BODY,TD {
- font-size: 90%;
-}
-H1 {
- text-align: center;
- font-size: 160%;
-}
-H2 {
- font-size: 120%;
-}
-H3 {
- font-size: 100%;
-}
-CAPTION { font-weight: bold }
-DIV.qindex {
- width: 100%;
- background-color: #eeeeff;
- border: 1px solid #b0b0b0;
- text-align: center;
- margin: 2px;
- padding: 2px;
- line-height: 140%;
-}
-DIV.nav {
- width: 100%;
- background-color: #eeeeff;
- border: 1px solid #b0b0b0;
- text-align: center;
- margin: 2px;
- padding: 2px;
- line-height: 140%;
-}
-DIV.navtab {
- background-color: #eeeeff;
- border: 1px solid #b0b0b0;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-TD.navtab {
- font-size: 70%;
-}
-A.qindex {
- text-decoration: none;
- font-weight: bold;
- color: #1A419D;
-}
-A.qindex:visited {
- text-decoration: none;
- font-weight: bold;
- color: #1A419D
-}
-A.qindex:hover {
- text-decoration: none;
- background-color: #ddddff;
-}
-A.qindexHL {
- text-decoration: none;
- font-weight: bold;
- background-color: #6666cc;
- color: #ffffff;
- border: 1px double #9295C2;
-}
-A.qindexHL:hover {
- text-decoration: none;
- background-color: #6666cc;
- color: #ffffff;
-}
-A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
-A.el { text-decoration: none; font-weight: bold }
-A.elRef { font-weight: bold }
-A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
-A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
-A.codeRef:link { font-weight: normal; color: #0000FF}
-A.codeRef:visited { font-weight: normal; color: #0000FF}
-A:hover { text-decoration: none; background-color: #f2f2ff }
-DL.el { margin-left: -1cm }
-.fragment {
- font-family: Fixed, monospace;
- font-size: 95%;
-}
-PRE.fragment {
- border: 1px solid #CCCCCC;
- background-color: #f5f5f5;
- margin-top: 4px;
- margin-bottom: 4px;
- margin-left: 2px;
- margin-right: 8px;
- padding-left: 6px;
- padding-right: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
-TD.md { background-color: #F4F4FB; font-weight: bold; }
-TD.mdPrefix {
- background-color: #F4F4FB;
- color: #606060;
- font-size: 80%;
-}
-TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }
-TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }
-DIV.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- margin-bottom: 6px;
- font-weight: bold;
-}
-DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
-BODY {
- background: white;
- color: black;
- margin-right: 20px;
- margin-left: 20px;
-}
-TD.indexkey {
- background-color: #eeeeff;
- font-weight: bold;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
- border: 1px solid #CCCCCC;
-}
-TD.indexvalue {
- background-color: #eeeeff;
- font-style: italic;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
- border: 1px solid #CCCCCC;
-}
-TR.memlist {
- background-color: #f0f0f0;
-}
-P.formulaDsp { text-align: center; }
-IMG.formulaDsp { }
-IMG.formulaInl { vertical-align: middle; }
-SPAN.keyword { color: #008000 }
-SPAN.keywordtype { color: #604020 }
-SPAN.keywordflow { color: #e08000 }
-SPAN.comment { color: #800000 }
-SPAN.preprocessor { color: #806020 }
-SPAN.stringliteral { color: #002080 }
-SPAN.charliteral { color: #008080 }
-.mdTable {
- border: 1px solid #868686;
- background-color: #F4F4FB;
-}
-.mdRow {
- padding: 8px 10px;
-}
-.mdescLeft {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
-}
-.mdescRight {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
-}
-.memItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplParams {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- color: #606060;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.search { color: #003399;
- font-weight: bold;
-}
-FORM.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-INPUT.search { font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #eeeeff;
-}
-TD.tiny { font-size: 75%;
-}
-a {
- color: #252E78;
-}
-a:visited {
- color: #3D2185;
-}
-.dirtab { padding: 4px;
- border-collapse: collapse;
- border: 1px solid #b0b0b0;
-}
-TH.dirtab { background: #eeeeff;
- font-weight: bold;
-}
-HR { height: 1px;
- border: none;
- border-top: 1px solid black;
-}
Index: tags/inotify-cxx-0.1.0/doc/html/classInotifyEvent-members.html
===================================================================
--- tags/inotify-cxx-0.1.0/doc/html/classInotifyEvent-members.html (revision 7)
+++ tags/inotify-cxx-0.1.0/doc/html/classInotifyEvent-members.html (nonexistent)
@@ -1,26 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>inotify-cxx: Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>InotifyEvent Member List</h1>This is the complete list of members for <a class="el" href="classInotifyEvent.html">InotifyEvent</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classInotifyEvent.html#a12">DumpTypes</a>(std::string &amp;rStr) const </td><td><a class="el" href="classInotifyEvent.html">InotifyEvent</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInotifyEvent.html#a6">GetCookie</a>() 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#a10">GetData</a>(struct inotify_event *pEvt)</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#a11">GetData</a>(struct inotify_event &amp;rEvt)</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#a3">GetDescriptor</a>() 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#a7">GetLength</a>() 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#a4">GetMask</a>() 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#a8">GetName</a>() 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#a9">GetName</a>(std::string &amp;rName) 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#a0">InotifyEvent</a>()</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#a1">InotifyEvent</a>(const struct inotify_event *pEvt)</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#a5">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#a2">~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 Mon Sep 4 22:30:17 2006 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.4.4 </small></address>
-</body>
-</html>
Index: tags/inotify-cxx-0.1.0/doc/html/files.html
===================================================================
--- tags/inotify-cxx-0.1.0/doc/html/files.html (revision 7)
+++ tags/inotify-cxx-0.1.0/doc/html/files.html (nonexistent)
@@ -1,16 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>inotify-cxx: File Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindexHL" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>inotify-cxx File List</h1>Here is a list of all files with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="inotify-cxx_8cpp.html">inotify-cxx.cpp</a></td><td class="indexvalue"><a class="el" href="classInotify.html">Inotify</a> C++ interface implementation </td></tr>
- <tr><td class="indexkey"><a class="el" href="inotify-cxx_8h.html">inotify-cxx.h</a> <a href="inotify-cxx_8h-source.html">[code]</a></td><td class="indexvalue"><a class="el" href="classInotify.html">Inotify</a> C++ interface header </td></tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Sep 4 22:30:17 2006 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.4.4 </small></address>
-</body>
-</html>
Index: tags/inotify-cxx-0.1.0/doc/html/index.html
===================================================================
--- tags/inotify-cxx-0.1.0/doc/html/index.html (revision 7)
+++ tags/inotify-cxx-0.1.0/doc/html/index.html (nonexistent)
@@ -1,14 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>inotify-cxx: Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="qindex"><a class="qindexHL" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>inotify-cxx Documentation</h1>
-<p>
-<h3 align="center">0.1.0 </h3><hr size="1"><address style="align: right;"><small>Generated on Mon Sep 4 22:30:17 2006 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.4.4 </small></address>
-</body>
-</html>
Index: tags/inotify-cxx-0.1.0/doc/html/classInotify.html
===================================================================
--- tags/inotify-cxx-0.1.0/doc/html/classInotify.html (revision 7)
+++ tags/inotify-cxx-0.1.0/doc/html/classInotify.html (nonexistent)
@@ -1,652 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>inotify-cxx: Inotify Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<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>
-<p>
-<a href="classInotify-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="classInotify.html#a0">Inotify</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotify.html#a1">~Inotify</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#a1"></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#a2">Close</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all watches and closes the inotify device. <a href="#a2"></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="classInotify.html#a3">IsReady</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether the inotify is ready. <a href="#a3"></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="classInotify.html#a4">Add</a> (<a class="el" href="classInotifyWatch.html">InotifyWatch</a> *pWatch)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a new watch. <a href="#a4"></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="classInotify.html#a5">Add</a> (<a class="el" href="classInotifyWatch.html">InotifyWatch</a> &amp;rWatch)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a new watch. <a href="#a5"></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#a6">Remove</a> (<a class="el" href="classInotifyWatch.html">InotifyWatch</a> *pWatch)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a watch. <a href="#a6"></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#a7">Remove</a> (<a class="el" href="classInotifyWatch.html">InotifyWatch</a> &amp;rWatch)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a watch. <a href="#a7"></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#a8">RemoveAll</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all watches. <a href="#a8"></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#a9">GetWatchCount</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the count of watches. <a href="#a9"></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="classInotify.html#a10">WaitForEvents</a> (bool fNoIntr=false)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits for inotify events. <a href="#a10"></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#a11">GetEventCount</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the count of received and queued events. <a href="#a11"></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="classInotify.html#a12">GetEvent</a> (<a class="el" href="classInotifyEvent.html">InotifyEvent</a> *pEvt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extracts a queued inotify event. <a href="#a12"></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="classInotify.html#a13">GetEvent</a> (<a class="el" href="classInotifyEvent.html">InotifyEvent</a> &amp;rEvt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extracts a queued inotify event. <a href="#a13"></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="classInotify.html#a14">PeekEvent</a> (<a class="el" href="classInotifyEvent.html">InotifyEvent</a> *pEvt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extracts a queued inotify event (without removing). <a href="#a14"></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="classInotify.html#a15">PeekEvent</a> (<a class="el" href="classInotifyEvent.html">InotifyEvent</a> &amp;rEvt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extracts a queued inotify event (without removing). <a href="#a15"></a><br></td></tr>
-<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#a16">FindWatch</a> (int iDescriptor)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Searches for a watch. <a href="#a16"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-inotify class
-<p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a0"></a><!-- doxytag: member="Inotify::Inotify" ref="a0" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">Inotify::Inotify </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructor.
-<p>
-Creates and initializes an instance of inotify communication object (opens the inotify device). </td>
- </tr>
-</table>
-<a class="anchor" name="a1"></a><!-- doxytag: member="Inotify::~Inotify" ref="a1" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">Inotify::~Inotify </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Destructor.
-<p>
-Calls <a class="el" href="classInotify.html#a2">Close()</a> due for clean-up. </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a5"></a><!-- doxytag: member="Inotify::Add" ref="a5" args="(InotifyWatch &amp;rWatch)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool Inotify::Add </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>rWatch</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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>Returns:</b></dt><dd>true = success, false = failure</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a4"></a><!-- doxytag: member="Inotify::Add" ref="a4" args="(InotifyWatch *pWatch)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool Inotify::Add </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pWatch</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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>pWatch</em>&nbsp;</td><td>inotify watch </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>true = success, false = failure</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a2"></a><!-- doxytag: member="Inotify::Close" ref="a2" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void Inotify::Close </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Removes all watches and closes the inotify device.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a16"></a><!-- doxytag: member="Inotify::FindWatch" ref="a16" args="(int iDescriptor)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> * Inotify::FindWatch </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>iDescriptor</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Searches for a watch.
-<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>iDescriptor</em>&nbsp;</td><td>watch descriptor </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>found descriptor; NULL if no such watch exists</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a13"></a><!-- doxytag: member="Inotify::GetEvent" ref="a13" args="(InotifyEvent &amp;rEvt)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool Inotify::GetEvent </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>rEvt</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Extracts a queued inotify event.
-<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>Returns:</b></dt><dd>true = success, false = failure</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a12"></a><!-- doxytag: member="Inotify::GetEvent" ref="a12" args="(InotifyEvent *pEvt)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool Inotify::GetEvent </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pEvt</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Extracts a queued inotify event.
-<p>
-The extracted event is removed from 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 compact><dt><b>Returns:</b></dt><dd>true = success, false = failure</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a11"></a><!-- doxytag: member="Inotify::GetEventCount" ref="a11" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">int Inotify::GetEventCount </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<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 compact><dt><b>Returns:</b></dt><dd>count of events</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a9"></a><!-- doxytag: member="Inotify::GetWatchCount" ref="a9" args="() const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">size_t Inotify::GetWatchCount </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the count of watches.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>count of watches</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a3"></a><!-- doxytag: member="Inotify::IsReady" ref="a3" args="() const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool Inotify::IsReady </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Checks whether the inotify is ready.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>true = initialized properly, false = something failed</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a15"></a><!-- doxytag: member="Inotify::PeekEvent" ref="a15" args="(InotifyEvent &amp;rEvt)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool Inotify::PeekEvent </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>rEvt</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Extracts a queued inotify event (without removing).
-<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>
-<dl compact><dt><b>Returns:</b></dt><dd>true = success, false = failure</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a14"></a><!-- doxytag: member="Inotify::PeekEvent" ref="a14" args="(InotifyEvent *pEvt)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool Inotify::PeekEvent </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInotifyEvent.html">InotifyEvent</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pEvt</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Extracts a queued inotify event (without removing).
-<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 compact><dt><b>Returns:</b></dt><dd>true = success, false = failure</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a7"></a><!-- doxytag: member="Inotify::Remove" ref="a7" args="(InotifyWatch &amp;rWatch)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void Inotify::Remove </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>rWatch</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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>rWatch</em>&nbsp;</td><td>inotify watch</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a6"></a><!-- doxytag: member="Inotify::Remove" ref="a6" args="(InotifyWatch *pWatch)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void Inotify::Remove </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInotifyWatch.html">InotifyWatch</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pWatch</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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>pWatch</em>&nbsp;</td><td>inotify watch</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a8"></a><!-- doxytag: member="Inotify::RemoveAll" ref="a8" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void Inotify::RemoveAll </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Removes all watches.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a10"></a><!-- doxytag: member="Inotify::WaitForEvents" ref="a10" args="(bool fNoIntr=false)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool Inotify::WaitForEvents </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>fNoIntr</em> = <code>false</code> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Waits for inotify events.
-<p>
-It waits until one or more events occur.<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>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>true = event(s) occurred, false = failure</dd></dl>
- </td>
- </tr>
-</table>
-<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 Mon Sep 4 22:30:17 2006 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.4.4 </small></address>
-</body>
-</html>
Index: tags/inotify-cxx-0.1.0/doc/html/functions.html
===================================================================
--- tags/inotify-cxx-0.1.0/doc/html/functions.html (revision 7)
+++ tags/inotify-cxx-0.1.0/doc/html/functions.html (nonexistent)
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>inotify-cxx: Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_rela.html">Related&nbsp;Functions</a></div>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<ul>
-<li>Add()
-: <a class="el" href="classInotify.html#a5">Inotify</a><li>Close()
-: <a class="el" href="classInotify.html#a2">Inotify</a><li>DumpTypes()
-: <a class="el" href="classInotifyEvent.html#a12">InotifyEvent</a><li>FindWatch()
-: <a class="el" href="classInotify.html#a16">Inotify</a><li>GetCookie()
-: <a class="el" href="classInotifyEvent.html#a6">InotifyEvent</a><li>GetData()
-: <a class="el" href="classInotifyEvent.html#a11">InotifyEvent</a><li>GetDescriptor()
-: <a class="el" href="classInotifyWatch.html#a2">InotifyWatch</a>, <a class="el" href="classInotifyEvent.html#a3">InotifyEvent</a><li>GetEvent()
-: <a class="el" href="classInotify.html#a13">Inotify</a><li>GetEventCount()
-: <a class="el" href="classInotify.html#a11">Inotify</a><li>GetLength()
-: <a class="el" href="classInotifyEvent.html#a7">InotifyEvent</a><li>GetMask()
-: <a class="el" href="classInotifyWatch.html#a4">InotifyWatch</a>, <a class="el" href="classInotifyEvent.html#a4">InotifyEvent</a><li>GetName()
-: <a class="el" href="classInotifyEvent.html#a9">InotifyEvent</a><li>GetPath()
-: <a class="el" href="classInotifyWatch.html#a3">InotifyWatch</a><li>GetWatchCount()
-: <a class="el" href="classInotify.html#a9">Inotify</a><li>Inotify
-: <a class="el" href="classInotify.html#a0">Inotify</a>, <a class="el" href="classInotifyWatch.html#n0">InotifyWatch</a><li>InotifyEvent()
-: <a class="el" href="classInotifyEvent.html#a1">InotifyEvent</a><li>InotifyWatch()
-: <a class="el" href="classInotifyWatch.html#a0">InotifyWatch</a><li>IsReady()
-: <a class="el" href="classInotify.html#a3">Inotify</a><li>IsType()
-: <a class="el" href="classInotifyEvent.html#a5">InotifyEvent</a><li>PeekEvent()
-: <a class="el" href="classInotify.html#a15">Inotify</a><li>Remove()
-: <a class="el" href="classInotify.html#a7">Inotify</a><li>RemoveAll()
-: <a class="el" href="classInotify.html#a8">Inotify</a><li>WaitForEvents()
-: <a class="el" href="classInotify.html#a10">Inotify</a><li>~Inotify()
-: <a class="el" href="classInotify.html#a1">Inotify</a><li>~InotifyEvent()
-: <a class="el" href="classInotifyEvent.html#a2">InotifyEvent</a><li>~InotifyWatch()
-: <a class="el" href="classInotifyWatch.html#a1">InotifyWatch</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Sep 4 22:30:17 2006 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.4.4 </small></address>
-</body>
-</html>
Index: tags/inotify-cxx-0.1.0/doc/html/classInotifyEvent.html
===================================================================
--- tags/inotify-cxx-0.1.0/doc/html/classInotifyEvent.html (revision 7)
+++ tags/inotify-cxx-0.1.0/doc/html/classInotifyEvent.html (nonexistent)
@@ -1,492 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>inotify-cxx: InotifyEvent Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.4 -->
-<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>InotifyEvent Class Reference</h1><!-- doxytag: class="InotifyEvent" -->inotify event 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>
-<p>
-<a href="classInotifyEvent-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="classInotifyEvent.html#a0">InotifyEvent</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyEvent.html#a1">InotifyEvent</a> (const struct inotify_event *pEvt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyEvent.html#a2">~InotifyEvent</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#a2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyEvent.html#a3">GetDescriptor</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the event watch descriptor. <a href="#a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyEvent.html#a4">GetMask</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the event mask. <a href="#a4"></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="classInotifyEvent.html#a5">IsType</a> (uint32_t uType) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks for the event type. <a href="#a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyEvent.html#a6">GetCookie</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the event cookie. <a href="#a6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyEvent.html#a7">GetLength</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the event name length. <a href="#a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInotifyEvent.html#a8">GetName</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the event name. <a href="#a8"></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="classInotifyEvent.html#a9">GetName</a> (std::string &amp;rName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extracts the event name. <a href="#a9"></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="classInotifyEvent.html#a10">GetData</a> (struct inotify_event *pEvt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the event raw data. <a href="#a10"></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="classInotifyEvent.html#a11">GetData</a> (struct inotify_event &amp;rEvt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the event raw data. <a href="#a11"></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="classInotifyEvent.html#a12">DumpTypes</a> (std::string &amp;rStr) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fills the string with all types contained in the event mask. <a href="#a12"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-inotify event class
-<p>
-It holds all information about inotify event and provides access to its particular values.
-<p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a0"></a><!-- doxytag: member="InotifyEvent::InotifyEvent" ref="a0" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">InotifyEvent::InotifyEvent </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructor.
-<p>
-Creates a plain event. </td>
- </tr>
-</table>
-<a class="anchor" name="a1"></a><!-- doxytag: member="InotifyEvent::InotifyEvent" ref="a1" args="(const struct inotify_event *pEvt)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">InotifyEvent::InotifyEvent </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const struct inotify_event *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pEvt</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructor.
-<p>
-Creates an event based on inotify event data. For NULL pointer it works the same way as <a class="el" href="classInotifyEvent.html#a0">InotifyEvent()</a>.<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>pEvt</em>&nbsp;</td><td>event data</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a2"></a><!-- doxytag: member="InotifyEvent::~InotifyEvent" ref="a2" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">InotifyEvent::~InotifyEvent </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Destructor.
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a12"></a><!-- doxytag: member="InotifyEvent::DumpTypes" ref="a12" args="(std::string &amp;rStr) const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void InotifyEvent::DumpTypes </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">std::string &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>rStr</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Fills the string with all types contained in the event mask.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>rStr</em>&nbsp;</td><td>dumped event types</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a6"></a><!-- doxytag: member="InotifyEvent::GetCookie" ref="a6" args="() const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">uint32_t InotifyEvent::GetCookie </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the event cookie.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>event cookie</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a11"></a><!-- doxytag: member="InotifyEvent::GetData" ref="a11" args="(struct inotify_event &amp;rEvt)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void InotifyEvent::GetData </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">struct inotify_event &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>rEvt</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the event raw data.
-<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 data</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a10"></a><!-- doxytag: member="InotifyEvent::GetData" ref="a10" args="(struct inotify_event *pEvt)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void InotifyEvent::GetData </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">struct inotify_event *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pEvt</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the event raw data.
-<p>
-For NULL pointer 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 data</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a3"></a><!-- doxytag: member="InotifyEvent::GetDescriptor" ref="a3" args="() const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">int32_t InotifyEvent::GetDescriptor </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the event watch descriptor.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>watch descriptor</dd></dl>
-<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotifyWatch.html#a2">InotifyWatch::GetDescriptor()</a></dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a7"></a><!-- doxytag: member="InotifyEvent::GetLength" ref="a7" args="() const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">uint32_t InotifyEvent::GetLength </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the event name length.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>event name length</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a4"></a><!-- doxytag: member="InotifyEvent::GetMask" ref="a4" args="() const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">uint32_t InotifyEvent::GetMask </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the event mask.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>event mask</dd></dl>
-<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classInotifyWatch.html#a4">InotifyWatch::GetMask()</a></dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a9"></a><!-- doxytag: member="InotifyEvent::GetName" ref="a9" args="(std::string &amp;rName) const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void InotifyEvent::GetName </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">std::string &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>rName</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Extracts the event name.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>rName</em>&nbsp;</td><td>event name</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a8"></a><!-- doxytag: member="InotifyEvent::GetName" ref="a8" args="() const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">const std::string&amp; InotifyEvent::GetName </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the event name.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>event name</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="a5"></a><!-- doxytag: member="InotifyEvent::IsType" ref="a5" args="(uint32_t uType) const " --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool InotifyEvent::IsType </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">uint32_t&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>uType</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const<code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Checks for the event type.
-<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>uType</em>&nbsp;</td><td>type which is checked for </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>true = event mask contains the given type, false = otherwise</dd></dl>
- </td>
- </tr>
-</table>
-<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 Mon Sep 4 22:30:17 2006 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.4.4 </small></address>
-</body>
-</html>
Index: tags/inotify-cxx-0.1.0/CHANGELOG
===================================================================
--- tags/inotify-cxx-0.1.0/CHANGELOG (revision 7)
+++ tags/inotify-cxx-0.1.0/CHANGELOG (nonexistent)
@@ -1,2 +0,0 @@
-0.1.0 2006-09-04
-first alpha version
Index: tags/inotify-cxx-0.1.0/inotify-cxx.h
===================================================================
--- tags/inotify-cxx-0.1.0/inotify-cxx.h (revision 7)
+++ tags/inotify-cxx-0.1.0/inotify-cxx.h (nonexistent)
@@ -1,406 +0,0 @@
-
-/// inotify C++ interface header
-/**
- * \file inotify-cxx.h
- *
- * inotify C++ interface
- *
- * Copyright (C) 2006 Lukas Jelinek, <lukas@aiken.cz>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of one of the following licenses:
- *
- * \li 1. X11-style license (see LICENSE-X11)
- * \li 2. GNU Lesser General Public License, version 2.1 (see LICENSE-LGPL)
- * \li 3. GNU General Public License, version 2 (see LICENSE-GPL)
- *
- * If you want to help with choosing the best license for you,
- * please visit http://www.gnu.org/licenses/license-list.html.
- *
- */
-
-
-
-
-
-#ifndef _INOTIFYCXX_H_
-#define _INOTIFYCXX_H_
-
-#include <string>
-#include <deque>
-#include <map>
-
-// Please ensure that the following headers take the right place.
-#include <sys/inotify.h>
-#include <sys/inotify-syscalls.h>
-
-/// Event struct size
-#define INOTIFY_EVENT_SIZE (sizeof(struct inotify_event))
-
-/// Event buffer length
-#define INOTIFY_BUFLEN (1024 * (INOTIFY_EVENT_SIZE + 16))
-
-/// inotify event class
-/**
- * It holds all information about inotify event and provides
- * access to its particular values.
- */
-class InotifyEvent
-{
-public:
- /// Constructor.
- /**
- * Creates a plain event.
- */
- InotifyEvent()
- {
- memset(&m_evt, 0, sizeof(m_evt));
- m_evt.wd = (int32_t) -1;
- }
-
- /// Constructor.
- /**
- * Creates an event based on inotify event data.
- * For NULL pointer it works the same way as InotifyEvent().
- *
- * \param[in] pEvt event data
- */
- InotifyEvent(const struct inotify_event* pEvt)
- {
- if (pEvt != NULL) {
- memcpy(&m_evt, pEvt, sizeof(m_evt));
- if (pEvt->name != NULL)
- m_name = pEvt->name;
- }
- else {
- memset(&m_evt, 0, sizeof(m_evt));
- m_evt.wd = (int32_t) -1;
- }
- }
-
- /// Destructor.
- ~InotifyEvent() {}
-
- /// Returns the event watch descriptor.
- /**
- * \return watch descriptor
- *
- * \sa InotifyWatch::GetDescriptor()
- */
- inline int32_t GetDescriptor() const
- {
- return (int32_t) m_evt.wd;
- }
-
- /// Returns the event mask.
- /**
- * \return event mask
- *
- * \sa InotifyWatch::GetMask()
- */
- inline uint32_t GetMask() const
- {
- return (uint32_t) m_evt.mask;
- }
-
- /// Checks for the event type.
- /**
- * \param[in] uType type which is checked for
- * \return true = event mask contains the given type, false = otherwise
- */
- inline bool IsType(uint32_t uType) const
- {
- return (((uint32_t) m_evt.mask) & uType) != 0;
- }
-
- /// Returns the event cookie.
- /**
- * \return event cookie
- */
- inline uint32_t GetCookie() const
- {
- return (uint32_t) m_evt.cookie;
- }
-
- /// Returns the event name length.
- /**
- * \return event name length
- */
- inline uint32_t GetLength() const
- {
- return (uint32_t) m_evt.len;
- }
-
- /// Returns the event name.
- /**
- * \return event name
- */
- inline const std::string& GetName() const
- {
- return m_name;
- }
-
- /// Extracts the event name.
- /**
- * \param[out] rName event name
- */
- inline void GetName(std::string& rName) const
- {
- rName = GetName();
- }
-
- /// Returns the event raw data.
- /**
- * For NULL pointer it does nothing.
- *
- * \param[in,out] pEvt event data
- */
- inline void GetData(struct inotify_event* pEvt)
- {
- if (pEvt != NULL)
- memcpy(pEvt, &m_evt, sizeof(m_evt));
- }
-
- /// Returns the event raw data.
- /**
- * \param[in,out] rEvt event data
- */
- inline void GetData(struct inotify_event& rEvt)
- {
- memcpy(&rEvt, &m_evt, sizeof(m_evt));
- }
-
- /// Fills the string with all types contained in the event mask.
- /**
- * \param[out] rStr dumped event types
- */
- void DumpTypes(std::string& rStr) const;
-
-private:
- struct inotify_event m_evt; ///< event structure
- std::string m_name; ///< event name
-};
-
-
-class Inotify; // forward declaration
-
-
-/// inotify watch class
-class InotifyWatch
-{
-public:
- /// Constructor.
- /**
- * Creates an inotify watch. Because this watch is
- * inactive it has an invalid descriptor (-1).
- *
- * \param[in] rPath watched file path
- * \param[in] uMask mask for events
- */
- InotifyWatch(const std::string& rPath, int32_t uMask)
- {
- m_path = rPath;
- m_uMask = uMask;
- m_wd = (int32_t) -1;
- }
-
- /// Destructor.
- ~InotifyWatch() {}
-
- /// Returns the watch descriptor.
- /**
- * \return watch descriptor; -1 for inactive watch
- */
- inline int32_t GetDescriptor() const
- {
- return m_wd;
- }
-
- /// Returns the watched file path.
- /**
- * \return file path
- */
- inline const std::string& GetPath() const
- {
- return m_path;
- }
-
- /// Returns the watch event mask.
- /**
- * \return event mask
- */
- inline uint32_t GetMask() const
- {
- return (uint32_t) m_uMask;
- }
-
-private:
- friend class Inotify;
-
- std::string m_path; ///< watched file path
- uint32_t m_uMask; ///< event mask
- int32_t m_wd; ///< watch descriptor
-};
-
-
-/// Mapping from watch descriptors to watch objects.
-typedef std::map<int32_t, InotifyWatch*> IN_WATCH_MAP;
-
-
-/// inotify class
-class Inotify
-{
-public:
- /// Constructor.
- /**
- * Creates and initializes an instance of inotify communication
- * object (opens the inotify device).
- */
- Inotify();
-
- /// Destructor.
- /**
- * Calls Close() due for clean-up.
- */
- ~Inotify();
-
- /// Removes all watches and closes the inotify device.
- void Close();
-
- /// Checks whether the inotify is ready.
- /**
- * \return true = initialized properly, false = something failed
- */
- inline bool IsReady() const
- {
- return m_fd != -1;
- }
-
- /// Adds a new watch.
- /**
- * \param[in] pWatch inotify watch
- * \return true = success, false = failure
- */
- bool Add(InotifyWatch* pWatch);
-
- /// Adds a new watch.
- /**
- * \param[in] rWatch inotify watch
- * \return true = success, false = failure
- */
- inline bool Add(InotifyWatch& rWatch)
- {
- return Add(&rWatch);
- }
-
- /// Removes a watch.
- /**
- * If the given watch is not present it does nothing.
- *
- * \param[in] pWatch inotify watch
- */
- void Remove(InotifyWatch* pWatch);
-
- /// Removes a watch.
- /**
- * If the given watch is not present it does nothing.
- *
- * \param[in] rWatch inotify watch
- */
- inline void Remove(InotifyWatch& rWatch)
- {
- Remove(&rWatch);
- }
-
- /// Removes all watches.
- void RemoveAll();
-
- /// Returns the count of watches.
- /**
- * \return count of watches
- */
- inline size_t GetWatchCount() const
- {
- return (size_t) m_watches.size();
- }
-
- /// Waits for inotify events.
- /**
- * It waits until one or more events occur.
- *
- * \param[in] fNoIntr if true it re-calls the system call after a handled signal
- * \return true = event(s) occurred, false = failure
- */
- bool WaitForEvents(bool fNoIntr = false);
-
- /// Returns the count of received and queued events.
- /**
- * This number is related to the events in the queue inside
- * this object, not to the events pending in the kernel.
- *
- * \return count of events
- */
- int GetEventCount();
-
- /// Extracts a queued inotify event.
- /**
- * The extracted event is removed from the queue.
- * If the pointer is NULL it does nothing.
- *
- * \param[in,out] pEvt event object
- * \return true = success, false = failure
- */
- bool GetEvent(InotifyEvent* pEvt);
-
- /// Extracts a queued inotify event.
- /**
- * The extracted event is removed from the queue.
- *
- * \param[in,out] rEvt event object
- * \return true = success, false = failure
- */
- bool GetEvent(InotifyEvent& rEvt)
- {
- return GetEvent(&rEvt);
- }
-
- /// Extracts a queued inotify event (without removing).
- /**
- * The extracted event stays in the queue.
- * If the pointer is NULL it does nothing.
- *
- * \param[in,out] pEvt event object
- * \return true = success, false = failure
- */
- bool PeekEvent(InotifyEvent* pEvt);
-
- /// Extracts a queued inotify event (without removing).
- /**
- * The extracted event stays in the queue.
- *
- * \param[in,out] rEvt event object
- * \return true = success, false = failure
- */
- bool PeekEvent(InotifyEvent& rEvt)
- {
- return PeekEvent(&rEvt);
- }
-
- /// Searches for a watch.
- /**
- * It tries to find a watch by the given descriptor.
- *
- * \param[in] iDescriptor watch descriptor
- * \return found descriptor; NULL if no such watch exists
- */
- InotifyWatch* FindWatch(int iDescriptor);
-
-private:
- int m_fd; ///< file descriptor
- IN_WATCH_MAP m_watches; ///< watches
- unsigned char m_buf[INOTIFY_BUFLEN]; ///< buffer for events
- std::deque<InotifyEvent> m_events; ///< event queue
-};
-
-
-#endif //_INOTIFYCXX_H_
Index: tags/inotify-cxx-0.1.0/COPYING
===================================================================
--- tags/inotify-cxx-0.1.0/COPYING (revision 7)
+++ tags/inotify-cxx-0.1.0/COPYING (nonexistent)
@@ -1,13 +0,0 @@
-inotify C++ interface
-
-Copyright (C) 2006 Lukas Jelinek, <lukas@aiken.cz>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of one of the following licenses:
-
-1. X11 license (see LICENSE-X11)
-2. GNU Lesser General Public License, version 2.1 (see LICENSE-LGPL)
-3. GNU General Public License, version 2 (see LICENSE-GPL)
-
-If you want to help with choosing the best license for you,
-please visit http://www.gnu.org/licenses/license-list.html.
Index: tags/inotify-cxx-0.1.0/LICENSE-X11
===================================================================
--- tags/inotify-cxx-0.1.0/LICENSE-X11 (revision 7)
+++ tags/inotify-cxx-0.1.0/LICENSE-X11 (nonexistent)
@@ -1,25 +0,0 @@
-Copyright (C) 1996 X Consortium
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to permit
-persons to whom the Software is furnished to do so, subject to the
-following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of the X Consortium shall
-not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization from
-the X Consortium.
Index: tags/inotify-cxx-0.1.0/README
===================================================================
--- tags/inotify-cxx-0.1.0/README (revision 7)
+++ tags/inotify-cxx-0.1.0/README (nonexistent)
@@ -1,63 +0,0 @@
-
-inotify C++ interface
-
-(c) Lukas Jelinek, 2006
-
-1. About
-2. Requirements
-3. How to use
-4. Bugs, suggestions
-5. Licensing
-6. Documentation
-
-
-========================================================================
-
-
-1. About
-This program is the inotify C++ interface. It is designed for easy use
-of Linux inotify technology in C++ applications. You need not to deal
-with file descriptors and such uncomfortable things. Instead you can
-use a few simple C++ classes.
-
-
-2. Requirements
-* Linux kernel 2.6.13 or later (with inotify compiled in)
-* inotify headers (inotify.h, inotify-syscalls.h) installed in
- <INCLUDE_DIR>/sys. The most common place is /usr/include/sys.
-* GCC 4.x compiler (probably works also with GCC 3.4, possibly with
- older versions too)
-
-
-3. How to use
-Include inotify-cxx.h into your sources and add inotify-cxx.cpp for
-compiling (e.g. through your makefile).
-
-If you have installed it into your system-wide include dir (e.g.
-/usr/include), use #include <inotify-cxx.h> or similar.
-Otherwise use #include "inotify-cxx.h".
-
-
-4. Bugs, suggestions
-THIS PROGRAM IS AN ALPHA VERSION. IT PROBABLY CONTAINS BUGS AND
-THEREFORE IT IS NOT INTENDED FOR PRODUCTION USE.
-
-If you find a bug or have a suggestion how to improve the program,
-please use the bug tracking system at http://bts.aiken.cz.
-
-
-5. Licensing
-This program is free software; you can redistribute it and/or
-modify it under the terms of one of the following licenses:
-
-1. X11 license (see LICENSE-X11)
-2. GNU Lesser General Public License, version 2.1 (see LICENSE-LGPL)
-3. GNU General Public License, version 2 (see LICENSE-GPL)
-
-If you want to help with choosing the best license for you,
-please visit http://www.gnu.org/licenses/license-list.html.
-
-
-6. Documentation
-The API reference documentation is present in the HTML and man format.
-It was generated using the doxygen program.
Index: tags/inotify-cxx-0.1.0/LICENSE-LGPL
===================================================================
--- tags/inotify-cxx-0.1.0/LICENSE-LGPL (revision 7)
+++ tags/inotify-cxx-0.1.0/LICENSE-LGPL (nonexistent)
@@ -1,504 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
Index: tags/inotify-cxx-0.1.0/LICENSE-GPL
===================================================================
--- tags/inotify-cxx-0.1.0/LICENSE-GPL (revision 7)
+++ tags/inotify-cxx-0.1.0/LICENSE-GPL (nonexistent)
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
Index: tags/inotify-cxx-0.1.0/inotify-cxx.cpp
===================================================================
--- tags/inotify-cxx-0.1.0/inotify-cxx.cpp (revision 7)
+++ tags/inotify-cxx-0.1.0/inotify-cxx.cpp (nonexistent)
@@ -1,222 +0,0 @@
-
-/// inotify C++ interface implementation
-/**
- * \file inotify-cxx.cpp
- *
- * inotify C++ interface
- *
- * Copyright (C) 2006 Lukas Jelinek <lukas@aiken.cz>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of one of the following licenses:
- *
- * \li 1. X11-style license (see LICENSE-X11)
- * \li 2. GNU Lesser General Public License, version 2.1 (see LICENSE-LGPL)
- * \li 3. GNU General Public License, version 2 (see LICENSE-GPL)
- *
- * If you want to help with choosing the best license for you,
- * please visit http://www.gnu.org/licenses/license-list.html.
- *
- */
-
-
-#include <errno.h>
-#include <unistd.h>
-
-#include "inotify-cxx.h"
-
-#define DUMP_SEP \
- ({ \
- if (!rStr.empty()) { \
- rStr.append(" "); \
- } \
- })
-
-
-void InotifyEvent::DumpTypes(std::string& rStr) const
-{
- rStr = "";
-
- if (IsType(IN_ACCESS)) {
- rStr.append("IN_ACCESS");
- }
- if (IsType(IN_MODIFY)) {
- DUMP_SEP;
- rStr.append("IN_MODIFY");
- }
- if (IsType(IN_ATTRIB)) {
- DUMP_SEP;
- rStr.append("IN_ATTRIB");
- }
- if (IsType(IN_CLOSE_WRITE)) {
- DUMP_SEP;
- rStr.append("IN_CLOSE_WRITE");
- }
- if (IsType(IN_CLOSE_NOWRITE)) {
- DUMP_SEP;
- rStr.append("IN_CLOSE_NOWRITE");
- }
- if (IsType(IN_OPEN)) {
- DUMP_SEP;
- rStr.append("IN_OPEN");
- }
- if (IsType(IN_MOVED_FROM)) {
- DUMP_SEP;
- rStr.append("IN_MOVED_FROM");
- }
- if (IsType(IN_MOVED_TO)) {
- DUMP_SEP;
- rStr.append("IN_MOVED_TO");
- }
- if (IsType(IN_CREATE)) {
- DUMP_SEP;
- rStr.append("IN_CREATE");
- }
- if (IsType(IN_DELETE)) {
- DUMP_SEP;
- rStr.append("IN_DELETE");
- }
- if (IsType(IN_DELETE_SELF)) {
- DUMP_SEP;
- rStr.append("IN_DELETE_SELF");
- }
- if (IsType(IN_UNMOUNT)) {
- DUMP_SEP;
- rStr.append("IN_UNMOUNT");
- }
- if (IsType(IN_Q_OVERFLOW)) {
- DUMP_SEP;
- rStr.append("IN_Q_OVERFLOW");
- }
- if (IsType(IN_IGNORED)) {
- DUMP_SEP;
- rStr.append("IN_IGNORED");
- }
- if (IsType(IN_CLOSE)) {
- DUMP_SEP;
- rStr.append("IN_CLOSE");
- }
- if (IsType(IN_MOVE)) {
- DUMP_SEP;
- rStr.append("IN_MOVE");
- }
- if (IsType(IN_ISDIR)) {
- DUMP_SEP;
- rStr.append("IN_ISDIR");
- }
- if (IsType(IN_ONESHOT)) {
- DUMP_SEP;
- rStr.append("IN_ONESHOT");
- }
-}
-
-
-Inotify::Inotify()
-{
- m_fd = inotify_init();
-}
-
-Inotify::~Inotify()
-{
- Close();
-}
-
-void Inotify::Close()
-{
- if (m_fd != -1) {
- RemoveAll();
- close(m_fd);
- m_fd = -1;
- }
-}
-
-bool Inotify::Add(InotifyWatch* pWatch)
-{
- if (m_fd == -1)
- return false;
-
- pWatch->m_wd = inotify_add_watch(m_fd, pWatch->GetPath().c_str(), pWatch->GetMask());
- if (pWatch->m_wd != -1) {
- m_watches.insert(IN_WATCH_MAP::value_type(pWatch->m_wd, pWatch));
- return true;
- }
-
- return false;
-}
-
-void Inotify::Remove(InotifyWatch* pWatch)
-{
- if (m_fd == -1)
- return;
-
- if (inotify_rm_watch(m_fd, pWatch->GetMask()) != -1) {
- m_watches.erase(pWatch->m_wd);
- pWatch->m_wd = -1;
- }
-}
-
-void Inotify::RemoveAll()
-{
- IN_WATCH_MAP::iterator it = m_watches.begin();
- while (it != m_watches.end()) {
- inotify_rm_watch(m_fd, (*it).second->GetMask());
- it++;
- }
-
- m_watches.clear();
-}
-
-bool Inotify::WaitForEvents(bool fNoIntr)
-{
- ssize_t len = 0;
-
- do {
- len = read(m_fd, m_buf, INOTIFY_BUFLEN);
- } while (fNoIntr && len == -1 && errno == EINTR);
-
- if (len <= 0) {
- return false;
- }
-
- ssize_t i = 0;
- while (i < len) {
- InotifyEvent evt((struct inotify_event *) &m_buf[i]);
- m_events.push_back(evt);
- i += INOTIFY_EVENT_SIZE + (int) evt.GetLength();
- }
-
- return true;
-}
-
-int Inotify::GetEventCount()
-{
- return m_events.size();
-}
-
-bool Inotify::GetEvent(InotifyEvent* pEvt)
-{
- bool b = PeekEvent(pEvt);
- if (b)
- m_events.pop_front();
- return b;
-}
-
-bool Inotify::PeekEvent(InotifyEvent* pEvt)
-{
- if (pEvt == NULL || m_events.empty())
- return false;
-
- *pEvt = m_events.front();
-
- return true;
-}
-
-InotifyWatch* Inotify::FindWatch(int iDescriptor)
-{
- IN_WATCH_MAP::iterator it = m_watches.find(iDescriptor);
- if (it == m_watches.end())
- return NULL;
-
- return (*it).second;
-}
-