filestatus Class Reference

Retrieve information about a file or directory. More...

#include <fs.h>

List of all members.

Public Types

typedef mode_t mode_type
typedef ino_t inode_type
typedef dev_t device_type
typedef uint32 major_type
typedef uint32 minor_type
typedef nlink_t num_links_type
typedef uid_t uid_type
typedef gid_t gid_type
typedef uint64 size_type
typedef time_t time_type
enum  filetype { type_unknown }

Public Member Functions

 filestatus ()
 C'tor.

 filestatus (const std::string a_path)
 C'tor.

 ~filestatus ()
 D'tor.

void path (const std::string a_path)
 Retrieve information about a pathname.

const std::string path (void) const
 Return the pathname that this filestatus object has information about.

const filetype type (void) const
 Return the type of file.

const std::string link (void) const
 If the pathname is a link, return the path it is linked to.

const mode_type mode (void) const
 Return the file mode.

const inode_type inode (void) const
 Return the file inode.

const device_type dev (void) const
 Return the file's device.

const device_type rdev (void) const
 Return the file's raw device.

const major_type get_major (void) const
 If the pathname is a special file, return it's major number.

const minor_type get_minor (void) const
 If the pathname is a special file, return it's minor number.

const num_links_type num_links (void) const
 Return the number of links to this file.

const uid_type uid (void) const
 Return the file's owner's UID.

const gid_type gid (void) const
 Return the file's owner's GID.

const size_type size (void) const
 Return the file size in bytes.

const time_type last_access_time (void) const
 Return the last access time of this file.

const time_type last_modification_time (void) const
 Return the last modification time of this file.

const time_type last_status_change_time (void) const
 Return the last status change time of this file.

const size_type blocksize (void) const
 Return the blocksize used to store this file.

const size_type blocks (void) const
 Return the number of blocks used to store this file.

const bool uid_is_found (void) const
 If the file's owner's UID is found in the passwd file, return true.

const bool gid_is_found (void) const
 If the file's owner's GID is found in the passwd file, return true.

const std::string uid_name (void) const
 Return the file's owner's user name (from UID).

const std::string gid_name (void) const
 Return the file's owner's group name (from UID).

void clear (void)
 Clear all values.


Private Attributes

std::string m_path
stat m_stat
std::string m_link
major_type m_major
minor_type m_minor
bool m_uidfound
bool m_gidfound
std::string m_uname
std::string m_gname


Detailed Description

Retrieve information about a file or directory.

Definition at line 117 of file fs.h.


Member Typedef Documentation

typedef dev_t filestatus::device_type
 

Definition at line 149 of file fs.h.

Referenced by dev(), and rdev().

typedef gid_t filestatus::gid_type
 

Definition at line 154 of file fs.h.

Referenced by gid().

typedef ino_t filestatus::inode_type
 

Definition at line 148 of file fs.h.

Referenced by inode().

typedef uint32 filestatus::major_type
 

Definition at line 150 of file fs.h.

Referenced by get_major().

typedef uint32 filestatus::minor_type
 

Definition at line 151 of file fs.h.

Referenced by get_minor().

typedef mode_t filestatus::mode_type
 

Definition at line 147 of file fs.h.

Referenced by mode().

typedef nlink_t filestatus::num_links_type
 

Definition at line 152 of file fs.h.

Referenced by num_links().

typedef uint64 filestatus::size_type
 

Definition at line 155 of file fs.h.

Referenced by blocks(), blocksize(), and size().

typedef time_t filestatus::time_type
 

Definition at line 156 of file fs.h.

Referenced by last_access_time(), last_modification_time(), and last_status_change_time().

typedef uid_t filestatus::uid_type
 

Definition at line 153 of file fs.h.

Referenced by uid().


Member Enumeration Documentation

enum filestatus::filetype
 

Enumeration values:
type_unknown 

Definition at line 120 of file fs.h.

Referenced by type().


Constructor & Destructor Documentation

filestatus::filestatus  ) 
 

C'tor.

Definition at line 758 of file fs.cc.

filestatus::filestatus const std::string  a_path  ) 
 

C'tor.

Definition at line 763 of file fs.cc.

References path().

Here is the call graph for this function:

filestatus::~filestatus  ) 
 

D'tor.

Definition at line 769 of file fs.cc.


Member Function Documentation

const filestatus::size_type filestatus::blocks void   )  const
 

Return the number of blocks used to store this file.

Definition at line 988 of file fs.cc.

References m_stat, estring::size_type, and size_type.

const filestatus::size_type filestatus::blocksize void   )  const
 

Return the blocksize used to store this file.

Definition at line 978 of file fs.cc.

References m_stat, estring::size_type, and size_type.

void filestatus::clear void   ) 
 

Clear all values.

Definition at line 1262 of file fs.cc.

References m_gidfound, m_gname, m_major, m_minor, m_path, m_stat, m_uidfound, m_uname, and TRY_nomem.

Referenced by path().

const filestatus::device_type filestatus::dev void   )  const
 

Return the file's device.

Definition at line 908 of file fs.cc.

References device_type, and m_stat.

const filestatus::major_type filestatus::get_major void   )  const
 

If the pathname is a special file, return it's major number.

