PFileInfo Class Reference

Class containing the system information on a file path. More...

`#include <pdirect.h>`

Inheritance diagram for PFileInfo:

## Public Types

enum | FileTypes { RegularFile = 1, SymbolicLink = 2, SubDirectory = 4, CharDevice = 8, BlockDevice = 16, Fifo = 32, SocketDevice = 64, UnknownFileType = 256, AllFiles = 0x1ff }
| All types that a particular file path may be. More...
enum | Permissions { WorldExecute = 1, WorldWrite = 2, WorldRead = 4, GroupExecute = 8, GroupWrite = 16, GroupRead = 32, UserExecute = 64, UserWrite = 128, UserRead = 256, AllPermissions = 0x1ff, DefaultPerms = UserRead|UserWrite|GroupRead|WorldRead, DefaultDirPerms = DefaultPerms|UserExecute|GroupExecute|WorldExecute }
| File access permissions for the file. More...
Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...

## Public Attributes

FileTypes | type
| File type for this file. Only one bit is set at a time here. More...
PTime | created
| Time of file creation of the file. More...
PTime | modified
| Time of last modifiaction of the file. More...
PTime | accessed
| Time of last access to the file. More...
PUInt64 | size
| Size of the file in bytes. More...
int | permissions
| A bit mask of all the file acces permissions. More...
PBoolean | hidden
| File is a hidden file. More...

## Additional Inherited Members

Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. More...
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
virtual void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...
Static Public Member Functions inherited from PObject
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
static const char * | Class ()
| Get the name of the class as a C string. More...
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...

## Detailed Description

Class containing the system information on a file path.

Information can be obtained on any directory entry event if it is not a "file" in the strictest sense. Sub-directories, devices etc may also have information retrieved.

## Member Enumeration Documentation

## FileTypes

enum PFileInfo::FileTypes

All types that a particular file path may be.

Not all platforms support all of the file types. For example under DOS no file may be of the type `SymbolicLink`.

Enumerator
RegularFile | Ordinary disk file.
SymbolicLink | File path is a symbolic link.
SubDirectory | File path is a sub-directory.
CharDevice | File path is a character device name.
BlockDevice | File path is a block device name.
Fifo | File path is a fifo (pipe) device.
SocketDevice | File path is a socket device.
UnknownFileType | File path is of an unknown type.
AllFiles | Mask for all file types.

## Permissions

enum PFileInfo::Permissions

File access permissions for the file.

Enumerator
WorldExecute | File has world execute permission.
WorldWrite | File has world write permission.
WorldRead | File has world read permission.
GroupExecute | File has group execute permission.
GroupWrite | File has group write permission.
GroupRead | File has group read permission.
UserExecute | File has owner execute permission.
UserWrite | File has owner write permission.
UserRead | File has owner read permission.
AllPermissions | All possible permissions.
DefaultPerms | Owner read & write plus group and world read permissions.
DefaultDirPerms | Owner read & write & execute plus group and world read & exectute permissions.

## Member Data Documentation

## accessed

PTime PFileInfo::accessed

Time of last access to the file.

Not all platforms support a separate access time in which case the last modified time is returned.

## created

PTime PFileInfo::created

Time of file creation of the file.

Not all platforms support a separate creation time in which case the last modified time is returned.

## hidden

PBoolean PFileInfo::hidden

File is a hidden file.

What constitutes a hidden file is platform dependent, for example under unix it is a file beginning with a '.' character while under MS-DOS there is a file system attribute for it.

## modified

PTime PFileInfo::modified

Time of last modifiaction of the file.

## permissions

int PFileInfo::permissions

A bit mask of all the file acces permissions.

See the `Permissions` enum# for the possible bit values.

Not all platforms support all permissions.

## size

PUInt64 PFileInfo::size

Size of the file in bytes.

This is a quadword or 8 byte value to allow for files greater than 4 gigabytes.

## type

FileTypes PFileInfo::type

File type for this file. Only one bit is set at a time here.

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

- pdirect.h