libzypp  10.5.0
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.
const char * c_str () const
 Return current Pathname as C-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
struct stat statbuf_C
Mode mode_e
int error_i

Friends

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

Related Functions

(Note that these are not member functions.)

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 218 of file PathInfo.h.


Member Enumeration Documentation

stat() or lstat()

Enumerator:
STAT 
LSTAT 

Definition at line 224 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.

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

Definition at line 151 of file PathInfo.cc.

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

Definition at line 164 of file PathInfo.cc.

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 244 of file PathInfo.h.

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

Return current Pathname as String.

Definition at line 246 of file PathInfo.h.

const char* zypp::filesystem::PathInfo::c_str ( ) const [inline]

Return current Pathname as C-string.

Definition at line 248 of file PathInfo.h.

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

Return current stat Mode.

Definition at line 250 of file PathInfo.h.

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

Return error returned from last stat/lstat call.

Definition at line 252 of file PathInfo.h.

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

Set a new Pathname.

Definition at line 255 of file PathInfo.h.

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

Set a new Mode .

Definition at line 257 of file PathInfo.h.

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

STAT path.

Definition at line 260 of file PathInfo.h.

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

LSTAT path.

Definition at line 262 of file PathInfo.h.

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

Restat path using current mode.

Definition at line 264 of file PathInfo.h.

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

STAT current path.

Definition at line 267 of file PathInfo.h.

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

LSTAT current path.

Definition at line 269 of file PathInfo.h.

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

Restat current path using current mode.

Definition at line 186 of file PathInfo.cc.

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 279 of file PathInfo.h.

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

Definition at line 210 of file PathInfo.cc.

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

Definition at line 287 of file PathInfo.h.

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

Definition at line 288 of file PathInfo.h.

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

Definition at line 289 of file PathInfo.h.

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

Definition at line 290 of file PathInfo.h.

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

Definition at line 291 of file PathInfo.h.

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

Definition at line 292 of file PathInfo.h.

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

Definition at line 293 of file PathInfo.h.

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

Definition at line 296 of file PathInfo.h.

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

Definition at line 297 of file PathInfo.h.

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

Definition at line 298 of file PathInfo.h.

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

Definition at line 300 of file PathInfo.h.

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

Definition at line 301 of file PathInfo.h.

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

Definition at line 302 of file PathInfo.h.

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

Definition at line 304 of file PathInfo.h.

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

Definition at line 305 of file PathInfo.h.

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

Definition at line 306 of file PathInfo.h.

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

Definition at line 308 of file PathInfo.h.

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

Definition at line 309 of file PathInfo.h.

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

Definition at line 310 of file PathInfo.h.

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

Definition at line 312 of file PathInfo.h.

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

Definition at line 313 of file PathInfo.h.

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

Definition at line 314 of file PathInfo.h.

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

Definition at line 316 of file PathInfo.h.

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

Definition at line 317 of file PathInfo.h.

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

Definition at line 319 of file PathInfo.h.

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

Definition at line 320 of file PathInfo.h.

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

Definition at line 321 of file PathInfo.h.

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

Definition at line 322 of file PathInfo.h.

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

Definition at line 324 of file PathInfo.h.

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

Return st_mode() as filesystem::StatMode.

Definition at line 328 of file PathInfo.h.

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

Definition at line 330 of file PathInfo.h.

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

Definition at line 334 of file PathInfo.h.

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

Definition at line 335 of file PathInfo.h.

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

Returns current users permission ([0-7])

Definition at line 222 of file PathInfo.cc.

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

Definition at line 343 of file PathInfo.h.

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

Definition at line 344 of file PathInfo.h.

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

Definition at line 345 of file PathInfo.h.

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

Definition at line 347 of file PathInfo.h.

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

Definition at line 348 of file PathInfo.h.

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

Definition at line 349 of file PathInfo.h.

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

Definition at line 351 of file PathInfo.h.

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

Definition at line 356 of file PathInfo.h.

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

Definition at line 357 of file PathInfo.h.

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

Definition at line 358 of file PathInfo.h.

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

Definition at line 239 of file PathInfo.cc.

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

Definition at line 249 of file PathInfo.cc.

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

Definition at line 366 of file PathInfo.h.

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

Definition at line 367 of file PathInfo.h.

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

Definition at line 368 of file PathInfo.h.

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

Definition at line 373 of file PathInfo.h.

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

Definition at line 374 of file PathInfo.h.

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

Definition at line 375 of file PathInfo.h.


Friends And Related Function Documentation

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

Definition at line 259 of file PathInfo.cc.

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

Stream output.

Definition at line 259 of file PathInfo.cc.


Member Data Documentation

Definition at line 379 of file PathInfo.h.

Definition at line 380 of file PathInfo.h.

Definition at line 381 of file PathInfo.h.

Definition at line 382 of file PathInfo.h.


The documentation for this class was generated from the following files: