PTLib  Version 2.12.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PFileInfo Class Reference

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

#include <pdirect.h>

Inheritance diagram for PFileInfo:
Collaboration 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
unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
void SetTraceContextIdentifier (unsigned id)
 
void GetTraceContextIdentifier (PObject &obj)
 
void GetTraceContextIdentifier (PObject *obj)
 
void SetTraceContextIdentifier (const PObject &obj)
 
void SetTraceContextIdentifier (const PObject *obj)
 
virtual ~PObject ()
 
virtual PObjectClone () const
 Create a copy of the class on the heap. More...
 
template<class CLS >
CLS * CloneAs () const
 As for Clone() but converts to specified type. 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...
 
__inline const PObjectPTraceObjectInstance () const
 
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...
 
static __inline const PObjectPTraceObjectInstance (const char *)
 
static __inline const PObjectPTraceObjectInstance (const PObject *obj)
 
- Protected Member Functions inherited from PObject
 PObject ()
 Constructor for PObject, made protected so cannot ever create one on its own. More...
 
- Protected Attributes inherited from PObject
unsigned m_traceContextIdentifier
 
- Friends inherited from PObject

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

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.

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

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.

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.

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.

PTime PFileInfo::modified

Time of last modifiaction of the file.

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.

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.

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: