zypp::filesystem::PathInfo Class Reference

Wrapper class for stat/lstat. More...

#include <PathInfo.h>

List of all members.

Public Types

enum  Mode { STAT, LSTAT }
 stat() or lstat() More...

Public Member Functions

 ~PathInfo ()
 Dtor.
const Pathnamepath () const
 Return current Pathname.
const std::string & asString () const
 Return current Pathname as String.
Mode mode () const
 Return current stat Mode.
int error () const
 Return error returned from last stat/lstat call.
void setPath (const Pathname &path)
 Set a new Pathname.
void setMode (Mode mode)
 Set a new Mode .
bool stat (const Pathname &path)
 STAT path.
bool lstat (const Pathname &path)
 LSTAT path.
bool operator() (const Pathname &path)
 Restat path using current mode.
bool stat ()
 STAT current path.
bool lstat ()
 LSTAT current path.
bool operator() ()
 Restat current path using current mode.
bool isExist () const
 Return whether valid stat info exists.
StatMode asStatMode () const
 Return st_mode() as filesystem::StatMode.
nlink_t nlink () const
Construct from Pathname.
Default mode is STAT.

 PathInfo ()
 PathInfo (const Pathname &path, Mode initial=STAT)
 PathInfo (const std::string &path, Mode initial=STAT)
 PathInfo (const char *path, Mode initial=STAT)
Query StatMode attibutes.
Combines zypp::PathInfo::isExist and zypp::filesystem::StatMode query.

FileType fileType () const
bool isFile () const
bool isDir () const
bool isLink () const
bool isChr () const
bool isBlk () const
bool isFifo () const
bool isSock () 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
bool isPerm (mode_t m) const
bool hasPerm (mode_t m) const
mode_t uperm () const
mode_t gperm () const
mode_t operm () const
mode_t perm () const
mode_t st_mode () const
Owner and group
uid_t owner () const
gid_t group () const
Permission according to current uid/gid.
mode_t userMay () const
 Returns current users permission ([0-7]).
bool userMayR () const
bool userMayW () const
bool userMayX () const
bool userMayRW () const
bool userMayRX () const
bool userMayWX () const
bool userMayRWX () const
Device and inode info.
ino_t ino () const
dev_t dev () const
dev_t rdev () const
unsigned int major () const
unsigned int minor () const
Size info.
off_t size () const
unsigned long blksize () const
unsigned long blocks () const
Time stamps.
time_t atime () const
time_t mtime () const
time_t ctime () const

Private Attributes

Pathname path_t
stat statbuf_C
Mode mode_e
int error_i

Friends

std::ostream & operator<< (std::ostream &str, const PathInfo &obj)


Detailed Description

Wrapper class for stat/lstat.

Note:
All attribute quieries test for isExist(), and return false or 0, if stat was not successful.

For convenience PathInfo is available as zypp::PathInfo too.

Definition at line 216 of file PathInfo.h.


Member Enumeration Documentation

enum zypp::filesystem::PathInfo::Mode
 

stat() or lstat()

Enumerator:
STAT 
LSTAT 

Definition at line 222 of file PathInfo.h.


Constructor & Destructor Documentation

zypp::filesystem::PathInfo::PathInfo  ) 
 

Definition at line 128 of file PathInfo.cc.

zypp::filesystem::PathInfo::PathInfo const Pathname path,
Mode  initial = STAT
[explicit]
 

Definition at line 138 of file PathInfo.cc.

References operator()().

zypp::filesystem::PathInfo::PathInfo const std::string &  path,
Mode  initial = STAT
[explicit]
 

Definition at line 151 of file PathInfo.cc.

References operator()().

zypp::filesystem::PathInfo::PathInfo const char *  path,
Mode  initial = STAT
[explicit]
 

Definition at line 164 of file PathInfo.cc.

References operator()().

zypp::filesystem::PathInfo::~PathInfo  ) 
 

Dtor.

Definition at line 177 of file PathInfo.cc.


Member Function Documentation

const Pathname& zypp::filesystem::PathInfo::path  )  const [inline]
 

Return current Pathname.

Definition at line 242 of file PathInfo.h.

References path_t.

Referenced by zypp::target::rpm::librpmDb::DbDirInfo::DbDirInfo(), zypp::target::rpm::RpmDb::doRebuildDatabase(), zypp::target::rpm::librpmDb::DbDirInfo::illegalArgs(), lstat(), zypp::media::MediaCurl::MediaCurl(), operator()(), zypp::media::MediaHandler::releasePath(), setPath(), stat(), and zypp::target::rpm::librpmDb::DbDirInfo::usableArgs().

