📄 ipacl_8h-source.html
字号:
00168 );00169 <a name="l00172"></a><a class="code" href="classPIpAccessControlEntry.html#a11">00172</a> <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & <a class="code" href="classPIpAccessControlEntry.html#a11">GetDomain</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPIpAccessControlEntry.html#n0">domain</a>; }00173 <a name="l00176"></a><a class="code" href="classPIpAccessControlEntry.html#a12">00176</a> <span class="keyword">const</span> <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> & <a class="code" href="classPIpAccessControlEntry.html#a12">GetAddress</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPIpAccessControlEntry.html#n1">address</a>; }00177 <a name="l00180"></a><a class="code" href="classPIpAccessControlEntry.html#a13">00180</a> <span class="keyword">const</span> <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> & <a class="code" href="classPIpAccessControlEntry.html#a13">GetMask</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPIpAccessControlEntry.html#n2">mask</a>; }00181 <a name="l00184"></a><a class="code" href="classPIpAccessControlEntry.html#a14">00184</a> BOOL <a class="code" href="classPIpAccessControlEntry.html#a14">IsAllowed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPIpAccessControlEntry.html#n3">allowed</a>; }00185 <a name="l00188"></a><a class="code" href="classPIpAccessControlEntry.html#a15">00188</a> BOOL <a class="code" href="classPIpAccessControlEntry.html#a15">IsHidden</a>() <span class="keyword">const</span> { <span class="keywordflow">return</span> <a class="code" href="classPIpAccessControlEntry.html#n4">hidden</a>; }00189 00190 <span class="keyword">protected</span>:<a name="l00191"></a><a class="code" href="classPIpAccessControlEntry.html#n0">00191</a> <a class="code" href="classPString.html">PString</a> <a class="code" href="classPIpAccessControlEntry.html#n0">domain</a>;<a name="l00192"></a><a class="code" href="classPIpAccessControlEntry.html#n1">00192</a> <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> <a class="code" href="classPIpAccessControlEntry.html#n1">address</a>;<a name="l00193"></a><a class="code" href="classPIpAccessControlEntry.html#n2">00193</a> <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> <a class="code" href="classPIpAccessControlEntry.html#n2">mask</a>;<a name="l00194"></a><a class="code" href="classPIpAccessControlEntry.html#n3">00194</a> BOOL <a class="code" href="classPIpAccessControlEntry.html#n3">allowed</a>;<a name="l00195"></a><a class="code" href="classPIpAccessControlEntry.html#n4">00195</a> BOOL <a class="code" href="classPIpAccessControlEntry.html#n4">hidden</a>;00196 };00197 00198 <a class="code" href="lists_8h.html#a6">PSORTED_LIST</a>(PIpAccessControlList_base, <a class="code" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a>);00199 00200 <a name="l00214"></a><a class="code" href="classPIpAccessControlList.html">00214</a> <span class="keyword">class </span><a class="code" href="classPIpAccessControlList.html">PIpAccessControlList</a> : <span class="keyword">public</span> PIpAccessControlList_base00215 {00216 00217 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPIpAccessControlList.html">PIpAccessControlList</a>, PIpAccessControlList_base)00218 00219 <span class="keyword">public</span>:00222 <a class="code" href="classPIpAccessControlList.html#a0">PIpAccessControlList</a>(00223 BOOL <a class="code" href="classPIpAccessControlList.html#n0">defaultAllowance</a> = TRUE00224 );00225 00240 BOOL <a class="code" href="classPIpAccessControlList.html#a1">LoadHostsAccess</a>(00241 <span class="keyword">const</span> <span class="keywordtype">char</span> * daemonName = NULL <span class="comment">// Name of "daemon" application</span>00242 );00243 00251 BOOL <a class="code" href="classPIpAccessControlList.html#a2">Load</a>(00252 <a class="code" href="classPConfig.html">PConfig</a> & cfg <span class="comment">// Configuration file to load entries from.</span>00253 );00254 00264 BOOL <a class="code" href="classPIpAccessControlList.html#a2">Load</a>(00265 <a class="code" href="classPConfig.html">PConfig</a> & cfg, <span class="comment">// Configuration file to load entries from.</span>00266 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & baseName <span class="comment">// Base name string for each entry in file.</span>00267 );00268 00272 <span class="keywordtype">void</span> <a class="code" href="classPIpAccessControlList.html#a4">Save</a>(00273 <a class="code" href="classPConfig.html">PConfig</a> & cfg <span class="comment">// Configuration file to save entries to.</span>00274 );00275 00281 <span class="keywordtype">void</span> <a class="code" href="classPIpAccessControlList.html#a4">Save</a>(00282 <a class="code" href="classPConfig.html">PConfig</a> & cfg, <span class="comment">// Configuration file to save entries to.</span>00283 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & baseName <span class="comment">// Base name string for each entry in file.</span>00284 );00285 00293 BOOL <a class="code" href="classPIpAccessControlList.html#a6">Add</a>(00294 <a class="code" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a> * entry <span class="comment">// Entry for IP match parameters</span>00295 );00296 BOOL <a class="code" href="classPIpAccessControlList.html#a6">Add</a>(00297 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & description <span class="comment">// Description of the IP match parameters</span>00298 );00299 BOOL <a class="code" href="classPIpAccessControlList.html#a6">Add</a>(00300 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> address, <span class="comment">// IP network address</span>00301 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> mask, <span class="comment">// Mask for IP network</span>00302 BOOL allow <span class="comment">// Flag for if network is allowed or not</span>00303 );00304 00312 BOOL <a class="code" href="classPIpAccessControlList.html#a9">Remove</a>(00313 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & description <span class="comment">// Description of the IP match parameters</span>00314 );00315 BOOL <a class="code" href="classPIpAccessControlList.html#a9">Remove</a>(00316 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> address, <span class="comment">// IP network address</span>00317 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> mask <span class="comment">// Mask for IP network</span>00318 );00319 00320 00327 <span class="keyword">virtual</span> <a class="code" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a> * <a class="code" href="classPIpAccessControlList.html#a11">CreateControlEntry</a>(00328 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & description00329 );00330 00333 <a class="code" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a> * <a class="code" href="classPIpAccessControlList.html#a12">Find</a>(00334 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> address <span class="comment">// IP Address to find</span>00335 ) <span class="keyword">const</span>;00336 00349 BOOL <a class="code" href="classPIpAccessControlList.html#a13">IsAllowed</a>(00350 <a class="code" href="classPTCPSocket.html">PTCPSocket</a> & socket <span class="comment">// Socket to test</span>00351 ) <span class="keyword">const</span>;00352 BOOL <a class="code" href="classPIpAccessControlList.html#a13">IsAllowed</a>(00353 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> address <span class="comment">// IP Address to test</span>00354 ) <span class="keyword">const</span>;00355 00356 <a name="l00359"></a><a class="code" href="classPIpAccessControlList.html#a15">00359</a> BOOL <a class="code" href="classPIpAccessControlList.html#a15">GetDefaultAllowance</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classPIpAccessControlList.html#n0">defaultAllowance</a>; }00360 <a name="l00363"></a><a class="code" href="classPIpAccessControlList.html#a16">00363</a> <span class="keywordtype">void</span> <a class="code" href="classPIpAccessControlList.html#a16">SetDefaultAllowance</a>(BOOL defAllow) { <a class="code" href="classPIpAccessControlList.html#n0">defaultAllowance</a> = defAllow; }00364 00365 <span class="keyword">private</span>:00366 BOOL InternalLoadHostsAccess(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & daemon, <span class="keyword">const</span> <span class="keywordtype">char</span> * file, BOOL allow);00367 BOOL InternalRemoveEntry(<a class="code" href="classPIpAccessControlEntry.html">PIpAccessControlEntry</a> & entry);00368 00369 <span class="keyword">protected</span>:<a name="l00370"></a><a class="code" href="classPIpAccessControlList.html#n0">00370</a> BOOL <a class="code" href="classPIpAccessControlList.html#n0">defaultAllowance</a>;00371 };00372 00373 00374 <span class="preprocessor">#endif // _IPACL_H</span>00375 <span class="preprocessor"></span>00376 00377 <span class="comment">// End of File ///////////////////////////////////////////////////////////////</span></pre></div><hr><address style="align: right;"><small>Generated on Wed Sep 29 22:44:11 2004 for PWLib by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -