#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 | |
int | mkdir (const Pathname &path, unsigned mode=0755) |
int | assert_dir (const Pathname &path, unsigned mode=0755) |
int | rmdir (const Pathname &path) |
int | recursive_rmdir (const Pathname &path) |
int | clean_dir (const Pathname &path) |
int | copy_dir (const Pathname &srcpath, const Pathname &destpath) |
int | readdir (std::list< std::string > &retlist, const Pathname &path, bool dots=true) |
int | readdir (dircontent &retlist, const Pathname &path, bool dots=true, Mode statmode=STAT) |
int | unlink (const Pathname &path) |
int | rename (const Pathname &oldpath, const Pathname &newpath) |
int | copy (const Pathname &file, const Pathname &dest) |
int | symlink (const Pathname &oldpath, const Pathname &newpath) |
int | hardlink (const Pathname &oldpath, const Pathname &newpath) |
int | copy_file2dir (const Pathname &file, const Pathname &dest) |
int | chmod (const Pathname &path, mode_t mode) |
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) |
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Like '::link'. Creates a hard link named newpath to an existing file oldpath. If newpath exists it will not be overwritten.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|