📄 pdirect_8h-source.html
字号:
00175 <span class="preprocessor"></span>00176 <span class="preprocessor">#ifdef _WIN32</span>00177 <span class="preprocessor"></span><span class="preprocessor">#define PDIR_SEPARATOR '\\'</span>00178 <span class="preprocessor"></span><span class="keyword">const</span> PINDEX <a class="code" href="pdirect_8h.html#a1">P_MAX_PATH</a> = _MAX_PATH;00179 <span class="keyword">typedef</span> <a class="code" href="classPCaselessString.html">PCaselessString</a> <a class="code" href="classPString.html">PFilePathString</a>;00180 <span class="preprocessor">#else</span><a name="l00181"></a><a class="code" href="pdirect_8h.html#a0">00181</a> <span class="preprocessor"></span><span class="preprocessor">#define PDIR_SEPARATOR '/'</span><a name="l00182"></a><a class="code" href="pdirect_8h.html#a1">00182</a> <span class="preprocessor"></span><span class="preprocessor">#define P_MAX_PATH (_POSIX_PATH_MAX)</span><a name="l00183"></a><a class="code" href="pdirect_8h.html#a2">00183</a> <span class="preprocessor"></span><span class="keyword">typedef</span> <a class="code" href="classPString.html">PString</a> PFilePathString;00184 <span class="preprocessor">#endif</span>00185 <span class="preprocessor"></span>00187 <span class="comment">// File System</span>00188 <a name="l00193"></a><a class="code" href="classPFileInfo.html">00193</a> <span class="keyword">class </span><a class="code" href="classPFileInfo.html">PFileInfo</a> : <span class="keyword">public</span> <a class="code" href="classPObject.html">PObject</a>00194 {00195 <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPFileInfo.html">PFileInfo</a>, <a class="code" href="classPObject.html">PObject</a>);00196 00197 <span class="keyword">public</span>:<a name="l00202"></a><a class="code" href="classPFileInfo.html#s21">00202</a> <span class="keyword">enum</span> <a class="code" href="classPFileInfo.html#s21">FileTypes</a> {00204 <a class="code" href="classPFileInfo.html#s21s0">RegularFile</a> = 1, 00206 <a class="code" href="classPFileInfo.html#s21s1">SymbolicLink</a> = 2, 00208 <a class="code" href="classPFileInfo.html#s21s2">SubDirectory</a> = 4, 00210 <a class="code" href="classPFileInfo.html#s21s3">CharDevice</a> = 8, 00212 <a class="code" href="classPFileInfo.html#s21s4">BlockDevice</a> = 16, 00214 <a class="code" href="classPFileInfo.html#s21s5">Fifo</a> = 32, 00216 <a class="code" href="classPFileInfo.html#s21s6">SocketDevice</a> = 64, 00218 <a class="code" href="classPFileInfo.html#s21s7">UnknownFileType</a> = 256, 00220 <a class="code" href="classPFileInfo.html#s21s8">AllFiles</a> = 0x1ff 00221 };00222 <a name="l00224"></a><a class="code" href="classPFileInfo.html#m0">00224</a> <a class="code" href="classPFileInfo.html#s21">FileTypes</a> <a class="code" href="classPFileInfo.html#m0">type</a>;00225 <a name="l00229"></a><a class="code" href="classPFileInfo.html#m1">00229</a> <a class="code" href="classPTime.html">PTime</a> <a class="code" href="classPFileInfo.html#m1">created</a>;00230 <a name="l00232"></a><a class="code" href="classPFileInfo.html#m2">00232</a> <a class="code" href="classPTime.html">PTime</a> <a class="code" href="classPFileInfo.html#m2">modified</a>;00233 <a name="l00237"></a><a class="code" href="classPFileInfo.html#m3">00237</a> <a class="code" href="classPTime.html">PTime</a> <a class="code" href="classPFileInfo.html#m3">accessed</a>;00238 <a name="l00242"></a><a class="code" href="classPFileInfo.html#m4">00242</a> PUInt64 <a class="code" href="classPFileInfo.html#m4">size</a>;00243 <a name="l00245"></a><a class="code" href="classPFileInfo.html#s22">00245</a> <span class="keyword">enum</span> <a class="code" href="classPFileInfo.html#s22">Permissions</a> {00247 <a class="code" href="classPFileInfo.html#s22s9">WorldExecute</a> = 1, 00249 <a class="code" href="classPFileInfo.html#s22s10">WorldWrite</a> = 2, 00251 <a class="code" href="classPFileInfo.html#s22s11">WorldRead</a> = 4, 00253 <a class="code" href="classPFileInfo.html#s22s12">GroupExecute</a> = 8, 00255 <a class="code" href="classPFileInfo.html#s22s13">GroupWrite</a> = 16, 00257 <a class="code" href="classPFileInfo.html#s22s14">GroupRead</a> = 32, 00259 <a class="code" href="classPFileInfo.html#s22s15">UserExecute</a> = 64, 00261 <a class="code" href="classPFileInfo.html#s22s16">UserWrite</a> = 128, 00263 <a class="code" href="classPFileInfo.html#s22s17">UserRead</a> = 256, 00265 <a class="code" href="classPFileInfo.html#s22s18">AllPermissions</a> = 0x1ff, 00267 <a class="code" href="classPFileInfo.html#s22s19">DefaultPerms</a> = <a class="code" href="classPFileInfo.html#s22s17">UserRead</a>|<a class="code" href="classPFileInfo.html#s22s16">UserWrite</a>|<a class="code" href="classPFileInfo.html#s22s14">GroupRead</a>|<a class="code" href="classPFileInfo.html#s22s11">WorldRead</a>,00269 <a class="code" href="classPFileInfo.html#s22s20">DefaultDirPerms</a> = <a class="code" href="classPFileInfo.html#s22s19">DefaultPerms</a>|<a class="code" href="classPFileInfo.html#s22s15">UserExecute</a>|<a class="code" href="classPFileInfo.html#s22s12">GroupExecute</a>|<a class="code" href="classPFileInfo.html#s22s9">WorldExecute</a>00270 00271 };00272 <a name="l00278"></a><a class="code" href="classPFileInfo.html#m5">00278</a> <span class="keywordtype">int</span> <a class="code" href="classPFileInfo.html#m5">permissions</a>;00279 <a name="l00284"></a><a class="code" href="classPFileInfo.html#m6">00284</a> BOOL <a class="code" href="classPFileInfo.html#m6">hidden</a>;00285 };00286 00287 <a name="l00312"></a><a class="code" href="classPDirectory.html">00312</a> <span class="keyword">class </span><a class="code" href="classPDirectory.html">PDirectory</a> : <span class="keyword">public</span> PFilePathString00313 {00314 <a class="code" href="contain_8h.html#a0">PCONTAINERINFO</a>(<a class="code" href="classPDirectory.html">PDirectory</a>, PFilePathString);00315 00316 <span class="keyword">public</span>:00319 00320 <a class="code" href="classPDirectory.html#z205_0">PDirectory</a>();00321 00326 <a class="code" href="classPDirectory.html#z205_0">PDirectory</a>(00327 <span class="keyword">const</span> <span class="keywordtype">char</span> * cpathname 00328 );00329 00334 <a class="code" href="classPDirectory.html#z205_0">PDirectory</a>(00335 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & pathname 00336 );00337 00340 <a class="code" href="classPDirectory.html">PDirectory</a> & <a class="code" href="classPDirectory.html#z205_3">operator=</a>(00341 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & pathname 00342 );00343 00346 <a class="code" href="classPDirectory.html">PDirectory</a> & <a class="code" href="classPDirectory.html#z205_3">operator=</a>(00347 <span class="keyword">const</span> <span class="keywordtype">char</span> * cpathname 00348 );00350 00360 <a class="code" href="classPDirectory.html">PDirectory</a> <a class="code" href="classPDirectory.html#z207_0">GetParent</a>() <span class="keyword">const</span>;00361 00372 PFilePathString <a class="code" href="classPDirectory.html#z207_1">GetVolume</a>() <span class="keyword">const</span>;00373 00379 BOOL <a class="code" href="classPDirectory.html#z207_2">IsRoot</a>() <span class="keyword">const</span>;00380 00386 <a class="code" href="classPDirectory.html">PDirectory</a> <a class="code" href="classPDirectory.html#z207_3">GetRoot</a>() <span class="keyword">const</span>;00387 00392 <a class="code" href="classPStringArray.html">PStringArray</a> <a class="code" href="classPDirectory.html#z207_4">GetPath</a>() <span class="keyword">const</span>;00393 00400 <a class="code" href="object_8h.html#a2">PINLINE</a> <span class="keyword">static</span> BOOL <a class="code" href="classPDirectory.html#z207_6">IsSeparator</a>(00401 <span class="keywordtype">char</span> ch 00402 );00403 00414 BOOL <a class="code" href="classPDirectory.html#z207_5">GetVolumeSpace</a>(00415 PInt64 & total, 00416 PInt64 & free, 00417 DWORD & clusterSize 00418 ) <span class="keyword">const</span>;00420 00428 BOOL <a class="code" href="classPDirectory.html#z209_0">Exists</a>() <span class="keyword">const</span>;00429 00435 <span class="keyword">static</span> BOOL <a class="code" href="classPDirectory.html#z209_0">Exists</a>(00436 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & path 00437 );00438 00444 BOOL <a class="code" href="classPDirectory.html#z209_1">Change</a>() <span class="keyword">const</span>;00445 00451 <span class="keyword">static</span> BOOL <a class="code" href="classPDirectory.html#z209_1">Change</a>(00452 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & path 00453 );00454 00460 BOOL <a class="code" href="classPDirectory.html#z209_2">Create</a>(00461 <span class="keywordtype">int</span> perm = <a class="code" href="classPFileInfo.html#s22s20">PFileInfo::DefaultDirPerms</a> <span class="comment">// Permission on new directory.</span>00462 ) <span class="keyword">const</span>;00468 <span class="keyword">static</span> BOOL <a class="code" href="classPDirectory.html#z209_2">Create</a>(00469 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & p, 00470 <span class="keywordtype">int</span> perm = <a class="code" href="classPFileInfo.html#s22s20">PFileInfo::DefaultDirPerms</a> 00471 );00472 00478 BOOL <a class="code" href="classPDirectory.html#z209_3">Remove</a>();00479 00485 <span class="keyword">static</span> BOOL <a class="code" href="classPDirectory.html#z209_3">Remove</a>(00486 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & path 00487 );00489 00507 <span class="keyword">virtual</span> BOOL <a class="code" href="classPDirectory.html#z211_0">Open</a>(00508 <span class="keywordtype">int</span> <a class="code" href="classPDirectory.html#n0">scanMask</a> = <a class="code" href="classPFileInfo.html#s21s8">PFileInfo::AllFiles</a> 00509 );00510 00525 <span class="keyword">virtual</span> BOOL <a class="code" href="classPDirectory.html#z211_1">Restart</a>(00526 <span class="keywordtype">int</span> <a class="code" href="classPDirectory.html#n0">scanMask</a> = <a class="code" href="classPFileInfo.html#s21s8">PFileInfo::AllFiles</a> 00527 );00528 00540 BOOL <a class="code" href="classPDirectory.html#z211_2">Next</a>();00541 00543 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPDirectory.html#z211_3">Close</a>();00544 00559 <span class="keyword">virtual</span> PFilePathString <a class="code" href="classPDirectory.html#z211_4">GetEntryName</a>() <span class="keyword">const</span>;00560 00570 <span class="keyword">virtual</span> BOOL <a class="code" href="classPDirectory.html#z211_5">IsSubDir</a>() <span class="keyword">const</span>;00571 00577 <span class="keyword">virtual</span> BOOL <a class="code" href="classPDirectory.html#z211_6">GetInfo</a>(00578 <a class="code" href="classPFileInfo.html">PFileInfo</a> & info 00579 ) <span class="keyword">const</span>;00581 00582 00583 <span class="keyword">protected</span>:00584 <span class="comment">// New functions for class</span>00585 <span class="keywordtype">void</span> <a class="code" href="classPDirectory.html#b0">Construct</a>();<a name="l00586"></a><a class="code" href="classPDirectory.html#b1">00586</a> <span class="keywordtype">void</span> <a class="code" href="classPDirectory.html#b1">Destruct</a>()00587 { <a class="code" href="classPDirectory.html#z211_3">Close</a>(); PFilePathString::Destruct(); }00588 00589 <span class="comment">// Member variables</span><a name="l00591"></a><a class="code" href="classPDirectory.html#n0">00591</a> <span class="comment"> int scanMask;</span>00592 00593 <span class="comment">// Include platform dependent part of class</span>00594 <span class="preprocessor">#ifdef _WIN32</span>00595 <span class="preprocessor"></span><span class="preprocessor">#include "msos/ptlib/pdirect.h"</span>00596 <span class="preprocessor">#else</span>00597 <span class="preprocessor"></span><span class="preprocessor">#include "unix/ptlib/pdirect.h"</span>00598 <span class="preprocessor">#endif</span>00599 <span class="preprocessor"></span>00600 };00601 00602 <span class="preprocessor">#endif</span>00603 <span class="preprocessor"></span>00604 <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 + -