<html> <head> <link rel="stylesheet" href="page.css" type="text/css"> <title>fox-toolkit.org - Documentation</title> </head> <body bgcolor=#ffffff link=#990033 vlink=#990033 alink=#990033 text=#000000> <font face='verdana,sans-serif' size=2 > <!---- TOPIC TITLE WITH LOGO---> <table border=0 cellpadding= cellspacing=2 width=100% ><tr><td><a href='http://www.fox-toolkit.org/doc.html'><img src='../art/foxlogo_small.jpg' border=0></a></td><td width=100% valign=bottom><font face='verdana,sans-serif' size=2 ><b> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <br><img src='../art/line.gif' width=100% height=1></b></font></td></tr></table> <p> <!--- TOPIC TITLE WITH LOGO ---> <!-- Generated by Doxygen 1.3.3 --> <h1>FXFile.h</h1><div class="fragment"><pre>00001 <span class="comment">/********************************************************************************</span> 00002 <span class="comment">* *</span> 00003 <span class="comment">* F i l e I n f o r m a t i o n a n d M a n i p u l a t i o n *</span> 00004 <span class="comment">* *</span> 00005 <span class="comment">*********************************************************************************</span> 00006 <span class="comment">* Copyright (C) 2000,2004 by Jeroen van der Zijp. All Rights Reserved. *</span> 00007 <span class="comment">*********************************************************************************</span> 00008 <span class="comment">* This library is free software; you can redistribute it and/or *</span> 00009 <span class="comment">* modify it under the terms of the GNU Lesser General Public *</span> 00010 <span class="comment">* License as published by the Free Software Foundation; either *</span> 00011 <span class="comment">* version 2.1 of the License, or (at your option) any later version. *</span> 00012 <span class="comment">* *</span> 00013 <span class="comment">* This library is distributed in the hope that it will be useful, *</span> 00014 <span class="comment">* but WITHOUT ANY WARRANTY; without even the implied warranty of *</span> 00015 <span class="comment">* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *</span> 00016 <span class="comment">* Lesser General Public License for more details. *</span> 00017 <span class="comment">* *</span> 00018 <span class="comment">* You should have received a copy of the GNU Lesser General Public *</span> 00019 <span class="comment">* License along with this library; if not, write to the Free Software *</span> 00020 <span class="comment">* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *</span> 00021 <span class="comment">*********************************************************************************</span> 00022 <span class="comment">* $Id: FXFile.h,v 1.65 2004/02/08 17:17:33 fox Exp $ *</span> 00023 <span class="comment">********************************************************************************/</span> 00024 <span class="preprocessor">#ifndef FXFILE_H</span> 00025 <span class="preprocessor"></span><span class="preprocessor">#define FXFILE_H</span> 00026 <span class="preprocessor"></span> 00027 <span class="comment"></span> 00028 <span class="comment">/// Declared as "C" so as to not clash tag-names</span> 00029 <span class="comment"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { <span class="keyword">struct </span>stat; } 00030 00031 <span class="keyword">namespace </span>FX { 00032 00033 <span class="comment"></span> 00034 <span class="comment">/// Options for listing files</span> 00035 <span class="comment"></span><span class="keyword">enum</span> { 00036 <a class="code" href="group__FXFile__0.html#a0a318">LIST_MATCH_ALL</a> = 0, <span class="comment">/// Matching files and directories</span> 00037 <span class="comment"></span> <a class="code" href="group__FXFile__0.html#a0a319">LIST_NO_FILES</a> = 1, <span class="comment">/// Don't list any files</span> 00038 <span class="comment"></span> <a class="code" href="group__FXFile__0.html#a0a320">LIST_NO_DIRS</a> = 2, <span class="comment">/// Don't list any directories</span> 00039 <span class="comment"></span> <a class="code" href="group__FXFile__0.html#a0a321">LIST_ALL_FILES</a> = 4, <span class="comment">/// List all files</span> 00040 <span class="comment"></span> <a class="code" href="group__FXFile__0.html#a0a322">LIST_ALL_DIRS</a> = 8, <span class="comment">/// List all directories</span> 00041 <span class="comment"></span> <a class="code" href="group__FXFile__0.html#a0a323">LIST_HIDDEN_FILES</a> = 16, <span class="comment">/// List hidden files also</span> 00042 <span class="comment"></span> <a class="code" href="group__FXFile__0.html#a0a324">LIST_HIDDEN_DIRS</a> = 32, <span class="comment">/// List hidden directories also</span> 00043 <span class="comment"></span> <a class="code" href="group__FXFile__0.html#a0a325">LIST_NO_PARENT</a> = 64, <span class="comment">/// Don't include '..' in the listing</span> 00044 <span class="comment"></span> <a class="code" href="group__FXFile__0.html#a0a326">LIST_CASEFOLD</a> = 128 <span class="comment">/// Matching is case-insensitive</span> 00045 <span class="comment"></span> }; 00046 00047 00048 <span class="keyword">namespace </span>FXFile { <span class="comment">// FIXME do we still need FXFile namespace at all?</span> 00049 00050 <span class="comment"></span> 00051 <span class="comment">/// Return value of environment variable name</span> 00052 <span class="comment"></span>FXString FXAPI getEnvironment(<span class="keyword">const</span> FXString& name); 00053 <span class="comment"></span> 00054 <span class="comment">/// Return the home directory for the current user.</span> 00055 <span class="comment"></span>FXString FXAPI getHomeDirectory(); 00056 <span class="comment"></span> 00057 <span class="comment">/// Return the home directory for a given user.</span> 00058 <span class="comment"></span>FXString FXAPI getUserDirectory(<span class="keyword">const</span> FXString& user); 00059 <span class="comment"></span> 00060 <span class="comment">/// Return temporary directory.</span> 00061 <span class="comment"></span>FXString FXAPI getTempDirectory(); 00062 <span class="comment"></span> 00063 <span class="comment">/// Set the current working directory</span> 00064 <span class="comment"></span>FXbool FXAPI setCurrentDirectory(<span class="keyword">const</span> FXString& path); 00065 <span class="comment"></span> 00066 <span class="comment">/// Get the current working directory</span> 00067 <span class="comment"></span>FXString FXAPI getCurrentDirectory(); 00068 <span class="comment"></span> 00069 <span class="comment">/// Set the current drive (for Win32 systems)</span> 00070 <span class="comment"></span>FXbool FXAPI setCurrentDrive(<span class="keyword">const</span> FXString& prefix); 00071 <span class="comment"></span> 00072 <span class="comment">/// Return the current drive (for Win32 systems)</span> 00073 <span class="comment"></span>FXString FXAPI getCurrentDrive(); 00074 <span class="comment"></span> 00075 <span class="comment">/// Get executable path</span> 00076 <span class="comment"></span>FXString FXAPI getExecPath(); 00077 <span class="comment"></span> 00078 <span class="comment">/**</span> 00079 <span class="comment">* Return the directory part of the path name.</span> 00080 <span class="comment">* Note that directory("/bla/bla/") is "/bla/bla" and NOT "/bla".</span> 00081 <span class="comment">* However, directory("/bla/bla") is "/bla" as we expect!</span> 00082 <span class="comment">*/</span> 00083 FXString FXAPI directory(<span class="keyword">const</span> FXString& file); 00084 <span class="comment"></span> 00085 <span class="comment">/**</span> 00086 <span class="comment">* Return name and extension part of the path name.</span> 00087 <span class="comment">* Note that name("/bla/bla/") is "" and NOT "bla".</span> 00088 <span class="comment">* However, name("/bla/bla") is "bla" as we expect!</span> 00089 <span class="comment">*/</span> 00090 FXString FXAPI name(<span class="keyword">const</span> FXString& file); 00091 <span class="comment"></span> 00092 <span class="comment">/// Return file title, i.e. document name only</span> 00093 <span class="comment"></span>FXString FXAPI title(<span class="keyword">const</span> FXString& file); 00094 <span class="comment"></span> 00095 <span class="comment">/// Return extension part of the file name</span> 00096 <span class="comment"></span>FXString FXAPI extension(<span class="keyword">const</span> FXString& file); 00097 <span class="comment"></span> 00098 <span class="comment">/// Return file name less the extension</span> 00099 <span class="comment"></span>FXString FXAPI stripExtension(<span class="keyword">const</span> FXString& file); 00100 <span class="comment"></span> 00101 <span class="comment">/// Return the drive letter prefixing this file name (if any).</span> 00102 <span class="comment"></span>FXString FXAPI drive(<span class="keyword">const</span> FXString& file); 00103 <span class="comment"></span> 00104 <span class="comment">/// Perform tilde or environment variable expansion</span> 00105 <span class="comment"></span>FXString FXAPI expand(<span class="keyword">const</span> FXString& file); 00106 <span class="comment"></span> 00107 <span class="comment">/**</span> 00108 <span class="comment">* Simplify a file path; the path will remain relative if it was relative,</span> 00109 <span class="comment">* or absolute if it was absolute. Also, a trailing "/" will be preserved</span> 00110 <span class="comment">* as this is important in other functions.</span> 00111 <span class="comment">* For example, simplify("..//aaa/./bbb//../c/") becomes "../aaa/c/".</span> 00112 <span class="comment">*/</span> 00113 FXString FXAPI simplify(<span class="keyword">const</span> FXString& file); 00114 <span class="comment"></span> 00115 <span class="comment">/// Return absolute path from current directory and file name</span> 00116 <span class="comment"></span>FXString FXAPI absolute(<span class="keyword">const</span> FXString& file); 00117 <span class="comment"></span> 00118 <span class="comment">/// Return absolute path from base directory and file name</span> 00119 <span class="comment"></span>FXString FXAPI absolute(<span class="keyword">const</span> FXString& base,<span class="keyword">const</span> FXString& file); 00120 <span class="comment"></span> 00121 <span class="comment">/// Return relative path of file to the current directory</span> 00122 <span class="comment"></span>FXString FXAPI relative(<span class="keyword">const</span> FXString& file); 00123 <span class="comment"></span> 00124 <span class="comment">/// Return relative path of file to given base directory</span> 00125 <span class="comment"></span>FXString FXAPI relative(<span class="keyword">const</span> FXString& base,<span class="keyword">const</span> FXString& file); 00126 <span class="comment"></span> 00127 <span class="comment">/**</span> 00128 <span class="comment">* Return root of absolute path; on Unix, this is just "/". On</span> 00129 <span class="comment">* Windows, this is "\\" or "C:\". Returns the empty string</span> 00130 <span class="comment">* if the given path is not absolute.</span> 00131 <span class="comment">*/</span> 00132 FXString FXAPI root(<span class="keyword">const</span> FXString& file); 00133 <span class="comment"></span> 00134 <span class="comment">/// Enquote filename to make safe for shell</span> 00135 <span class="comment"></span>FXString FXAPI enquote(<span class="keyword">const</span> FXString& file,FXbool forcequotes=FALSE); 00136 <span class="comment"></span> 00137 <span class="comment">/// Dequote filename to get original again</span> 00138 <span class="comment"></span>FXString FXAPI dequote(<span class="keyword">const</span> FXString& file); 00139 <span class="comment"></span> 00140 <span class="comment">/**</span> 00141 <span class="comment">* Generate unique filename of the form pathnameXXX.ext, where</span> 00142 <span class="comment">* pathname.ext is the original input file, and XXX is a number,</span> 00143 <span class="comment">* possibly empty, that makes the file unique.</span> 00144 <span class="comment">*/</span> 00145 FXString FXAPI unique(<span class="keyword">const</span> FXString& file); 00146 <span class="comment"></span> 00147 <span class="comment">/// Search path list for this file, return full path name for first occurrence</span> 00148 <span class="comment"></span>FXString FXAPI search(<span class="keyword">const</span> FXString& pathlist,<span class="keyword">const</span> FXString& file); 00149 <span class="comment"></span> 00150 <span class="comment">/// Return path to directory above input directory name</span> 00151 <span class="comment"></span>FXString FXAPI upLevel(<span class="keyword">const</span> FXString& file); 00152 <span class="comment"></span> 00153 <span class="comment">/// Return true if file name is absolute</span> 00154 <span class="comment"></span>FXbool FXAPI isAbsolute(<span class="keyword">const</span> FXString& file); 00155 <span class="comment"></span> 00156 <span class="comment">/// Return true if input directory is a top-level directory</span> 00157 <span class="comment"></span>FXbool FXAPI isTopDirectory(<span class="keyword">const</span> FXString& file); 00158 <span class="comment"></span> 00159 <span class="comment">/// Return true if input path is a file name</span> 00160 <span class="comment"></span>FXbool FXAPI isFile(<span class="keyword">const</span> FXString& file); 00161 <span class="comment"></span> 00162 <span class="comment">/// Return true if input path is a link</span> 00163 <span class="comment"></span>FXbool FXAPI isLink(<span class="keyword">const</span> FXString& file); 00164 <span class="comment"></span> 00165 <span class="comment">/// Return true if input path is a directory</span> 00166 <span class="comment"></span>FXbool FXAPI isDirectory(<span class="keyword">const</span> FXString& file); 00167 <span class="comment"></span> 00168 <span class="comment">/// Return true if input path is a file share</span> 00169 <span class="comment"></span>FXbool FXAPI isShare(<span class="keyword">const</span> FXString& file); 00170 <span class="comment"></span> 00171 <span class="comment">/// Return true if file is readable</span> 00172 <span class="comment"></span>FXbool FXAPI isReadable(<span class="keyword">const</span> FXString& file); 00173 <span class="comment"></span> 00174 <span class="comment">/// Return true if file is writable</span> 00175 <span class="comment"></span>FXbool FXAPI isWritable(<span class="keyword">const</span> FXString& file); 00176 <span class="comment"></span> 00177 <span class="comment">/// Return true if file is executable</span> 00178 <span class="comment"></span>FXbool FXAPI isExecutable(<span class="keyword">const</span> FXString& file); 00179 <span class="comment"></span> 00180 <span class="comment">/// Return true if owner has read-write-execute permissions</span> 00181 <span class="comment"></span>FXbool FXAPI isOwnerReadWriteExecute(<span class="keyword">const</span> FXString& file); 00182 <span class="comment"></span> 00183 <span class="comment">/// Return true if owner has read permissions</span> 00184 <span class="comment"></span>FXbool FXAPI isOwnerReadable(<span class="keyword">const</span> FXString& file); 00185 <span class="comment"></span> 00186 <span class="comment">/// Return true if owner has write permissions</span> 00187 <span class="comment"></span>FXbool FXAPI isOwnerWritable(<span class="keyword">const</span> FXString& file); 00188 <span class="comment"></span> 00189 <span class="comment">/// Return true if owner has execute permissions</span> 00190 <span class="comment"></span>FXbool FXAPI isOwnerExecutable(<span class="keyword">const</span> FXString& file); 00191 <span class="comment"></span> 00192 <span class="comment">/// Return true if group has read-write-execute permissions</span> 00193 <span class="comment"></span>FXbool FXAPI isGroupReadWriteExecute(<span class="keyword">const</span> FXString& file); 00194 <span class="comment"></span> 00195 <span class="comment">/// Return true if group has read permissions</span> 00196 <span class="comment"></span>FXbool FXAPI isGroupReadable(<span class="keyword">const</span> FXString& file); 00197 <span class="comment"></span> 00198 <span class="comment">/// Return true if group has write permissions</span> 00199 <span class="comment"></span>FXbool FXAPI isGroupWritable(<span class="keyword">const</span> FXString& file); 00200 <span class="comment"></span> 00201 <span class="comment">/// Return true if group has execute permissions</span> 00202 <span class="comment"></span>FXbool FXAPI isGroupExecutable(<span class="keyword">const</span> FXString& file); 00203 <span class="comment"></span> 00204 <span class="comment">/// Return true if others have read-write-execute permissions</span> 00205 <span class="comment"></span>FXbool FXAPI isOtherReadWriteExecute(<span class="keyword">const</span> FXString& file); 00206 <span class="comment"></span> 00207 <span class="comment">/// Return true if others have read permissions</span> 00208 <span class="comment"></span>FXbool FXAPI isOtherReadable(<span class="keyword">const</span> FXString& file); 00209 <span class="comment"></span> 00210 <span class="comment">/// Return true if others have write permissions</span> 00211 <span class="comment"></span>FXbool FXAPI isOtherWritable(<span class="keyword">const</span> FXString& file); 00212 <span class="comment"></span> 00213 <span class="comment">/// Return true if others have execute permissions</span> 00214 <span class="comment"></span>FXbool FXAPI isOtherExecutable(<span class="keyword">const</span> FXString& file); 00215 <span class="comment"></span> 00216 <span class="comment">/// Return true if the file sets the user id on execution</span> 00217 <span class="comment"></span>FXbool FXAPI isSetUid(<span class="keyword">const</span> FXString& file); 00218 <span class="comment"></span> 00219 <span class="comment">/// Return true if the file sets the group id on execution</span> 00220 <span class="comment"></span>FXbool FXAPI isSetGid(<span class="keyword">const</span> FXString& file); 00221 <span class="comment"></span> 00222 <span class="comment">/// Return true if the file has the sticky bit set</span> 00223 <span class="comment"></span>FXbool FXAPI isSetSticky(<span class="keyword">const</span> FXString& file); 00224 <span class="comment"></span> 00225 <span class="comment">/// Return owner name from uid if available</span> 00226 <span class="comment"></span>FXString FXAPI owner(FXuint uid); 00227 <span class="comment"></span> 00228 <span class="comment">/// Return owner name of file if available</span> 00229 <span class="comment"></span>FXString FXAPI owner(<span class="keyword">const</span> FXString& file); 00230 <span class="comment"></span> 00231 <span class="comment">/// Return group name from gid if available</span> 00232 <span class="comment"></span>FXString FXAPI group(FXuint gid); 00233 <span class="comment"></span> 00234 <span class="comment">/// Return group name of file if available</span> 00235 <span class="comment"></span>FXString FXAPI group(<span class="keyword">const</span> FXString& file); 00236 <span class="comment"></span> 00237 <span class="comment">/// Return permissions string</span> 00238 <span class="comment"></span>FXString FXAPI permissions(FXuint mode); 00239 <span class="comment"></span> 00240 <span class="comment">/// Return file size in bytes</span> 00241 <span class="comment"></span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> FXAPI size(<span class="keyword">const</span> FXString& file); 00242 <span class="comment"></span> 00243 <span class="comment">/**</span> 00244 <span class="comment">* Return last modified time for this file, on filesystems</span> 00245 <span class="comment">* where this is supported. This is the time when any data</span> 00246 <span class="comment">* in the file was last modified.</span> 00247 <span class="comment">*/</span> 00248 FXTime FXAPI modified(<span class="keyword">const</span> FXString& file); 00249 <span class="comment"></span> 00250 <span class="comment">/**</span> 00251 <span class="comment">* Return last accessed time for this file, on filesystems</span> 00252 <span class="comment">* where this is supported.</span> 00253 <span class="comment">*/</span> 00254 FXTime FXAPI accessed(<span class="keyword">const</span> FXString& file); 00255 <span class="comment"></span> 00256 <span class="comment">/**</span> 00257 <span class="comment">* Return created time for this file, on filesystems</span> 00258 <span class="comment">* where this is supported. This is also the time when</span> 00259 <span class="comment">* ownership, permissions, links, and other meta-data may</span> 00260 <span class="comment">* have changed.</span> 00261 <span class="comment">*/</span> 00262 FXTime FXAPI created(<span class="keyword">const</span> FXString& file); 00263 <span class="comment"></span> 00264 <span class="comment">/**</span> 00265 <span class="comment">* Return touched time for this file, on filesystems</span> 00266 <span class="comment">* where this is supported. This is the time when anything</span> 00267 <span class="comment">* at all, either contents or meta-data, about the file was</span> 00268 <span class="comment">* changed.</span> 00269 <span class="comment">*/</span> 00270 FXTime FXAPI touched(<span class="keyword">const</span> FXString& file); 00271 <span class="comment"></span> 00272 <span class="comment">/// Match filenames using *, ?, [^a-z], and so on</span> 00273 <span class="comment"></span>FXbool FXAPI match(<span class="keyword">const</span> FXString& pattern,<span class="keyword">const</span> FXString& file,FXuint flags=(FILEMATCH_NOESCAPE|FILEMATCH_FILE_NAME)); 00274 <span class="comment"></span> 00275 <span class="comment">/**</span> 00276 <span class="comment">* List files in a given directory.</span> 00277 <span class="comment">* Returns the number of files in the string-array list which matched the</span> 00278 <span class="comment">* pattern or satisfied the flag conditions.</span> 00279 <span class="comment">*/</span> 00280 FXint FXAPI listFiles(FXString*& filelist,<span class="keyword">const</span> FXString& path,<span class="keyword">const</span> FXString& pattern=<span class="stringliteral">"*"</span>,FXuint flags=LIST_MATCH_ALL); 00281 <span class="comment"></span> 00282 <span class="comment">/// Return current time</span> 00283 <span class="comment"></span>FXTime FXAPI now(); 00284 <span class="comment"></span> 00285 <span class="comment">/// Convert file time to date-string</span> 00286 <span class="comment"></span>FXString FXAPI time(FXTime filetime); 00287 <span class="comment"></span> 00288 <span class="comment">/**</span> 00289 <span class="comment">* Convert file time to date-string as per strftime.</span> 00290 <span class="comment">* Format characters supported by most systems are:</span> 00291 <span class="comment">*</span> 00292 <span class="comment">* %a %A %b %B %c %d %H %I %j %m %M %p %S %U %w %W %x %X %y %Y %Z %%</span> 00293 <span class="comment">*</span> 00294 <span class="comment">* Some systems support additional conversions.</span> 00295 <span class="comment">*/</span> 00296 FXString FXAPI time(<span class="keyword">const</span> FXchar *format,FXTime filetime); 00297 <span class="comment"></span> 00298 <span class="comment">/// Return file info as reported by system stat() function</span> 00299 <span class="comment"></span>FXbool FXAPI info(<span class="keyword">const</span> FXString& file,<span class="keyword">struct</span> stat& inf); 00300 <span class="comment"></span> 00301 <span class="comment">/// Return file info as reported by system lstat() function</span> 00302 <span class="comment"></span>FXbool FXAPI linkinfo(<span class="keyword">const</span> FXString& file,<span class="keyword">struct</span> stat& inf); 00303 <span class="comment"></span> 00304 <span class="comment">/// Return true if file exists</span> 00305 <span class="comment"></span>FXbool FXAPI exists(<span class="keyword">const</span> FXString& file); 00306 <span class="comment"></span> 00307 <span class="comment">/// Return true if files are identical</span> 00308 <span class="comment"></span>FXbool FXAPI identical(<span class="keyword">const</span> FXString& file1,<span class="keyword">const</span> FXString& file2); 00309 <span class="comment"></span> 00310 <span class="comment">/// Return the mode flags for this file</span> 00311 <span class="comment"></span>FXuint FXAPI mode(<span class="keyword">const</span> FXString& file); 00312 <span class="comment"></span> 00313 <span class="comment">/// Change the mode flags for this file</span> 00314 <span class="comment"></span>FXbool FXAPI mode(<span class="keyword">const</span> FXString& file,FXuint mode); 00315 <span class="comment"></span> 00316 <span class="comment">/// Create new directory</span> 00317 <span class="comment"></span>FXbool FXAPI createDirectory(<span class="keyword">const</span> FXString& path,FXuint mode); 00318 <span class="comment"></span> 00319 <span class="comment">/// Create new (empty) file</span> 00320 <span class="comment"></span>FXbool FXAPI createFile(<span class="keyword">const</span> FXString& file,FXuint mode); 00321 <span class="comment"></span> 00322 <span class="comment">/**</span> 00323 <span class="comment">* Concatenate srcfile1 and srcfile2 to a dstfile.</span> 00324 <span class="comment">* If overwrite is true, then the operation fails if dstfile already exists.</span> 00325 <span class="comment">* srcfile1 and srcfile2 should not be the same as dstfile.</span> 00326 <span class="comment">*/</span> 00327 FXbool FXAPI concatenate(<span class="keyword">const</span> FXString& srcfile1,<span class="keyword">const</span> FXString& srcfile2,<span class="keyword">const</span> FXString& dstfile,FXbool overwrite=FALSE); 00328 <span class="comment"></span> 00329 <span class="comment">/// Remove file or directory, recursively.</span> 00330 <span class="comment"></span>FXbool FXAPI remove(<span class="keyword">const</span> FXString& file); 00331 <span class="comment"></span> 00332 <span class="comment">/// Copy file or directory, recursively</span> 00333 <span class="comment"></span>FXbool FXAPI copy(<span class="keyword">const</span> FXString& srcfile,<span class="keyword">const</span> FXString& dstfile,FXbool overwrite=FALSE); 00334 <span class="comment"></span> 00335 <span class="comment">/// Rename or move file or directory</span> 00336 <span class="comment"></span>FXbool FXAPI move(<span class="keyword">const</span> FXString& srcfile,<span class="keyword">const</span> FXString& dstfile,FXbool overwrite=FALSE); 00337 <span class="comment"></span> 00338 <span class="comment">/// Link file</span> 00339 <span class="comment"></span>FXbool FXAPI link(<span class="keyword">const</span> FXString& srcfile,<span class="keyword">const</span> FXString& dstfile,FXbool overwrite=FALSE); 00340 <span class="comment"></span> 00341 <span class="comment">/// Symbolic link file</span> 00342 <span class="comment"></span>FXbool FXAPI symlink(<span class="keyword">const</span> FXString& srcfile,<span class="keyword">const</span> FXString& dstfile,FXbool overwrite=FALSE); 00343 <span class="comment"></span> 00344 <span class="comment">/// Read symbolic link</span> 00345 <span class="comment"></span>FXString FXAPI symlink(<span class="keyword">const</span> FXString& file); 00346 00347 } 00348 00349 } 00350 00351 <span class="preprocessor">#endif</span> </pre></div></font> <!--- COPYRIGHT --> <p> <table width=100% cellpadding=0 cellspacing=0><tr><td width=100% valign=top id=HEADLINE align=right> <img src='../art/line.gif' width=100% height=1><font size=-1> Copyright © 1997-2004 Jeroen van der Zijp</font> </td></tr></table> </p> <!--- COPYRIGHT --> </body> </html>