summaryrefslogtreecommitdiff
path: root/shared/inotify/doc/html/inotify-cxx_8h-source.html
diff options
context:
space:
mode:
Diffstat (limited to 'shared/inotify/doc/html/inotify-cxx_8h-source.html')
-rw-r--r--shared/inotify/doc/html/inotify-cxx_8h-source.html505
1 files changed, 505 insertions, 0 deletions
diff --git a/shared/inotify/doc/html/inotify-cxx_8h-source.html b/shared/inotify/doc/html/inotify-cxx_8h-source.html
new file mode 100644
index 00000000..5500b217
--- /dev/null
+++ b/shared/inotify/doc/html/inotify-cxx_8h-source.html
@@ -0,0 +1,505 @@
+<!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-cxx.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.1 -->
+<div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li id="current"><a href="files.html"><span>Files</span></a></li>
+ </ul></div>
+<div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul></div>
+<h1>inotify-cxx.h</h1><a href="inotify-cxx_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
+<a name="l00003"></a>00003
+<a name="l00026"></a>00026 <span class="preprocessor">#ifndef _INOTIFYCXX_H_</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define _INOTIFYCXX_H_</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;stdint.h&gt;</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;string&gt;</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;deque&gt;</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;map&gt;</span>
+<a name="l00033"></a>00033
+<a name="l00034"></a>00034 <span class="comment">// Please ensure that the following headers take the right place</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;sys/syscall.h&gt;</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;sys/inotify.h&gt;</span>
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="comment">// Use this if syscalls not defined</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#ifndef __NR_inotify_init</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/inotify-syscalls.h&gt;</span>
+<a name="l00041"></a>00041 <span class="preprocessor">#endif // __NR_inotify_init</span>
+<a name="l00042"></a>00042 <span class="preprocessor"></span>
+<a name="l00044"></a><a class="code" href="inotify-cxx_8h.html#f64b4cc985ba26f31a9cb242153a5014">00044</a> <span class="preprocessor">#define INOTIFY_EVENT_SIZE (sizeof(struct inotify_event))</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span>
+<a name="l00047"></a><a class="code" href="inotify-cxx_8h.html#a84911f8e42d71161b60d4a28940abb4">00047</a> <span class="preprocessor">#define INOTIFY_BUFLEN (1024 * (INOTIFY_EVENT_SIZE + 16))</span>
+<a name="l00048"></a>00048 <span class="preprocessor"></span>
+<a name="l00050"></a>00050
+<a name="l00053"></a><a class="code" href="inotify-cxx_8h.html#fe6b93f7e09db7022f1f9dd102932e12">00053</a> <span class="preprocessor">#define IN_EXC_MSG(msg) (std::string(__PRETTY_FUNCTION__) + ": " + msg)</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span>
+<a name="l00056"></a><a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">00056</a> <span class="keyword">typedef</span> <span class="keyword">enum</span>
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 <a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d18e969c9c44523b38a13b0a207286dd1">IN_MAX_EVENTS</a> = 0,
+<a name="l00059"></a>00059 <a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d43cc45296a9afe5cb68f568176608dd9">IN_MAX_INSTANCES</a> = 1,
+<a name="l00060"></a><a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d594390780d2bdcec064c00aec1f20429">00060</a> <a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d594390780d2bdcec064c00aec1f20429">IN_MAX_WATCHES</a> = 2
+<a name="l00061"></a>00061 } <a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">InotifyCapability_t</a>;
+<a name="l00062"></a>00062
+<a name="l00064"></a>00064
+<a name="l00082"></a>00082 <span class="preprocessor">#ifdef INOTIFY_THREAD_SAFE</span>
+<a name="l00083"></a>00083 <span class="preprocessor"></span>
+<a name="l00084"></a>00084 <span class="preprocessor">#include &lt;pthread.h&gt;</span>
+<a name="l00085"></a>00085
+<a name="l00086"></a>00086 <span class="preprocessor">#define IN_LOCK_DECL mutable pthread_rwlock_t __m_lock;</span>
+<a name="l00087"></a>00087 <span class="preprocessor"></span>
+<a name="l00088"></a>00088 <span class="preprocessor">#define IN_LOCK_INIT \</span>
+<a name="l00089"></a>00089 <span class="preprocessor"> { \</span>
+<a name="l00090"></a>00090 <span class="preprocessor"> pthread_rwlockattr_t attr; \</span>
+<a name="l00091"></a>00091 <span class="preprocessor"> int res = 0; \</span>
+<a name="l00092"></a>00092 <span class="preprocessor"> if ((res = pthread_rwlockattr_init(&amp;attr)) != 0) \</span>
+<a name="l00093"></a>00093 <span class="preprocessor"> throw InotifyException(IN_EXC_MSG("cannot initialize lock attributes"), res, this); \</span>
+<a name="l00094"></a>00094 <span class="preprocessor"> if ((res = pthread_rwlockattr_setkind_np(&amp;attr, PTHREAD_RWLOCK_PREFER_WRITER_NP)) != 0) \</span>
+<a name="l00095"></a>00095 <span class="preprocessor"> throw InotifyException(IN_EXC_MSG("cannot set lock kind"), res, this); \</span>
+<a name="l00096"></a>00096 <span class="preprocessor"> if ((res = pthread_rwlock_init(&amp;__m_lock, &amp;attr)) != 0) \</span>
+<a name="l00097"></a>00097 <span class="preprocessor"> throw InotifyException(IN_EXC_MSG("cannot initialize lock"), res, this); \</span>
+<a name="l00098"></a>00098 <span class="preprocessor"> pthread_rwlockattr_destroy(&amp;attr); \</span>
+<a name="l00099"></a>00099 <span class="preprocessor"> }</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span>
+<a name="l00101"></a>00101 <span class="preprocessor">#define IN_LOCK_DONE pthread_rwlock_destroy(&amp;__m_lock);</span>
+<a name="l00102"></a>00102 <span class="preprocessor"></span>
+<a name="l00103"></a>00103 <span class="preprocessor">#define IN_READ_BEGIN \</span>
+<a name="l00104"></a>00104 <span class="preprocessor"> { \</span>
+<a name="l00105"></a>00105 <span class="preprocessor"> int res = pthread_rwlock_rdlock(&amp;__m_lock); \</span>
+<a name="l00106"></a>00106 <span class="preprocessor"> if (res != 0) \</span>
+<a name="l00107"></a>00107 <span class="preprocessor"> throw InotifyException(IN_EXC_MSG("locking for reading failed"), res, (void*) this); \</span>
+<a name="l00108"></a>00108 <span class="preprocessor"> }</span>
+<a name="l00109"></a>00109 <span class="preprocessor"></span>
+<a name="l00110"></a>00110 <span class="preprocessor">#define IN_READ_END \</span>
+<a name="l00111"></a>00111 <span class="preprocessor"> { \</span>
+<a name="l00112"></a>00112 <span class="preprocessor"> int res = pthread_rwlock_unlock(&amp;__m_lock); \</span>
+<a name="l00113"></a>00113 <span class="preprocessor"> if (res != 0) \</span>
+<a name="l00114"></a>00114 <span class="preprocessor"> throw InotifyException(IN_EXC_MSG("unlocking failed"), res, (void*) this); \</span>
+<a name="l00115"></a>00115 <span class="preprocessor"> }</span>
+<a name="l00116"></a>00116 <span class="preprocessor"></span>
+<a name="l00117"></a>00117 <span class="preprocessor">#define IN_READ_END_NOTHROW pthread_rwlock_unlock(&amp;__m_lock);</span>
+<a name="l00118"></a>00118 <span class="preprocessor"></span>
+<a name="l00119"></a>00119 <span class="preprocessor">#define IN_WRITE_BEGIN \</span>
+<a name="l00120"></a>00120 <span class="preprocessor"> { \</span>
+<a name="l00121"></a>00121 <span class="preprocessor"> int res = pthread_rwlock_wrlock(&amp;__m_lock); \</span>
+<a name="l00122"></a>00122 <span class="preprocessor"> if (res != 0) \</span>
+<a name="l00123"></a>00123 <span class="preprocessor"> throw InotifyException(IN_EXC_MSG("locking for writing failed"), res, (void*) this); \</span>
+<a name="l00124"></a>00124 <span class="preprocessor"> }</span>
+<a name="l00125"></a>00125 <span class="preprocessor"></span>
+<a name="l00126"></a>00126 <span class="preprocessor">#define IN_WRITE_END IN_READ_END</span>
+<a name="l00127"></a>00127 <span class="preprocessor"></span><span class="preprocessor">#define IN_WRITE_END_NOTHROW IN_READ_END_NOTHROW</span>
+<a name="l00128"></a>00128 <span class="preprocessor"></span>
+<a name="l00129"></a>00129 <span class="preprocessor">#else // INOTIFY_THREAD_SAFE</span>
+<a name="l00130"></a>00130 <span class="preprocessor"></span>
+<a name="l00131"></a><a class="code" href="inotify-cxx_8h.html#904d25c0fd931e1bad4f9d5cd346a766">00131</a> <span class="preprocessor">#define IN_LOCK_DECL</span>
+<a name="l00132"></a><a class="code" href="inotify-cxx_8h.html#981aa546075fba39715fd2f63a41f575">00132</a> <span class="preprocessor"></span><span class="preprocessor">#define IN_LOCK_INIT</span>
+<a name="l00133"></a><a class="code" href="inotify-cxx_8h.html#08422ec66fb587c1684afbaa575a53dd">00133</a> <span class="preprocessor"></span><span class="preprocessor">#define IN_LOCK_DONE</span>
+<a name="l00134"></a><a class="code" href="inotify-cxx_8h.html#963a97dc42487e86715b4e04639b0db8">00134</a> <span class="preprocessor"></span><span class="preprocessor">#define IN_READ_BEGIN</span>
+<a name="l00135"></a><a class="code" href="inotify-cxx_8h.html#0b82080ab6709175341b97e1f3c3955d">00135</a> <span class="preprocessor"></span><span class="preprocessor">#define IN_READ_END</span>
+<a name="l00136"></a><a class="code" href="inotify-cxx_8h.html#5c6a5be1898ef17662795cc4b420c851">00136</a> <span class="preprocessor"></span><span class="preprocessor">#define IN_READ_END_NOTHROW</span>
+<a name="l00137"></a><a class="code" href="inotify-cxx_8h.html#c3a6d87ace9403f7ac58f931bbcd9599">00137</a> <span class="preprocessor"></span><span class="preprocessor">#define IN_WRITE_BEGIN</span>
+<a name="l00138"></a><a class="code" href="inotify-cxx_8h.html#f8aeac51b3b4ef56f1791c5c1a2e9cf5">00138</a> <span class="preprocessor"></span><span class="preprocessor">#define IN_WRITE_END</span>
+<a name="l00139"></a><a class="code" href="inotify-cxx_8h.html#7e68c4884137939c5e3301f40c198dc7">00139</a> <span class="preprocessor"></span><span class="preprocessor">#define IN_WRITE_END_NOTHROW</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span>
+<a name="l00141"></a>00141 <span class="preprocessor">#endif // INOTIFY_THREAD_SAFE</span>
+<a name="l00142"></a>00142 <span class="preprocessor"></span>
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145
+<a name="l00146"></a>00146 <span class="comment">// forward declaration</span>
+<a name="l00147"></a>00147 <span class="keyword">class </span><a class="code" href="classInotifyWatch.html">InotifyWatch</a>;
+<a name="l00148"></a>00148 <span class="keyword">class </span><a class="code" href="classInotify.html">Inotify</a>;
+<a name="l00149"></a>00149
+<a name="l00150"></a>00150
+<a name="l00152"></a>00152
+<a name="l00160"></a><a class="code" href="classInotifyException.html">00160</a> <span class="keyword">class </span><a class="code" href="classInotifyException.html">InotifyException</a>
+<a name="l00161"></a>00161 {
+<a name="l00162"></a>00162 <span class="keyword">public</span>:
+<a name="l00164"></a>00164
+<a name="l00169"></a><a class="code" href="classInotifyException.html#900dc29e5cfb3ece6c1651d04773b2bb">00169</a> <a class="code" href="classInotifyException.html#900dc29e5cfb3ece6c1651d04773b2bb">InotifyException</a>(<span class="keyword">const</span> std::string&amp; rMsg = <span class="stringliteral">""</span>, <span class="keywordtype">int</span> iErr = 0, <span class="keywordtype">void</span>* pSrc = NULL)
+<a name="l00170"></a>00170 : <a class="code" href="classInotifyException.html#c113719bd6f4352e12876b2322f1c92c">m_msg</a>(rMsg),
+<a name="l00171"></a>00171 <a class="code" href="classInotifyException.html#aa8a163c661ce70e34b3e3e7ad700854">m_err</a>(iErr)
+<a name="l00172"></a>00172 {
+<a name="l00173"></a>00173 <a class="code" href="classInotifyException.html#dd106c2255890025561245cf91fe1427">m_pSrc</a> = pSrc;
+<a name="l00174"></a>00174 }
+<a name="l00175"></a>00175
+<a name="l00177"></a>00177
+<a name="l00180"></a><a class="code" href="classInotifyException.html#1c19a6c919c76332c95970ce7983d016">00180</a> <span class="keyword">inline</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classInotifyException.html#1c19a6c919c76332c95970ce7983d016">GetMessage</a>()<span class="keyword"> const</span>
+<a name="l00181"></a>00181 <span class="keyword"> </span>{
+<a name="l00182"></a>00182 <span class="keywordflow">return</span> <a class="code" href="classInotifyException.html#c113719bd6f4352e12876b2322f1c92c">m_msg</a>;
+<a name="l00183"></a>00183 }
+<a name="l00184"></a>00184
+<a name="l00186"></a>00186
+<a name="l00191"></a><a class="code" href="classInotifyException.html#3fda7827f1561f610e40bcd217bdc6fe">00191</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classInotifyException.html#3fda7827f1561f610e40bcd217bdc6fe">GetErrorNumber</a>()<span class="keyword"> const</span>
+<a name="l00192"></a>00192 <span class="keyword"> </span>{
+<a name="l00193"></a>00193 <span class="keywordflow">return</span> <a class="code" href="classInotifyException.html#aa8a163c661ce70e34b3e3e7ad700854">m_err</a>;
+<a name="l00194"></a>00194 }
+<a name="l00195"></a>00195
+<a name="l00197"></a>00197
+<a name="l00200"></a><a class="code" href="classInotifyException.html#568200b75da77cc24927922760b3a5d3">00200</a> <span class="keyword">inline</span> <span class="keywordtype">void</span>* <a class="code" href="classInotifyException.html#568200b75da77cc24927922760b3a5d3">GetSource</a>()<span class="keyword"> const</span>
+<a name="l00201"></a>00201 <span class="keyword"> </span>{
+<a name="l00202"></a>00202 <span class="keywordflow">return</span> <a class="code" href="classInotifyException.html#dd106c2255890025561245cf91fe1427">m_pSrc</a>;
+<a name="l00203"></a>00203 }
+<a name="l00204"></a>00204
+<a name="l00205"></a>00205 <span class="keyword">protected</span>:
+<a name="l00206"></a><a class="code" href="classInotifyException.html#c113719bd6f4352e12876b2322f1c92c">00206</a> std::string <a class="code" href="classInotifyException.html#c113719bd6f4352e12876b2322f1c92c">m_msg</a>;
+<a name="l00207"></a><a class="code" href="classInotifyException.html#aa8a163c661ce70e34b3e3e7ad700854">00207</a> <span class="keywordtype">int</span> <a class="code" href="classInotifyException.html#aa8a163c661ce70e34b3e3e7ad700854">m_err</a>;
+<a name="l00208"></a><a class="code" href="classInotifyException.html#dd106c2255890025561245cf91fe1427">00208</a> <span class="keyword">mutable</span> <span class="keywordtype">void</span>* <a class="code" href="classInotifyException.html#dd106c2255890025561245cf91fe1427">m_pSrc</a>;
+<a name="l00209"></a>00209 };
+<a name="l00210"></a>00210
+<a name="l00211"></a>00211
+<a name="l00213"></a>00213
+<a name="l00221"></a><a class="code" href="classInotifyEvent.html">00221</a> <span class="keyword">class </span><a class="code" href="classInotifyEvent.html">InotifyEvent</a>
+<a name="l00222"></a>00222 {
+<a name="l00223"></a>00223 <span class="keyword">public</span>:
+<a name="l00225"></a>00225
+<a name="l00228"></a><a class="code" href="classInotifyEvent.html#f416dbbd4e6ddd3c0eea6cb540f0b046">00228</a> <a class="code" href="classInotifyEvent.html#f416dbbd4e6ddd3c0eea6cb540f0b046">InotifyEvent</a>()
+<a name="l00229"></a>00229 : m_uMask(0),
+<a name="l00230"></a>00230 m_uCookie(0)
+<a name="l00231"></a>00231 {
+<a name="l00232"></a>00232 m_pWatch = NULL;
+<a name="l00233"></a>00233 }
+<a name="l00234"></a>00234
+<a name="l00236"></a>00236
+<a name="l00243"></a><a class="code" href="classInotifyEvent.html#6d7f3fc0f51580da4a3ec2348609df64">00243</a> <a class="code" href="classInotifyEvent.html#f416dbbd4e6ddd3c0eea6cb540f0b046">InotifyEvent</a>(<span class="keyword">const</span> <span class="keyword">struct</span> inotify_event* pEvt, <a class="code" href="classInotifyWatch.html">InotifyWatch</a>* pWatch)
+<a name="l00244"></a>00244 : m_uMask(0),
+<a name="l00245"></a>00245 m_uCookie(0)
+<a name="l00246"></a>00246 {
+<a name="l00247"></a>00247 <span class="keywordflow">if</span> (pEvt != NULL) {
+<a name="l00248"></a>00248 m_uMask = (uint32_t) pEvt-&gt;mask;
+<a name="l00249"></a>00249 m_uCookie = (uint32_t) pEvt-&gt;cookie;
+<a name="l00250"></a>00250 <span class="keywordflow">if</span> (pEvt-&gt;name != NULL) {
+<a name="l00251"></a>00251 m_name = pEvt-&gt;len &gt; 0
+<a name="l00252"></a>00252 ? pEvt-&gt;name
+<a name="l00253"></a>00253 : <span class="stringliteral">""</span>;
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255 m_pWatch = pWatch;
+<a name="l00256"></a>00256 }
+<a name="l00257"></a>00257 <span class="keywordflow">else</span> {
+<a name="l00258"></a>00258 m_pWatch = NULL;
+<a name="l00259"></a>00259 }
+<a name="l00260"></a>00260 }
+<a name="l00261"></a>00261
+<a name="l00263"></a><a class="code" href="classInotifyEvent.html#a48030da1d3a1b1741ca791c9e129888">00263</a> <a class="code" href="classInotifyEvent.html#a48030da1d3a1b1741ca791c9e129888">~InotifyEvent</a>() {}
+<a name="l00264"></a>00264
+<a name="l00266"></a>00266
+<a name="l00271"></a>00271 int32_t <a class="code" href="classInotifyEvent.html#83958af6b634d47173bde81b3bd5bbe6">GetDescriptor</a>() <span class="keyword">const</span>;
+<a name="l00272"></a>00272
+<a name="l00274"></a>00274
+<a name="l00279"></a><a class="code" href="classInotifyEvent.html#2aadeb49530a62b06d98e22c335b1ec8">00279</a> <span class="keyword">inline</span> uint32_t <a class="code" href="classInotifyEvent.html#2aadeb49530a62b06d98e22c335b1ec8">GetMask</a>()<span class="keyword"> const</span>
+<a name="l00280"></a>00280 <span class="keyword"> </span>{
+<a name="l00281"></a>00281 <span class="keywordflow">return</span> m_uMask;
+<a name="l00282"></a>00282 }
+<a name="l00283"></a>00283
+<a name="l00285"></a>00285
+<a name="l00290"></a><a class="code" href="classInotifyEvent.html#309ebf3c5b131522295185a926d551bb">00290</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classInotifyEvent.html#309ebf3c5b131522295185a926d551bb">IsType</a>(uint32_t uValue, uint32_t uType)
+<a name="l00291"></a>00291 {
+<a name="l00292"></a>00292 <span class="keywordflow">return</span> ((uValue &amp; uType) != 0) &amp;&amp; ((~uValue &amp; uType) == 0);
+<a name="l00293"></a>00293 }
+<a name="l00294"></a>00294
+<a name="l00296"></a>00296
+<a name="l00300"></a><a class="code" href="classInotifyEvent.html#7fdee6664ec63ccc87ff1221abba9abc">00300</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classInotifyEvent.html#309ebf3c5b131522295185a926d551bb">IsType</a>(uint32_t uType)<span class="keyword"> const</span>
+<a name="l00301"></a>00301 <span class="keyword"> </span>{
+<a name="l00302"></a>00302 <span class="keywordflow">return</span> <a class="code" href="classInotifyEvent.html#309ebf3c5b131522295185a926d551bb">IsType</a>(m_uMask, uType);
+<a name="l00303"></a>00303 }
+<a name="l00304"></a>00304
+<a name="l00306"></a>00306
+<a name="l00309"></a><a class="code" href="classInotifyEvent.html#441dfd50abda0e81eb7e4f6d33c68e96">00309</a> <span class="keyword">inline</span> uint32_t <a class="code" href="classInotifyEvent.html#441dfd50abda0e81eb7e4f6d33c68e96">GetCookie</a>()<span class="keyword"> const</span>
+<a name="l00310"></a>00310 <span class="keyword"> </span>{
+<a name="l00311"></a>00311 <span class="keywordflow">return</span> m_uCookie;
+<a name="l00312"></a>00312 }
+<a name="l00313"></a>00313
+<a name="l00315"></a>00315
+<a name="l00318"></a><a class="code" href="classInotifyEvent.html#111954d74f0320745a68ef030064e987">00318</a> <span class="keyword">inline</span> uint32_t <a class="code" href="classInotifyEvent.html#111954d74f0320745a68ef030064e987">GetLength</a>()<span class="keyword"> const</span>
+<a name="l00319"></a>00319 <span class="keyword"> </span>{
+<a name="l00320"></a>00320 <span class="keywordflow">return</span> (uint32_t) m_name.length();
+<a name="l00321"></a>00321 }
+<a name="l00322"></a>00322
+<a name="l00324"></a>00324
+<a name="l00327"></a><a class="code" href="classInotifyEvent.html#a0524029d360591567c88595cb31df66">00327</a> <span class="keyword">inline</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classInotifyEvent.html#a0524029d360591567c88595cb31df66">GetName</a>()<span class="keyword"> const</span>
+<a name="l00328"></a>00328 <span class="keyword"> </span>{
+<a name="l00329"></a>00329 <span class="keywordflow">return</span> m_name;
+<a name="l00330"></a>00330 }
+<a name="l00331"></a>00331
+<a name="l00333"></a>00333
+<a name="l00336"></a><a class="code" href="classInotifyEvent.html#e053c52feebf6dae5a762e6baeba93db">00336</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classInotifyEvent.html#a0524029d360591567c88595cb31df66">GetName</a>(std::string&amp; rName)<span class="keyword"> const</span>
+<a name="l00337"></a>00337 <span class="keyword"> </span>{
+<a name="l00338"></a>00338 rName = <a class="code" href="classInotifyEvent.html#a0524029d360591567c88595cb31df66">GetName</a>();
+<a name="l00339"></a>00339 }
+<a name="l00340"></a>00340
+<a name="l00342"></a>00342
+<a name="l00345"></a><a class="code" href="classInotifyEvent.html#979cd46f53ed674331a5a6d47d1cde92">00345</a> <span class="keyword">inline</span> <a class="code" href="classInotifyWatch.html">InotifyWatch</a>* <a class="code" href="classInotifyEvent.html#979cd46f53ed674331a5a6d47d1cde92">GetWatch</a>()
+<a name="l00346"></a>00346 {
+<a name="l00347"></a>00347 <span class="keywordflow">return</span> m_pWatch;
+<a name="l00348"></a>00348 }
+<a name="l00349"></a>00349
+<a name="l00351"></a>00351
+<a name="l00355"></a>00355 <span class="keyword">static</span> uint32_t <a class="code" href="classInotifyEvent.html#eced3a88a6dea190c5df19c2a6599010">GetMaskByName</a>(<span class="keyword">const</span> std::string&amp; rName);
+<a name="l00356"></a>00356
+<a name="l00358"></a>00358
+<a name="l00362"></a>00362 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classInotifyEvent.html#c08a0a26ea33dbe94aaf1ac830c103a5">DumpTypes</a>(uint32_t uValue, std::string&amp; rStr);
+<a name="l00363"></a>00363
+<a name="l00365"></a>00365
+<a name="l00368"></a>00368 <span class="keywordtype">void</span> <a class="code" href="classInotifyEvent.html#c08a0a26ea33dbe94aaf1ac830c103a5">DumpTypes</a>(std::string&amp; rStr) <span class="keyword">const</span>;
+<a name="l00369"></a>00369
+<a name="l00370"></a>00370 <span class="keyword">private</span>:
+<a name="l00371"></a>00371 uint32_t m_uMask;
+<a name="l00372"></a>00372 uint32_t m_uCookie;
+<a name="l00373"></a>00373 std::string m_name;
+<a name="l00374"></a>00374 <a class="code" href="classInotifyWatch.html">InotifyWatch</a>* m_pWatch;
+<a name="l00375"></a>00375 };
+<a name="l00376"></a>00376
+<a name="l00377"></a>00377
+<a name="l00378"></a>00378
+<a name="l00380"></a>00380
+<a name="l00386"></a><a class="code" href="classInotifyWatch.html">00386</a> <span class="keyword">class </span><a class="code" href="classInotifyWatch.html">InotifyWatch</a>
+<a name="l00387"></a>00387 {
+<a name="l00388"></a>00388 <span class="keyword">public</span>:
+<a name="l00390"></a>00390
+<a name="l00398"></a><a class="code" href="classInotifyWatch.html#c9c02f1dbd143eebd711eba03ac366e9">00398</a> <a class="code" href="classInotifyWatch.html#c9c02f1dbd143eebd711eba03ac366e9">InotifyWatch</a>(<span class="keyword">const</span> std::string&amp; rPath, int32_t uMask, <span class="keywordtype">bool</span> fEnabled = <span class="keyword">true</span>)
+<a name="l00399"></a>00399 : m_path(rPath),
+<a name="l00400"></a>00400 m_uMask(uMask),
+<a name="l00401"></a>00401 m_wd((int32_t) -1),
+<a name="l00402"></a>00402 m_fEnabled(fEnabled)
+<a name="l00403"></a>00403 {
+<a name="l00404"></a>00404 <a class="code" href="inotify-cxx_8h.html#981aa546075fba39715fd2f63a41f575">IN_LOCK_INIT</a>
+<a name="l00405"></a>00405 }
+<a name="l00406"></a>00406
+<a name="l00408"></a><a class="code" href="classInotifyWatch.html#871c16b01aa8841b36246e5b629ecaef">00408</a> <a class="code" href="classInotifyWatch.html#871c16b01aa8841b36246e5b629ecaef">~InotifyWatch</a>()
+<a name="l00409"></a>00409 {
+<a name="l00410"></a>00410 <a class="code" href="inotify-cxx_8h.html#08422ec66fb587c1684afbaa575a53dd">IN_LOCK_DONE</a>
+<a name="l00411"></a>00411 }
+<a name="l00412"></a>00412
+<a name="l00414"></a>00414
+<a name="l00417"></a><a class="code" href="classInotifyWatch.html#df771e1f81e2a6cc2780c9d2470e34c6">00417</a> <span class="keyword">inline</span> int32_t <a class="code" href="classInotifyWatch.html#df771e1f81e2a6cc2780c9d2470e34c6">GetDescriptor</a>()<span class="keyword"> const</span>
+<a name="l00418"></a>00418 <span class="keyword"> </span>{
+<a name="l00419"></a>00419 <span class="keywordflow">return</span> m_wd;
+<a name="l00420"></a>00420 }
+<a name="l00421"></a>00421
+<a name="l00423"></a>00423
+<a name="l00426"></a><a class="code" href="classInotifyWatch.html#89f897a4d98fa54de27730dd8be67966">00426</a> <span class="keyword">inline</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classInotifyWatch.html#89f897a4d98fa54de27730dd8be67966">GetPath</a>()<span class="keyword"> const</span>
+<a name="l00427"></a>00427 <span class="keyword"> </span>{
+<a name="l00428"></a>00428 <span class="keywordflow">return</span> m_path;
+<a name="l00429"></a>00429 }
+<a name="l00430"></a>00430
+<a name="l00432"></a>00432
+<a name="l00435"></a><a class="code" href="classInotifyWatch.html#bab761a989c9fdf73aaad2a58e1ba7a0">00435</a> <span class="keyword">inline</span> uint32_t <a class="code" href="classInotifyWatch.html#bab761a989c9fdf73aaad2a58e1ba7a0">GetMask</a>()<span class="keyword"> const</span>
+<a name="l00436"></a>00436 <span class="keyword"> </span>{
+<a name="l00437"></a>00437 <span class="keywordflow">return</span> (uint32_t) m_uMask;
+<a name="l00438"></a>00438 }
+<a name="l00439"></a>00439
+<a name="l00441"></a>00441
+<a name="l00450"></a>00450 <span class="keywordtype">void</span> <a class="code" href="classInotifyWatch.html#3ad7fbc55c21b3fcd08c2d1d388e14b6">SetMask</a>(uint32_t uMask) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00451"></a>00451
+<a name="l00453"></a>00453
+<a name="l00456"></a><a class="code" href="classInotifyWatch.html#cbf0042d06841f9503405b104e4c35d0">00456</a> <span class="keyword">inline</span> <a class="code" href="classInotify.html">Inotify</a>* <a class="code" href="classInotifyWatch.html#cbf0042d06841f9503405b104e4c35d0">GetInotify</a>()
+<a name="l00457"></a>00457 {
+<a name="l00458"></a>00458 <span class="keywordflow">return</span> m_pInotify;
+<a name="l00459"></a>00459 }
+<a name="l00460"></a>00460
+<a name="l00462"></a>00462
+<a name="l00473"></a>00473 <span class="keywordtype">void</span> <a class="code" href="classInotifyWatch.html#a71aff8650fadff32a3c655ca50945f1">SetEnabled</a>(<span class="keywordtype">bool</span> fEnabled) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00474"></a>00474
+<a name="l00476"></a>00476
+<a name="l00479"></a><a class="code" href="classInotifyWatch.html#3d2a5c58a07449bc6ff192f6c14c4de0">00479</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classInotifyWatch.html#3d2a5c58a07449bc6ff192f6c14c4de0">IsEnabled</a>()<span class="keyword"> const</span>
+<a name="l00480"></a>00480 <span class="keyword"> </span>{
+<a name="l00481"></a>00481 <span class="keywordflow">return</span> m_fEnabled;
+<a name="l00482"></a>00482 }
+<a name="l00483"></a>00483
+<a name="l00485"></a>00485
+<a name="l00494"></a><a class="code" href="classInotifyWatch.html#1c8ab316b54cb7d1d0b17cbbe6b7d2f8">00494</a> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classInotifyWatch.html#1c8ab316b54cb7d1d0b17cbbe6b7d2f8">IsRecursive</a>()<span class="keyword"> const</span>
+<a name="l00495"></a>00495 <span class="keyword"> </span>{
+<a name="l00496"></a>00496 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00497"></a>00497 }
+<a name="l00498"></a>00498
+<a name="l00499"></a>00499 <span class="keyword">private</span>:
+<a name="l00500"></a><a class="code" href="classInotifyWatch.html#94bfb861dc18ca5d16abfcff90db8c86">00500</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classInotify.html">Inotify</a>;
+<a name="l00501"></a>00501
+<a name="l00502"></a>00502 std::string m_path;
+<a name="l00503"></a>00503 uint32_t m_uMask;
+<a name="l00504"></a>00504 int32_t m_wd;
+<a name="l00505"></a>00505 <a class="code" href="classInotify.html">Inotify</a>* m_pInotify;
+<a name="l00506"></a>00506 <span class="keywordtype">bool</span> m_fEnabled;
+<a name="l00507"></a>00507
+<a name="l00508"></a>00508 <a class="code" href="inotify-cxx_8h.html#904d25c0fd931e1bad4f9d5cd346a766">IN_LOCK_DECL</a>
+<a name="l00509"></a>00509
+<a name="l00511"></a>00511
+<a name="l00516"></a>00516 <span class="keywordtype">void</span> __Disable();
+<a name="l00517"></a>00517 };
+<a name="l00518"></a>00518
+<a name="l00519"></a>00519
+<a name="l00521"></a><a class="code" href="inotify-cxx_8h.html#e6b5ebcb4e0d6a9f5ca8da26bc00cc2a">00521</a> <span class="keyword">typedef</span> std::map&lt;int32_t, InotifyWatch*&gt; <a class="code" href="inotify-cxx_8h.html#e6b5ebcb4e0d6a9f5ca8da26bc00cc2a">IN_WATCH_MAP</a>;
+<a name="l00522"></a>00522
+<a name="l00524"></a><a class="code" href="inotify-cxx_8h.html#5dd7761ff5a6b7cc7271950aebb7ddf6">00524</a> <span class="keyword">typedef</span> std::map&lt;std::string, InotifyWatch*&gt; <a class="code" href="inotify-cxx_8h.html#5dd7761ff5a6b7cc7271950aebb7ddf6">IN_WP_MAP</a>;
+<a name="l00525"></a>00525
+<a name="l00526"></a>00526
+<a name="l00528"></a>00528
+<a name="l00534"></a><a class="code" href="classInotify.html">00534</a> <span class="keyword">class </span><a class="code" href="classInotify.html">Inotify</a>
+<a name="l00535"></a>00535 {
+<a name="l00536"></a>00536 <span class="keyword">public</span>:
+<a name="l00538"></a>00538
+<a name="l00544"></a>00544 <a class="code" href="classInotify.html#a6fe6e9cb3343665eb968fcd5170cfb9">Inotify</a>() <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00545"></a>00545
+<a name="l00547"></a>00547
+<a name="l00550"></a>00550 <a class="code" href="classInotify.html#f19dd5e491395673e4798eb9dbf5f682">~Inotify</a>();
+<a name="l00551"></a>00551
+<a name="l00553"></a>00553 <span class="keywordtype">void</span> <a class="code" href="classInotify.html#86ae86c43ea1a72f562ca46393309635">Close</a>();
+<a name="l00554"></a>00554
+<a name="l00556"></a>00556
+<a name="l00561"></a>00561 <span class="keywordtype">void</span> <a class="code" href="classInotify.html#2ef771ebaf982d76ebe19b3f5bc9cd83">Add</a>(<a class="code" href="classInotifyWatch.html">InotifyWatch</a>* pWatch) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00562"></a>00562
+<a name="l00564"></a>00564
+<a name="l00569"></a><a class="code" href="classInotify.html#35dab56d3e10bf28b5e457871adddb58">00569</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classInotify.html#2ef771ebaf982d76ebe19b3f5bc9cd83">Add</a>(<a class="code" href="classInotifyWatch.html">InotifyWatch</a>&amp; rWatch) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>)
+<a name="l00570"></a>00570 {
+<a name="l00571"></a>00571 <a class="code" href="classInotify.html#2ef771ebaf982d76ebe19b3f5bc9cd83">Add</a>(&amp;rWatch);
+<a name="l00572"></a>00572 }
+<a name="l00573"></a>00573
+<a name="l00575"></a>00575
+<a name="l00582"></a>00582 <span class="keywordtype">void</span> <a class="code" href="classInotify.html#21c39bb8e5bbc1941b945c18f9005b84">Remove</a>(<a class="code" href="classInotifyWatch.html">InotifyWatch</a>* pWatch) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00583"></a>00583
+<a name="l00585"></a>00585
+<a name="l00592"></a><a class="code" href="classInotify.html#ac1a52b2ff6bfec07021a44e55d496a6">00592</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classInotify.html#21c39bb8e5bbc1941b945c18f9005b84">Remove</a>(<a class="code" href="classInotifyWatch.html">InotifyWatch</a>&amp; rWatch) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>)
+<a name="l00593"></a>00593 {
+<a name="l00594"></a>00594 <a class="code" href="classInotify.html#21c39bb8e5bbc1941b945c18f9005b84">Remove</a>(&amp;rWatch);
+<a name="l00595"></a>00595 }
+<a name="l00596"></a>00596
+<a name="l00598"></a>00598 <span class="keywordtype">void</span> <a class="code" href="classInotify.html#bc1fd5830ca561efb69bcd2283981741">RemoveAll</a>();
+<a name="l00599"></a>00599
+<a name="l00601"></a>00601
+<a name="l00609"></a><a class="code" href="classInotify.html#b53b7935bda7425b002946d78bfe5863">00609</a> <span class="keyword">inline</span> size_t <a class="code" href="classInotify.html#b53b7935bda7425b002946d78bfe5863">GetWatchCount</a>()<span class="keyword"> const</span>
+<a name="l00610"></a>00610 <span class="keyword"> </span>{
+<a name="l00611"></a>00611 <a class="code" href="inotify-cxx_8h.html#963a97dc42487e86715b4e04639b0db8">IN_READ_BEGIN</a>
+<a name="l00612"></a>00612 size_t n = (size_t) m_paths.size();
+<a name="l00613"></a>00613 <a class="code" href="inotify-cxx_8h.html#0b82080ab6709175341b97e1f3c3955d">IN_READ_END</a>
+<a name="l00614"></a>00614 <span class="keywordflow">return</span> n;
+<a name="l00615"></a>00615 }
+<a name="l00616"></a>00616
+<a name="l00618"></a>00618
+<a name="l00623"></a><a class="code" href="classInotify.html#9bf5f7716649d5b5f468c2242fb5e099">00623</a> <span class="keyword">inline</span> size_t <a class="code" href="classInotify.html#9bf5f7716649d5b5f468c2242fb5e099">GetEnabledCount</a>()<span class="keyword"> const</span>
+<a name="l00624"></a>00624 <span class="keyword"> </span>{
+<a name="l00625"></a>00625 <a class="code" href="inotify-cxx_8h.html#963a97dc42487e86715b4e04639b0db8">IN_READ_BEGIN</a>
+<a name="l00626"></a>00626 size_t n = (size_t) m_watches.size();
+<a name="l00627"></a>00627 <a class="code" href="inotify-cxx_8h.html#0b82080ab6709175341b97e1f3c3955d">IN_READ_END</a>
+<a name="l00628"></a>00628 <span class="keywordflow">return</span> n;
+<a name="l00629"></a>00629 }
+<a name="l00630"></a>00630
+<a name="l00632"></a>00632
+<a name="l00643"></a>00643 <span class="keywordtype">void</span> <a class="code" href="classInotify.html#139c27c6643bb199619f3eae9b32e53b">WaitForEvents</a>(<span class="keywordtype">bool</span> fNoIntr = <span class="keyword">false</span>) throw (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00644"></a>00644
+<a name="l00646"></a>00646
+<a name="l00652"></a><a class="code" href="classInotify.html#a3c533f956871f904949832ac8f5fbde">00652</a> inline size_t <a class="code" href="classInotify.html#a3c533f956871f904949832ac8f5fbde">GetEventCount</a>()
+<a name="l00653"></a>00653 {
+<a name="l00654"></a>00654 <a class="code" href="inotify-cxx_8h.html#963a97dc42487e86715b4e04639b0db8">IN_READ_BEGIN</a>
+<a name="l00655"></a>00655 size_t n = (size_t) m_events.size();
+<a name="l00656"></a>00656 <a class="code" href="inotify-cxx_8h.html#0b82080ab6709175341b97e1f3c3955d">IN_READ_END</a>
+<a name="l00657"></a>00657 <span class="keywordflow">return</span> n;
+<a name="l00658"></a>00658 }
+<a name="l00659"></a>00659
+<a name="l00661"></a>00661
+<a name="l00669"></a>00669 <span class="keywordtype">bool</span> <a class="code" href="classInotify.html#490a3f824c6d041d31ccaabe9bd92008">GetEvent</a>(<a class="code" href="classInotifyEvent.html">InotifyEvent</a>* pEvt) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00670"></a>00670
+<a name="l00672"></a>00672
+<a name="l00679"></a><a class="code" href="classInotify.html#b028c8fa988f6bbb2ef773db3ea3a2d3">00679</a> <span class="keywordtype">bool</span> <a class="code" href="classInotify.html#490a3f824c6d041d31ccaabe9bd92008">GetEvent</a>(<a class="code" href="classInotifyEvent.html">InotifyEvent</a>&amp; rEvt) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>)
+<a name="l00680"></a>00680 {
+<a name="l00681"></a>00681 <span class="keywordflow">return</span> <a class="code" href="classInotify.html#490a3f824c6d041d31ccaabe9bd92008">GetEvent</a>(&amp;rEvt);
+<a name="l00682"></a>00682 }
+<a name="l00683"></a>00683
+<a name="l00685"></a>00685
+<a name="l00693"></a>00693 <span class="keywordtype">bool</span> <a class="code" href="classInotify.html#19cde43d082ff92bd02654610019300d">PeekEvent</a>(<a class="code" href="classInotifyEvent.html">InotifyEvent</a>* pEvt) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00694"></a>00694
+<a name="l00696"></a>00696
+<a name="l00703"></a><a class="code" href="classInotify.html#287dc0d238fa6edc3269441cb284f979">00703</a> <span class="keywordtype">bool</span> <a class="code" href="classInotify.html#19cde43d082ff92bd02654610019300d">PeekEvent</a>(<a class="code" href="classInotifyEvent.html">InotifyEvent</a>&amp; rEvt) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>)
+<a name="l00704"></a>00704 {
+<a name="l00705"></a>00705 <span class="keywordflow">return</span> <a class="code" href="classInotify.html#19cde43d082ff92bd02654610019300d">PeekEvent</a>(&amp;rEvt);
+<a name="l00706"></a>00706 }
+<a name="l00707"></a>00707
+<a name="l00709"></a>00709
+<a name="l00715"></a>00715 <a class="code" href="classInotifyWatch.html">InotifyWatch</a>* <a class="code" href="classInotify.html#182d19b667c9e0899802b70a579eff40">FindWatch</a>(<span class="keywordtype">int</span> iDescriptor);
+<a name="l00716"></a>00716
+<a name="l00718"></a>00718
+<a name="l00728"></a>00728 <a class="code" href="classInotifyWatch.html">InotifyWatch</a>* <a class="code" href="classInotify.html#182d19b667c9e0899802b70a579eff40">FindWatch</a>(<span class="keyword">const</span> std::string&amp; rPath);
+<a name="l00729"></a>00729
+<a name="l00731"></a>00731
+<a name="l00739"></a><a class="code" href="classInotify.html#678271faf4799840ad71805163a24b13">00739</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="classInotify.html#678271faf4799840ad71805163a24b13">GetDescriptor</a>()<span class="keyword"> const</span>
+<a name="l00740"></a>00740 <span class="keyword"> </span>{
+<a name="l00741"></a>00741 <span class="keywordflow">return</span> m_fd;
+<a name="l00742"></a>00742 }
+<a name="l00743"></a>00743
+<a name="l00745"></a>00745
+<a name="l00758"></a>00758 <span class="keywordtype">void</span> <a class="code" href="classInotify.html#b2c8ab8ad4322fb6f0dae0eae442402b">SetNonBlock</a>(<span class="keywordtype">bool</span> fNonBlock) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00759"></a>00759
+<a name="l00761"></a>00761
+<a name="l00774"></a>00774 <span class="keywordtype">void</span> <a class="code" href="classInotify.html#124dd5816205900af61034d47ae65255">SetCloseOnExec</a>(<span class="keywordtype">bool</span> fClOnEx) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00775"></a>00775
+<a name="l00777"></a>00777
+<a name="l00782"></a>00782 <span class="keyword">static</span> uint32_t <a class="code" href="classInotify.html#70b3b57e8661fbb4c5bc404b86225c3b">GetCapability</a>(<a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">InotifyCapability_t</a> cap) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00783"></a>00783
+<a name="l00785"></a>00785
+<a name="l00793"></a>00793 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classInotify.html#734538233ba2136164f76f4df6c3654e">SetCapability</a>(<a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">InotifyCapability_t</a> cap, uint32_t val) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00794"></a>00794
+<a name="l00796"></a>00796
+<a name="l00800"></a><a class="code" href="classInotify.html#d8e4a4a87d005c71c0b5ea9c6dd53c42">00800</a> <span class="keyword">inline</span> <span class="keyword">static</span> uint32_t <a class="code" href="classInotify.html#d8e4a4a87d005c71c0b5ea9c6dd53c42">GetMaxEvents</a>() throw (<a class="code" href="classInotifyException.html">InotifyException</a>)
+<a name="l00801"></a>00801 {
+<a name="l00802"></a>00802 <span class="keywordflow">return</span> <a class="code" href="classInotify.html#70b3b57e8661fbb4c5bc404b86225c3b">GetCapability</a>(<a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d18e969c9c44523b38a13b0a207286dd1">IN_MAX_EVENTS</a>);
+<a name="l00803"></a>00803 }
+<a name="l00804"></a>00804
+<a name="l00806"></a>00806
+<a name="l00814"></a><a class="code" href="classInotify.html#66d90ebfa516d4bd1463749def2b58f9">00814</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classInotify.html#66d90ebfa516d4bd1463749def2b58f9">SetMaxEvents</a>(uint32_t val) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>)
+<a name="l00815"></a>00815 {
+<a name="l00816"></a>00816 <a class="code" href="classInotify.html#734538233ba2136164f76f4df6c3654e">SetCapability</a>(<a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d18e969c9c44523b38a13b0a207286dd1">IN_MAX_EVENTS</a>, val);
+<a name="l00817"></a>00817 }
+<a name="l00818"></a>00818
+<a name="l00820"></a>00820
+<a name="l00827"></a><a class="code" href="classInotify.html#c18b7732f67832260fbbd47aebb8af51">00827</a> <span class="keyword">inline</span> <span class="keyword">static</span> uint32_t <a class="code" href="classInotify.html#c18b7732f67832260fbbd47aebb8af51">GetMaxInstances</a>() throw (<a class="code" href="classInotifyException.html">InotifyException</a>)
+<a name="l00828"></a>00828 {
+<a name="l00829"></a>00829 <span class="keywordflow">return</span> <a class="code" href="classInotify.html#70b3b57e8661fbb4c5bc404b86225c3b">GetCapability</a>(<a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d43cc45296a9afe5cb68f568176608dd9">IN_MAX_INSTANCES</a>);
+<a name="l00830"></a>00830 }
+<a name="l00831"></a>00831
+<a name="l00833"></a>00833
+<a name="l00841"></a><a class="code" href="classInotify.html#620c891962fe5acd26485c64e9b28d19">00841</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classInotify.html#620c891962fe5acd26485c64e9b28d19">SetMaxInstances</a>(uint32_t val) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>)
+<a name="l00842"></a>00842 {
+<a name="l00843"></a>00843 <a class="code" href="classInotify.html#734538233ba2136164f76f4df6c3654e">SetCapability</a>(<a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d43cc45296a9afe5cb68f568176608dd9">IN_MAX_INSTANCES</a>, val);
+<a name="l00844"></a>00844 }
+<a name="l00845"></a>00845
+<a name="l00847"></a>00847
+<a name="l00854"></a><a class="code" href="classInotify.html#86dae1b7a72c0d8fc2a632444a0f2f1f">00854</a> <span class="keyword">inline</span> <span class="keyword">static</span> uint32_t <a class="code" href="classInotify.html#86dae1b7a72c0d8fc2a632444a0f2f1f">GetMaxWatches</a>() throw (<a class="code" href="classInotifyException.html">InotifyException</a>)
+<a name="l00855"></a>00855 {
+<a name="l00856"></a>00856 <span class="keywordflow">return</span> <a class="code" href="classInotify.html#70b3b57e8661fbb4c5bc404b86225c3b">GetCapability</a>(<a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d594390780d2bdcec064c00aec1f20429">IN_MAX_WATCHES</a>);
+<a name="l00857"></a>00857 }
+<a name="l00858"></a>00858
+<a name="l00860"></a>00860
+<a name="l00868"></a><a class="code" href="classInotify.html#5064380cdb4a726ab33f3fa18d15c77a">00868</a> <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classInotify.html#5064380cdb4a726ab33f3fa18d15c77a">SetMaxWatches</a>(uint32_t val) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>)
+<a name="l00869"></a>00869 {
+<a name="l00870"></a>00870 <a class="code" href="classInotify.html#734538233ba2136164f76f4df6c3654e">SetCapability</a>(<a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d594390780d2bdcec064c00aec1f20429">IN_MAX_WATCHES</a>, val);
+<a name="l00871"></a>00871 }
+<a name="l00872"></a>00872
+<a name="l00873"></a>00873 <span class="keyword">private</span>:
+<a name="l00874"></a>00874 <span class="keywordtype">int</span> m_fd;
+<a name="l00875"></a>00875 IN_WATCH_MAP m_watches;
+<a name="l00876"></a>00876 IN_WP_MAP m_paths;
+<a name="l00877"></a>00877 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> m_buf[<a class="code" href="inotify-cxx_8h.html#a84911f8e42d71161b60d4a28940abb4">INOTIFY_BUFLEN</a>];
+<a name="l00878"></a>00878 std::deque&lt;InotifyEvent&gt; m_events;
+<a name="l00879"></a>00879
+<a name="l00880"></a>00880 <a class="code" href="inotify-cxx_8h.html#904d25c0fd931e1bad4f9d5cd346a766">IN_LOCK_DECL</a>
+<a name="l00881"></a>00881
+<a name="l00882"></a><a class="code" href="classInotify.html#10880f490c33acd8bd24664fc7bce4ae">00882</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classInotifyWatch.html">InotifyWatch</a>;
+<a name="l00883"></a>00883
+<a name="l00884"></a>00884 <span class="keyword">static</span> std::string GetCapabilityPath(<a class="code" href="inotify-cxx_8h.html#bccd39d32dd83905178cf42edaae5c4d">InotifyCapability_t</a> cap) <span class="keywordflow">throw</span> (<a class="code" href="classInotifyException.html">InotifyException</a>);
+<a name="l00885"></a>00885 };
+<a name="l00886"></a>00886
+<a name="l00887"></a>00887
+<a name="l00888"></a>00888 <span class="preprocessor">#endif //_INOTIFYCXX_H_</span>
+<a name="l00889"></a>00889 <span class="preprocessor"></span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Apr 18 18:26:40 2007 for inotify-cxx by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
+</body>
+</html>
bgstack15