Definition at line 920 of file fs.cc.

References m_major, and major_type.

const filestatus::minor_type filestatus::get_minor void   )  const
 

If the pathname is a special file, return it's minor number.

Definition at line 926 of file fs.cc.

References m_minor, and minor_type.

const filestatus::gid_type filestatus::gid void   )  const
 

Return the file's owner's GID.

Definition at line 944 of file fs.cc.

References gid_type, and m_stat.

const bool filestatus::gid_is_found void   )  const
 

If the file's owner's GID is found in the passwd file, return true.

Definition at line 1004 of file fs.cc.

References m_gidfound.

const std::string filestatus::gid_name void   )  const
 

Return the file's owner's group name (from UID).

Definition at line 1016 of file fs.cc.

References m_gname.

const filestatus::inode_type filestatus::inode void   )  const
 

Return the file inode.

Definition at line 902 of file fs.cc.

References inode_type, and m_stat.

const filestatus::time_type filestatus::last_access_time void   )  const
 

Return the last access time of this file.

Definition at line 960 of file fs.cc.

References m_stat, and time_type.

const filestatus::time_type filestatus::last_modification_time void   )  const
 

Return the last modification time of this file.

Definition at line 966 of file fs.cc.

References m_stat, and time_type.

const filestatus::time_type filestatus::last_status_change_time void   )  const
 

Return the last status change time of this file.

Definition at line 972 of file fs.cc.

References m_stat, and time_type.

const std::string filestatus::link void   )  const
 

If the pathname is a link, return the path it is linked to.

Definition at line 890 of file fs.cc.

References m_link.

Referenced by test_mk_relative_symlink(), and test_mk_symlink().

const filestatus::mode_type filestatus::mode void   )  const
 

Return the file mode.

Definition at line 896 of file fs.cc.

References m_stat, and mode_type.

const filestatus::num_links_type filestatus::num_links void   )  const
 

Return the number of links to this file.

Definition at line 932 of file fs.cc.

References m_stat, and num_links_type.

const std::string filestatus::path void   )  const
 

Return the pathname that this filestatus object has information about.

Definition at line 838 of file fs.cc.

References m_path.

Referenced by filestatus().

void filestatus::path const std::string  a_path  ) 
 

Retrieve information about a pathname.

Definition at line 774 of file fs.cc.

References clear(), ERROR, m_gidfound, m_gname, m_link, m_major, m_minor, m_path, m_stat, m_uidfound, m_uname, reform_path(), and TRY_nomem.

Referenced by directory::path(), subdirectory::path(), rm_recursive(), test_filestatus(), test_mk_relative_symlink(), and test_mk_symlink().

Here is the call graph for this function:

const filestatus::device_type filestatus::rdev void   )  const
 

Return the file's raw device.

Definition at line 914 of file fs.cc.

References device_type, and m_stat.

const filestatus::size_type filestatus::size void   )  const
 

Return the file size in bytes.

Definition at line 950 of file fs.cc.

References m_stat, estring::size_type, and size_type.

Referenced by test_filestatus().

const filestatus::filetype filestatus::type void   )  const
 

Return the type of file.

Definition at line 844 of file fs.cc.

References filetype, and m_stat.

const filestatus::uid_type filestatus::uid void   )  const
 

Return the file's owner's UID.

Definition at line 938 of file fs.cc.

References m_stat, and uid_type.

const bool filestatus::uid_is_found void   )  const
 

If the file's owner's UID is found in the passwd file, return true.

Definition at line 998 of file fs.cc.

References m_uidfound.

const std::string filestatus::uid_name void   )  const
 

Return the file's owner's user name (from UID).

Definition at line 1010 of file fs.cc.

References m_uname.


Member Data Documentation

bool filestatus::m_gidfound [private]
 

Definition at line 258 of file fs.h.

Referenced by clear(), gid_is_found(), and path().

std::string filestatus::m_gname [private]
 

Definition at line 260 of file fs.h.

Referenced by clear(), gid_name(), and path().

std::string filestatus::m_link [private]
 

Definition at line 254 of file fs.h.

Referenced by link(), and path().

major_type filestatus::m_major [private]
 

Definition at line 255 of file fs.h.

Referenced by clear(), get_major(), and path().

minor_type filestatus::m_minor [private]
 

Definition at line 256 of file fs.h.

Referenced by clear(), get_minor(), and path().

std::string filestatus::m_path [private]
 

Definition at line 252 of file fs.h.

Referenced by clear(), and path().

struct stat filestatus::m_stat [private]
 

Definition at line 253 of file fs.h.

Referenced by blocks(), blocksize(), clear(), dev(), gid(), inode(), last_access_time(), last_modification_time(), last_status_change_time(), mode(), num_links(), path(), rdev(), size(), type(), and uid().

bool filestatus::m_uidfound [private]
 

Definition at line 257 of file fs.h.

Referenced by clear(), path(), and uid_is_found().

std::string filestatus::m_uname [private]
 

Definition at line 259 of file fs.h.

Referenced by clear(), path(), and uid_name().


The documentation for this class was generated from the following files:
Generated on Mon Jul 12 12:10:32 2004 for rvm by doxygen 1.3.6