zipios::FilePath Class Reference

FilePath represents a path to a file or directory name. More...

#include <filepath.h>

List of all members.

Public Member Functions

bool exists () const
FilePath filename () const
 Returns filename of the FilePath object by pruning the path off.
 FilePath (const string &path="", bool check_exists=false)
 Constructor.
bool isBlockSpecial () const
bool isCharSpecial () const
bool isDirectory () const
bool isFifo () const
bool isRegular () const
bool isSocket () const
 operator string () const
FilePath operator+ (const FilePath &name) const
 Concatenates FilePath objects.
FilePathoperator= (const string &rhs)

Protected Member Functions

void check () const
 This function sets _checked to true, stats the path, to see if it exists and to determine what type of file it is.
void pruneTrailingSeparator ()
 Prunes the trailing separator of a specified path.

Protected Attributes

bool _checked
bool _exists
bool _is_block
bool _is_char
bool _is_dir
bool _is_fifo
bool _is_reg
bool _is_socket
string _path

Static Protected Attributes

static const char _separator = '/'

Detailed Description

FilePath represents a path to a file or directory name.

FilePath has member functions to check if the file path is a valid file system entity, and to check what kind of file system entity it is, e.g. is it a file, a directory, a pipe etc.

Definition at line 18 of file filepath.h.


Constructor & Destructor Documentation

zipios::FilePath::FilePath ( const string &  path = "",
bool  check_exists = false 
)

Constructor.

Parameters:
path A string representation of the path.
check_exists If true is specified the constructor will check the existence and type of the path immidiately, instead of deferring that task until it is needed.

Definition at line 18 of file filepath.cpp.

References exists(), and pruneTrailingSeparator().


Member Function Documentation

void zipios::FilePath::check (  )  const [protected]

This function sets _checked to true, stats the path, to see if it exists and to determine what type of file it is.

All the query functions check if _checked is true, and if it isn't they call check(). This means stat'ing is deferred until it becomes necessary.

Definition at line 27 of file filepath.cpp.

References _checked, _exists, _is_block, _is_char, _is_dir, _is_fifo, _is_reg, _is_socket, _path, and S_ISSOCK.

Referenced by exists(), isBlockSpecial(), isCharSpecial(), isDirectory(), isFifo(), isRegular(), and isSocket().

bool zipios::FilePath::exists (  )  const [inline]
Returns:
true If the path is a valid file system entity.

Definition at line 129 of file filepath.h.

References _checked, _exists, and check().

Referenced by FilePath().

FilePath zipios::FilePath::filename (  )  const [inline]

Returns filename of the FilePath object by pruning the path off.

Definition at line 119 of file filepath.h.

References _path, _separator, and RobotExample::pos.

bool zipios::FilePath::isBlockSpecial (  )  const [inline]
Returns:
true if the path is block special (a block device file).

Definition at line 157 of file filepath.h.

References _checked, _is_block, and check().

bool zipios::FilePath::isCharSpecial (  )  const [inline]
Returns:
true if the path is character special (a character device file).

Definition at line 150 of file filepath.h.

References _checked, _is_char, and check().

bool zipios::FilePath::isDirectory (  )  const [inline]
Returns:
true if the path is a directory.

Definition at line 143 of file filepath.h.

References _checked, _is_dir, and check().

Referenced by zipios::DirectoryCollection::DirectoryCollection().

bool zipios::FilePath::isFifo (  )  const [inline]
Returns:
true if the path is a Fifo (a pipe).

Definition at line 171 of file filepath.h.

References _checked, _is_fifo, and check().

bool zipios::FilePath::isRegular (  )  const [inline]
Returns:
true if the path is a regular file.

Definition at line 136 of file filepath.h.

References _checked, _is_reg, and check().

bool zipios::FilePath::isSocket (  )  const [inline]
Returns:
true if the path is a socket.

Definition at line 164 of file filepath.h.

References _checked, _is_socket, and check().

zipios::FilePath::operator string (  )  const [inline]

Definition at line 106 of file filepath.h.

References _path.

FilePath zipios::FilePath::operator+ ( const FilePath name  )  const [inline]

Concatenates FilePath objects.

A file separator is inserted if appropriate.

Definition at line 111 of file filepath.h.

References _path, and _separator.

FilePath & zipios::FilePath::operator= ( const string &  rhs  )  [inline]

Definition at line 94 of file filepath.h.

References _path, and pruneTrailingSeparator().

void zipios::FilePath::pruneTrailingSeparator (  )  [inline, protected]

Prunes the trailing separator of a specified path.

Definition at line 100 of file filepath.h.

References _path, and _separator.

Referenced by FilePath(), and operator=().


Member Data Documentation

bool zipios::FilePath::_checked [mutable, protected]
bool zipios::FilePath::_exists [mutable, protected]

Definition at line 79 of file filepath.h.

Referenced by check(), and exists().

bool zipios::FilePath::_is_block [mutable, protected]

Definition at line 83 of file filepath.h.

Referenced by check(), and isBlockSpecial().

bool zipios::FilePath::_is_char [mutable, protected]

Definition at line 82 of file filepath.h.

Referenced by check(), and isCharSpecial().

bool zipios::FilePath::_is_dir [mutable, protected]

Definition at line 81 of file filepath.h.

Referenced by check(), and isDirectory().

bool zipios::FilePath::_is_fifo [mutable, protected]

Definition at line 85 of file filepath.h.

Referenced by check(), and isFifo().

bool zipios::FilePath::_is_reg [mutable, protected]

Definition at line 80 of file filepath.h.

Referenced by check(), and isRegular().

bool zipios::FilePath::_is_socket [mutable, protected]

Definition at line 84 of file filepath.h.

Referenced by check(), and isSocket().

string zipios::FilePath::_path [protected]
const char zipios::FilePath::_separator = '/' [static, protected]

Definition at line 75 of file filepath.h.

Referenced by filename(), operator+(), and pruneTrailingSeparator().


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

Generated on Wed Nov 23 19:02:51 2011 for FreeCAD by  doxygen 1.6.1