#include <UT_FileUtil.h>
|
static int64 | getFileSize (const char *path) |
|
static time_t | getFileModTime (const char *path) |
|
static time_t | getRecursiveDirMaxModTime (const char *path) |
|
static int | getMaxFileDescriptors () |
|
static bool | getShortPathName (UT_WorkBuffer &result, const char *path) |
|
static int | resolveSymbolicLinks (const char *path, UT_WorkBuffer &contents, bool allow_dangling_link=false) |
|
static int | copyFile (const char *srcname, const char *dstname, std::ostream *error_os=nullptr) |
|
static int | copyDir (const char *srcname, const char *dstname) |
|
static int | copyFileToStream (const char *srcname, std::ostream &os) |
|
static int | moveFile (const char *srcname, const char *dstname) |
|
static int | removeFile (const char *fname) |
|
static int | removeDir (const char *dname, UT_RemoveDepth depth=IF_EMPTY) |
|
static bool | makeDir (const char *path, mode_t mode=0777, bool ignore_umask=false) |
|
static bool | makeDirs (const char *path, mode_t mode=0777, bool ignore_umask=false) |
|
static bool | lockFile (int fd) |
|
static bool | unlockFile (int fd) |
|
static bool | writeLockFile (int fd) |
|
static bool | readLockFile (int fd) |
|
static void | upDirectory (char *path, int levels) |
|
static int | removeLinesFromFile (const char *fname, const char *prefix, int readonly=0) |
|
static bool | readXMLElementFromFile (const char *xml_file_path, const char *element_name, UT_String &element_data) |
|
Definition at line 41 of file UT_FileUtil.h.
Enumerator |
---|
IF_EMPTY |
|
ALL_CONTENTS |
|
Definition at line 44 of file UT_FileUtil.h.
UT_FileUtil::UT_FileUtil |
( |
| ) |
|
|
inline |
virtual UT_FileUtil::~UT_FileUtil |
( |
| ) |
|
|
inlinevirtual |
static int UT_FileUtil::copyDir |
( |
const char * |
srcname, |
|
|
const char * |
dstname |
|
) |
| |
|
static |
static int UT_FileUtil::copyFile |
( |
const char * |
srcname, |
|
|
const char * |
dstname, |
|
|
std::ostream * |
error_os = nullptr |
|
) |
| |
|
static |
static int UT_FileUtil::copyFileToStream |
( |
const char * |
srcname, |
|
|
std::ostream & |
os |
|
) |
| |
|
static |
static time_t UT_FileUtil::getFileModTime |
( |
const char * |
path | ) |
|
|
static |
Returns the file modification time of the file in the given path. Returns -1 on error.
static int64 UT_FileUtil::getFileSize |
( |
const char * |
path | ) |
|
|
static |
Returns the file size of that file in the given path. Returns -1 on error.
static int UT_FileUtil::getMaxFileDescriptors |
( |
| ) |
|
|
static |
Return the maximum number of file descriptors that are available for this process.
static time_t UT_FileUtil::getRecursiveDirMaxModTime |
( |
const char * |
path | ) |
|
|
static |
Returns the latest file modification time recusively of all files in the given path including the path itself. If the given path can be a regular file. Returns -1 if no timestamps can be retrieved.
Shorten the given path if possible. Only possibly has an effect on Windows. Returns true if successful. Upon returning false, the contents of result will be undefined.
static bool UT_FileUtil::lockFile |
( |
int |
fd | ) |
|
|
static |
Locks a file for exclusive access. Will not return until the file lock is achiveved or an error occurs. Equivalent to calling writeLockFile().
- Returns
- true if the file lock succeeded, and false otherwise.
- Note
- On Linux, if any file descriptor referring to this file is closed, the lock will be automatically be closed. Be very careful!
- On Windows, this is NOT re-entrant (unlike Linux). Treat these locks as NOT re-entrant unless you want deadlocking on Windows.
static bool UT_FileUtil::makeDir |
( |
const char * |
path, |
|
|
mode_t |
mode = 0777 , |
|
|
bool |
ignore_umask = false |
|
) |
| |
|
static |
Make a single directory. All leading path components must exist. The function returns true if the path already exists or if the path was made.
- Parameters
-
path |
The path to create |
mode |
The unix file mode |
ignore_umask |
By default, the users umask will be used in conjunction with the mode. This parameter will force the mode to be the given value. |
static bool UT_FileUtil::makeDirs |
( |
const char * |
path, |
|
|
mode_t |
mode = 0777 , |
|
|
bool |
ignore_umask = false |
|
) |
| |
|
static |
Make a directory and all the parent directories needed
- Parameters
-
path |
The path to create |
mode |
The unix file mode |
ignore_umask |
By default, the users umask will be used in conjunction with the mode. This parameter will force the mode to be the given value. |
- Examples:
- FS/FS_HomeHelper.C.
static int UT_FileUtil::moveFile |
( |
const char * |
srcname, |
|
|
const char * |
dstname |
|
) |
| |
|
static |
static bool UT_FileUtil::readLockFile |
( |
int |
fd | ) |
|
|
static |
Locks a file for read access. Will not return until the file lock is achiveved or an error occurs.
- Returns
- true if the file lock succeeded, and false otherwise.
- Note
- On Linux, if any file descriptor referring to this file is closed, the lock will be automatically be closed. Be very careful!
- On Windows, this is NOT re-entrant (unlike Linux). Treat these locks as NOT re-entrant unless you want deadlocking on Windows.
static bool UT_FileUtil::readXMLElementFromFile |
( |
const char * |
xml_file_path, |
|
|
const char * |
element_name, |
|
|
UT_String & |
element_data |
|
) |
| |
|
static |
Parses the file in search of the given XML element and outputs its contents into the string argument. Returns true uppon success or false on failure.
static int UT_FileUtil::removeFile |
( |
const char * |
fname | ) |
|
|
static |
static int UT_FileUtil::removeLinesFromFile |
( |
const char * |
fname, |
|
|
const char * |
prefix, |
|
|
int |
readonly = 0 |
|
) |
| |
|
static |
int UT_FileUtil::removeOverrideFiles |
( |
const char * |
newbasepath, |
|
|
const char * |
relpath, |
|
|
const char * |
fname, |
|
|
const char * |
english, |
|
|
int |
flags, |
|
|
const char * |
stripinfo = 0 |
|
) |
| |
static int UT_FileUtil::resolveSymbolicLinks |
( |
const char * |
path, |
|
|
UT_WorkBuffer & |
contents, |
|
|
bool |
allow_dangling_link = false |
|
) |
| |
|
static |
Follow the specified symbolic link to the contents, recursing if the contents are themselves another symbolic link. This method will fail if the specified path is not to a symbolic link, or if the link does not point to an existing file when allow_dangling_link is false.
virtual void UT_FileUtil::showError |
( |
const char * |
error, |
|
|
int |
severity = 2 |
|
) |
| |
|
virtual |
virtual int UT_FileUtil::showPrompt |
( |
const char * |
prompt | ) |
|
|
virtual |
static bool UT_FileUtil::unlockFile |
( |
int |
fd | ) |
|
|
static |
Unlocks a file that was locked for exclusive access with lockFile, above. Returns true if the unlock succeeded, and false otherwise.
static void UT_FileUtil::upDirectory |
( |
char * |
path, |
|
|
int |
levels |
|
) |
| |
|
static |
static bool UT_FileUtil::writeLockFile |
( |
int |
fd | ) |
|
|
static |
Locks a file for write access. Will not return until the file lock is achiveved or an error occurs.
- Returns
- true if the file lock succeeded, and false otherwise.
- Note
- On Linux, if any file descriptor referring to this file is closed, the lock will be automatically be closed. Be very careful!
- On Windows, this is NOT re-entrant (unlike Linux). Treat these locks as NOT re-entrant unless you want deadlocking on Windows.
The documentation for this class was generated from the following file: