#include <PathInfo.h>
Public Types | |
typedef std::list< direntry > | dircontent |
enum | Mode { STAT, LSTAT } |
enum | file_type { NOT_AVAIL = 0x00, NOT_EXIST = 0x01, T_FILE = 0x02, T_DIR = 0x04, T_CHARDEV = 0x08, T_BLOCKDEV = 0x10, T_FIFO = 0x20, T_LINK = 0x40, T_SOCKET = 0x80 } |
enum | ZIP_TYPE { ZT_NONE, ZT_GZ, ZT_BZ2 } |
Public Member Functions | |
PathInfo (const Pathname &path="", Mode initial=STAT) | |
PathInfo (const std::string &path, Mode initial=STAT) | |
PathInfo (const char *path, Mode initial=STAT) | |
virtual | ~PathInfo () |
const Pathname & | path () const |
const std::string & | asString () const |
Mode | mode () const |
int | error () const |
void | setPath (const Pathname &path) |
void | setMode (Mode mode) |
bool | stat (const Pathname &path) |
bool | lstat (const Pathname &path) |
bool | operator() (const Pathname &path) |
bool | stat () |
bool | lstat () |
bool | operator() () |
bool | isExist () const |
file_type | fileType () const |
bool | isFile () const |
bool | isDir () const |
bool | isLink () const |
bool | isChr () const |
bool | isBlk () const |
bool | isFifo () const |
bool | isSock () const |
nlink_t | nlink () const |
uid_t | owner () const |
gid_t | group () const |
bool | isRUsr () const |
bool | isWUsr () const |
bool | isXUsr () const |
bool | isR () const |
bool | isW () const |
bool | isX () const |
bool | isRGrp () const |
bool | isWGrp () const |
bool | isXGrp () const |
bool | isROth () const |
bool | isWOth () const |
bool | isXOth () const |
bool | isUid () const |
bool | isGid () const |
bool | isVtx () const |
mode_t | uperm () const |
mode_t | gperm () const |
mode_t | operm () const |
mode_t | perm () const |
bool | isPerm (mode_t m) const |
bool | hasPerm (mode_t m) const |
mode_t | st_mode () const |
mode_t | userMay () const |
bool | userMayR () const |
bool | userMayW () const |
bool | userMayX () const |
bool | userMayRW () const |
bool | userMayRX () const |
bool | userMayWX () const |
bool | userMayRWX () const |
dev_t | dev () const |
dev_t | rdev () const |
ino_t | ino () const |
off_t | size () const |
unsigned long | blksize () const |
unsigned long | blocks () const |
time_t | atime () const |
time_t | mtime () const |
time_t | ctime () const |
Static Public Member Functions | |
static int | mkdir (const Pathname &path, unsigned mode=0755) |
static int | assert_dir (const Pathname &path, unsigned mode=0755) |
static int | rmdir (const Pathname &path) |
static int | recursive_rmdir (const Pathname &path) |
static int | clean_dir (const Pathname &path) |
static int | copy_dir (const Pathname &srcpath, const Pathname &destpath) |
static int | readdir (std::list< std::string > &retlist, const Pathname &path, bool dots=true) |
static int | readdir (dircontent &retlist, const Pathname &path, bool dots=true, Mode statmode=STAT) |
static int | unlink (const Pathname &path) |
static int | rename (const Pathname &oldpath, const Pathname &newpath) |
static int | copy (const Pathname &file, const Pathname &dest) |
static int | symlink (const Pathname &oldpath, const Pathname &newpath) |
static int | hardlink (const Pathname &oldpath, const Pathname &newpath) |
static int | copy_file2dir (const Pathname &file, const Pathname &dest) |
static std::string | md5sum (const Pathname &file) |
static std::string | sha1sum (const Pathname &file) |
static int | erase (const Pathname &path) |
static int | chmod (const Pathname &path, mode_t mode) |
static ZIP_TYPE | zipType (const Pathname &file) |
Private Attributes | |
Pathname | path_t |
stat | statbuf_C |
Mode | mode_e |
int | error_i |
Friends | |
std::ostream & | operator<< (std::ostream &str, const PathInfo &obj) |
std::ostream & | operator<< (std::ostream &str, file_type obj) |
Classes | |
class | devino_cache |
Simple cache remembering device/inode to detect hardlinks. More... | |
struct | direntry |
class | stat_mode |
Wrapper class for mode_t values as derived from stat. More... |
|
|
|
|
|
|
|
Test whether a file is compressed (gzip/bzip2).
|
|
|
|
|
|
|
|
|
|
Like 'mkdir -p'. No error if directory exists. Make parent directories as needed. mode specifies the permissions to use, if directories have to be created. It is modified by the process's umask in the usual way.
|
|
|
|
|
|
|
|
|
|
Like 'chmod'. The mode of the file given by path is changed.
|
|
Like 'rm -r DIR/ *'. Delete directory contents, but keep the directory itself.
|
|
Like 'cp file dest'. Copy file to destination file.
|
|
Like 'cp -a srcpath destpath'. Copy directory tree. srcpath/destpath must be directories. 'basename srcpath' must not exist in destpath.
|
|
Like 'cp file dest'. Copy file to dest dir.
|
|
|
|
|
|
Erase whatever happens to be located at path (file or directory).
|
|
|
|
|
|
|
|
|
|
Like 'link'. Creates a hard link named newpath to an existing file oldpath. If newpath exists it will not be overwritten.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Compute a files md5sum.
|
|
Like 'mkdir'. Attempt to create a new directory named path. mode specifies the permissions to use. It is modified by the process's umask in the usual way.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Return content of directory via retlist. If dots is false entries starting with '.' are not reported. "." and ".." are never reported. The type of individual directory entries is determined accoding to statmode (i.e. via stat or lstat).
|
|
Return content of directory via retlist. If dots is false entries starting with '.' are not reported. "." and ".." are never reported.
|
|
Like 'rm -r DIR'. Delete a directory, recursively removing its contents.
|
|
Like 'rename'. Renames a file, moving it between directories if required.
|
|
Like 'rmdir'. Delete a directory, which must be empty.
|
|
|
|
|
|
Compute a files sha1sum.
|
|
|
|
|
|
|
|
|
|
Like 'symlink'. Creates a symbolic link named newpath which contains the string oldpath. If newpath exists it will not be overwritten.
|
|
Like 'unlink'. Delete a file (symbolic link, socket, fifo or device).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|