const std::string& zypp::filesystem::PathInfo::asString  )  const [inline]
 

Return current Pathname as String.

Definition at line 244 of file PathInfo.h.

References zypp::filesystem::Pathname::asString(), and path_t.

Referenced by zypp::filesystem::operator<<().

Mode zypp::filesystem::PathInfo::mode  )  const [inline]
 

Return current stat Mode.

Definition at line 246 of file PathInfo.h.

References mode_e.

int zypp::filesystem::PathInfo::error  )  const [inline]
 

Return error returned from last stat/lstat call.

Definition at line 248 of file PathInfo.h.

References error_i.

void zypp::filesystem::PathInfo::setPath const Pathname path  )  [inline]
 

Set a new Pathname.

Definition at line 251 of file PathInfo.h.

References error_i, path(), and path_t.

Referenced by lstat(), operator()(), and stat().

void zypp::filesystem::PathInfo::setMode Mode  mode  )  [inline]
 

Set a new Mode .

Definition at line 253 of file PathInfo.h.

References error_i, and mode_e.

Referenced by lstat(), and stat().

bool zypp::filesystem::PathInfo::stat const Pathname path  )  [inline]
 

STAT path.

Definition at line 256 of file PathInfo.h.

References operator()(), path(), setMode(), setPath(), and STAT.

bool zypp::filesystem::PathInfo::lstat const Pathname path  )  [inline]
 

LSTAT path.

Definition at line 258 of file PathInfo.h.

References LSTAT, operator()(), path(), setMode(), and setPath().

bool zypp::filesystem::PathInfo::operator() const Pathname path  )  [inline]
 

Restat path using current mode.

Definition at line 260 of file PathInfo.h.

References operator()(), path(), and setPath().

bool zypp::filesystem::PathInfo::stat  )  [inline]
 

STAT current path.

Definition at line 263 of file PathInfo.h.

References operator()(), setMode(), and STAT.

bool zypp::filesystem::PathInfo::lstat  )  [inline]
 

LSTAT current path.

Definition at line 265 of file PathInfo.h.

References LSTAT, operator()(), and setMode().

bool zypp::filesystem::PathInfo::operator()  ) 
 

Restat current path using current mode.

Definition at line 186 of file PathInfo.cc.

References zypp::filesystem::Pathname::empty(), error_i, and path_t.

Referenced by lstat(), operator()(), PathInfo(), and stat().

bool zypp::filesystem::PathInfo::isExist  )  const [inline]
 

Return whether valid stat info exists.

That's usg. whether the file exist and you had permission to stat it.

Definition at line 275 of file PathInfo.h.

References error_i.

Referenced by atime(), blksize(), blocks(), zypp::filesystem::clean_dir(), ctime(), dev(), zypp::filesystem::erase(), fileType(), gperm(), group(), hasPerm(), ino(), isBlk(), isChr(), isDir(), isFifo(), isFile(), isGid(), isLink(), isPerm(), isRGrp(), isROth(), isRUsr(), isSock(), isUid(), isVtx(), isWGrp(), isWOth(), isWUsr(), isXGrp(), isXOth(), isXUsr(), mtime(), nlink(), zypp::filesystem::operator<<(), operm(), owner(), perm(), zypp::media::MediaAccess::provideFile(), rdev(), zypp::filesystem::recursive_rmdir(), size(), st_mode(), uperm(), zypp::target::rpm::librpmDb::DbDirInfo::usableArgs(), userMay(), and zypp::filesystem::TmpPath::Impl::~Impl().

FileType zypp::filesystem::PathInfo::fileType  )  const
 

Definition at line 210 of file PathInfo.cc.

References asStatMode(), zypp::filesystem::StatMode::fileType(), zypp::filesystem::FT_NOT_EXIST, and isExist().

bool zypp::filesystem::PathInfo::isFile  )  const [inline]
 

Definition at line 283 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by zypp::filesystem::copy(), zypp::filesystem::copy_file2dir(), zypp::target::rpm::librpmDb::D::D(), zypp::media::MediaHandler::getFile(), zypp::target::rpm::librpmDb::DbDirInfo::hasDbV3(), zypp::target::rpm::librpmDb::DbDirInfo::hasDbV3ToV4(), zypp::target::rpm::librpmDb::DbDirInfo::hasDbV4(), zypp::target::rpm::RpmHeader::readPackage(), and zypp::media::MediaHandler::releasePath().

bool zypp::filesystem::PathInfo::isDir  )  const [inline]
 

Definition at line 284 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by zypp::filesystem::copy_dir(), zypp::filesystem::copy_dir_content(), zypp::filesystem::erase(), zypp::media::MediaHandler::getDir(), zypp::media::MediaHandler::getDirInfo(), zypp::target::rpm::librpmDb::DbDirInfo::hasDbDir(), zypp::media::MediaCurl::MediaCurl(), zypp::target::rpm::RpmDb::removeV3(), zypp::target::rpm::RpmDb::removeV4(), zypp::filesystem::TmpDir::TmpDir(), zypp::filesystem::TmpFile::TmpFile(), zypp::target::rpm::librpmDb::DbDirInfo::usableArgs(), and zypp::filesystem::TmpPath::Impl::~Impl().

bool zypp::filesystem::PathInfo::isLink  )  const [inline]
 

Definition at line 285 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isChr  )  const [inline]
 

Definition at line 286 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by major(), and minor().

bool zypp::filesystem::PathInfo::isBlk  )  const [inline]
 

Definition at line 287 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by zypp::media::MediaCD::forceEject(), major(), and minor().

bool zypp::filesystem::PathInfo::isFifo  )  const [inline]
 

Definition at line 288 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isSock  )  const [inline]
 

Definition at line 289 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isRUsr  )  const [inline]
 

Definition at line 292 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by isR().

bool zypp::filesystem::PathInfo::isWUsr  )  const [inline]
 

Definition at line 293 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by isW().

bool zypp::filesystem::PathInfo::isXUsr  )  const [inline]
 

Definition at line 294 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by isX().

bool zypp::filesystem::PathInfo::isR  )  const [inline]
 

Definition at line 296 of file PathInfo.h.

References isRUsr().

bool zypp::filesystem::PathInfo::isW  )  const [inline]
 

Definition at line 297 of file PathInfo.h.

References isWUsr().

bool zypp::filesystem::PathInfo::isX  )  const [inline]
 

Definition at line 298 of file PathInfo.h.

References isXUsr().

bool zypp::filesystem::PathInfo::isRGrp  )  const [inline]
 

Definition at line 300 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isWGrp  )  const [inline]
 

Definition at line 301 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isXGrp  )  const [inline]
 

Definition at line 302 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isROth  )  const [inline]
 

Definition at line 304 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isWOth  )  const [inline]
 

Definition at line 305 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isXOth  )  const [inline]
 

Definition at line 306 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isUid  )  const [inline]
 

Definition at line 308 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isGid  )  const [inline]
 

Definition at line 309 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isVtx  )  const [inline]
 

Definition at line 310 of file PathInfo.h.

References isExist(), and statbuf_C.

bool zypp::filesystem::PathInfo::isPerm mode_t  m  )  const [inline]
 

Definition at line 312 of file PathInfo.h.

References isExist(), and perm().

bool zypp::filesystem::PathInfo::hasPerm mode_t  m  )  const [inline]
 

Definition at line 313 of file PathInfo.h.

References isExist(), and perm().

mode_t zypp::filesystem::PathInfo::uperm  )  const [inline]
 

Definition at line 315 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by userMay().

mode_t zypp::filesystem::PathInfo::gperm  )  const [inline]
 

Definition at line 316 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by userMay().

mode_t zypp::filesystem::PathInfo::operm  )  const [inline]
 

Definition at line 317 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by userMay().

mode_t zypp::filesystem::PathInfo::perm  )  const [inline]
 

Definition at line 318 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by hasPerm(), and isPerm().

mode_t zypp::filesystem::PathInfo::st_mode  )  const [inline]
 

Definition at line 320 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by asStatMode().

StatMode zypp::filesystem::PathInfo::asStatMode  )  const [inline]
 

Return st_mode() as filesystem::StatMode.

Definition at line 324 of file PathInfo.h.

References st_mode().

Referenced by fileType().

nlink_t zypp::filesystem::PathInfo::nlink  )  const [inline]
 

Definition at line 326 of file PathInfo.h.

References isExist(), and statbuf_C.

uid_t zypp::filesystem::PathInfo::owner  )  const [inline]
 

Definition at line 330 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by userMay().

gid_t zypp::filesystem::PathInfo::group  )  const [inline]
 

Definition at line 331 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by userMay().

mode_t zypp::filesystem::PathInfo::userMay  )  const
 

Returns current users permission ([0-7]).

Definition at line 222 of file PathInfo.cc.

References gperm(), group(), isExist(), operm(), owner(), and uperm().

Referenced by userMayR(), userMayRW(), userMayRWX(), userMayRX(), userMayW(), userMayWX(), and userMayX().

bool zypp::filesystem::PathInfo::userMayR  )  const [inline]
 

Definition at line 339 of file PathInfo.h.

References userMay().

bool zypp::filesystem::PathInfo::userMayW  )  const [inline]
 

Definition at line 340 of file PathInfo.h.

References userMay().

bool zypp::filesystem::PathInfo::userMayX  )  const [inline]
 

Definition at line 341 of file PathInfo.h.

References userMay().

bool zypp::filesystem::PathInfo::userMayRW  )  const [inline]
 

Definition at line 343 of file PathInfo.h.

References userMay().

bool zypp::filesystem::PathInfo::userMayRX  )  const [inline]
 

Definition at line 344 of file PathInfo.h.

References userMay().

bool zypp::filesystem::PathInfo::userMayWX  )  const [inline]
 

Definition at line 345 of file PathInfo.h.

References userMay().

bool zypp::filesystem::PathInfo::userMayRWX  )  const [inline]
 

Definition at line 347 of file PathInfo.h.

References userMay().

Referenced by zypp::media::MediaCurl::MediaCurl().

ino_t zypp::filesystem::PathInfo::ino  )  const [inline]
 

Definition at line 352 of file PathInfo.h.

References isExist(), and statbuf_C.

dev_t zypp::filesystem::PathInfo::dev  )  const [inline]
 

Definition at line 353 of file PathInfo.h.

References isExist(), and statbuf_C.

dev_t zypp::filesystem::PathInfo::rdev  )  const [inline]
 

Definition at line 354 of file PathInfo.h.

References isExist(), and statbuf_C.

unsigned int zypp::filesystem::PathInfo::major  )  const
 

Definition at line 239 of file PathInfo.cc.

References isBlk(), isChr(), and statbuf_C.

Referenced by zypp::media::MediaCD::forceEject().

unsigned int zypp::filesystem::PathInfo::minor  )  const
 

Definition at line 249 of file PathInfo.cc.

References isBlk(), isChr(), and statbuf_C.

Referenced by zypp::media::MediaCD::forceEject().

off_t zypp::filesystem::PathInfo::size  )  const [inline]
 

Definition at line 362 of file PathInfo.h.

References isExist(), and statbuf_C.

Referenced by zypp::target::rpm::RpmDb::doRebuildDatabase().

unsigned long zypp::filesystem::PathInfo::blksize  )  const [inline]
 

Definition at line 363 of file PathInfo.h.

References isExist(), and statbuf_C.

unsigned long zypp::filesystem::PathInfo::blocks  )  const [inline]
 

Definition at line 364 of file PathInfo.h.

References isExist(), and statbuf_C.

time_t zypp::filesystem::PathInfo::atime  )  const [inline]
 

Definition at line 369 of file PathInfo.h.

References isExist(), and statbuf_C.

time_t zypp::filesystem::PathInfo::mtime  )  const [inline]
 

Definition at line 370 of file PathInfo.h.

References isExist(), and statbuf_C.

time_t zypp::filesystem::PathInfo::ctime  )  const [inline]
 

Definition at line 371 of file PathInfo.h.

References isExist(), and statbuf_C.


Friends And Related Function Documentation

std::ostream & operator<< std::ostream &  str,
const PathInfo obj
[friend]
 

Stream output.

Definition at line 259 of file PathInfo.cc.


Member Data Documentation

Pathname zypp::filesystem::PathInfo::path_t [private]
 

Definition at line 375 of file PathInfo.h.

Referenced by asString(), operator()(), path(), and setPath().

struct stat zypp::filesystem::PathInfo::statbuf_C [private]
 

Definition at line 376 of file PathInfo.h.

Referenced by atime(), blksize(), blocks(), ctime(), dev(), gperm(), group(), ino(), isBlk(), isChr(), isDir(), isFifo(), isFile(), isGid(), isLink(), isRGrp(), isROth(), isRUsr(), isSock(), isUid(), isVtx(), isWGrp(), isWOth(), isWUsr(), isXGrp(), isXOth(), isXUsr(), major(), minor(), mtime(), nlink(), operm(), owner(), perm(), rdev(), size(), st_mode(), and uperm().

Mode zypp::filesystem::PathInfo::mode_e [private]
 

Definition at line 377 of file PathInfo.h.

Referenced by mode(), and setMode().

int zypp::filesystem::PathInfo::error_i [private]
 

Definition at line 378 of file PathInfo.h.

Referenced by error(), isExist(), operator()(), setMode(), and setPath().


The documentation for this class was generated from the following files:
Generated on Thu Jul 6 00:07:32 2006 for zypp by  doxygen 1.4.6