PTLib
Version 2.18.8
|
Class containing the system information on a file path. More...
#include <pdirect.h>
Public Member Functions | |
P_DECLARE_BITWISE_ENUM_EX (FileTypes, 10,(NoFileType, RegularFile, SymbolicLink, SubDirectory, ParentDirectory, CurrentDirectory, CharDevice, BlockDevice, Fifo, SocketDevice, UnknownFileType), AllFiles=0x3ff, DefaultSearch=RegularFile|SymbolicLink|SubDirectory) | |
All types that a particular file path may be. More... | |
P_DECLARE_BITWISE_ENUM_EX (Permissions, 9,(NoPermissions, WorldExecute, WorldWrite, WorldRead, GroupExecute, GroupWrite, GroupRead, UserExecute, UserWrite, UserRead), AllPermissions=0x1ff, DefaultPerms=UserRead|UserWrite|GroupRead|WorldRead, DefaultDirPerms=DefaultPerms|UserExecute|GroupExecute|WorldExecute) | |
File access permissions for the file. More... | |
![]() | |
__inline unsigned | GetTraceContextIdentifier () const |
Get PTRACE context identifier. More... | |
__inline void | SetTraceContextIdentifier (unsigned id) |
__inline void | SetTraceContextIdentifier (const PObject &obj) |
__inline void | SetTraceContextIdentifier (const PObject *obj) |
__inline void | CopyTraceContextIdentifier (PObject &obj) const |
__inline void | CopyTraceContextIdentifier (PObject *obj) const |
virtual | ~PObject () |
__inline const char * | GetClass () const |
__inline bool | IsClass (const char *name) const |
__inline const PObject * | PTraceObjectInstance () const |
virtual PObject * | Clone () 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 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... | |
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... | |
Permissions | permissions |
A bit mask of all the file acces permissions. More... | |
bool | hidden |
File is a hidden file. More... | |
Additional Inherited Members | |
![]() | |
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 } |
Result of the comparison operation performed by the Compare() function. More... | |
![]() | |
static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject &from) |
static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject *from) |
static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject &from) |
static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject *from) |
static __inline const char * | Class () |
static __inline const PObject * | PTraceObjectInstance (const char *) |
static __inline const PObject * | PTraceObjectInstance (const PObject *obj) |
template<typename T > | |
static Comparison | Compare2 (T v1, T v2) |
Compare two types, returning Comparison type. More... | |
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
Internal function caled from CompareObjectMemoryDirect() More... | |
![]() | |
PObject () | |
Constructor for PObject, made protected so cannot ever create one on its own. More... | |
![]() | |
unsigned | m_traceContextIdentifier |
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.
PFileInfo::P_DECLARE_BITWISE_ENUM_EX | ( | FileTypes | , |
10 | , | ||
(NoFileType, RegularFile, SymbolicLink, SubDirectory, ParentDirectory, CurrentDirectory, CharDevice, BlockDevice, Fifo, SocketDevice, UnknownFileType) | , | ||
AllFiles | = 0x3ff , |
||
DefaultSearch | = RegularFile|SymbolicLink|SubDirectory |
||
) |
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
.
PFileInfo::P_DECLARE_BITWISE_ENUM_EX | ( | Permissions | , |
9 | , | ||
(NoPermissions, WorldExecute, WorldWrite, WorldRead, GroupExecute, GroupWrite, GroupRead, UserExecute, UserWrite, UserRead) | , | ||
AllPermissions | = 0x1ff , |
||
DefaultPerms | = UserRead|UserWrite|GroupRead|WorldRead , |
||
DefaultDirPerms | = DefaultPerms|UserExecute|GroupExecute|WorldExecute |
||
) |
File access permissions for the file.
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.
bool 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.
Permissions 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.