ALib C++ Library
Library Version: 2412 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
FInfo Class Reference

Description:

The entry type which is embedded in each tree node.

Definition at line 25 of file finfo.hpp.

#include <finfo.hpp>

Collaboration diagram for FInfo:
[legend]

Inner Type Index:

struct  Bits
 A bitfield encoding various information. More...
 
struct  DirectorySums
 Recursively accumulated values for directories. More...
 
struct  EIDirectory
 
struct  EISymLinkDir
 
struct  EISymLinkFile
 
struct  ExtendedEntryInfo
 Base type to create pointers to different extended entry information structs. More...
 

Public Type Index:

enum class  Permissions : uint32_t {
  NONE = 0 , UNKNOWN = 010000 , MASK = 07777 , ALL = 0777 ,
  OWNER_READ = 0400 , OWNER_WRITE = 0200 , OWNER_EXEC = 0100 , OWNER_ALL = 0700 ,
  GROUP_READ = 040 , GROUP_WRITE = 020 , GROUP_EXEC = 010 , GROUP_ALL = 070 ,
  OTHERS_READ = 04 , OTHERS_WRITE = 02 , OTHERS_EXEC = 01 , OTHERS_ALL = 07 ,
  SET_UID = 04000 , SET_GID = 02000 , STICKY_BIT = 01000
}
 Permission flags. Compatible with posix* definition. More...
 
enum class  Qualities : uint8_t {
  NONE = 0 , STATS = 1 , RESOLVED = 2 , MAX_DEPTH_REACHED = 3 ,
  NOT_FOLLOWED = 4 , NOT_CROSSING_FS = 5 , NO_AFS = 6 , RECURSIVE = 7 ,
  NO_ACCESS = 8 , NO_ACCESS_SL = 9 , NO_ACCESS_SL_TARGET =10 , NO_ACCESS_DIR =11 ,
  BROKEN_LINK =12 , CIRCULAR_LINK =13 , DUPLICATE =14 , NOT_EXISTENT =15 ,
  UNKNOWN_ERROR =16
}
 Per-entry information about how a node was scanned. More...
 
enum class  Qualities3Letters : uint8_t {
  NONE = 0 , STATS = 1 , RESOLVED = 2 , MAX_DEPTH_REACHED = 3 ,
  NOT_FOLLOWED = 4 , NOT_CROSSING_FS = 5 , NO_AFS = 6 , RECURSIVE = 7 ,
  NO_ACCESS = 8 , NO_ACCESS_SL = 9 , NO_ACCESS_SL_TARGET =10 , NO_ACCESS_DIR =11 ,
  BROKEN_LINK =12 , CIRCULAR_LINK =13 , DUPLICATE =14 , NOT_EXISTENT =15 ,
  UNKNOWN_ERROR =16
}
 
using TOwnerAndGroupID = uint32_t
 Type definition for owner and group ids.
 
enum class  TypeNames1Letter : uint8_t {
  DIRECTORY = 0 , SYMBOLIC_LINK_DIR = 1 , REGULAR = 2 , SYMBOLIC_LINK = 3 ,
  BLOCK = 4 , CHARACTER = 5 , FIFO = 6 , SOCKET = 7
}
 
enum class  TypeNames2Letters : uint8_t {
  DIRECTORY = 0 , SYMBOLIC_LINK_DIR = 1 , REGULAR = 2 , SYMBOLIC_LINK = 3 ,
  BLOCK = 4 , CHARACTER = 5 , FIFO = 6 , SOCKET = 7
}
 
enum class  TypeNames3Letters : uint8_t {
  DIRECTORY = 0 , SYMBOLIC_LINK_DIR = 1 , REGULAR = 2 , SYMBOLIC_LINK = 3 ,
  BLOCK = 4 , CHARACTER = 5 , FIFO = 6 , SOCKET = 7
}
 
enum class  Types : uint8_t {
  DIRECTORY = 0 , SYMBOLIC_LINK_DIR = 1 , REGULAR = 2 , SYMBOLIC_LINK = 3 ,
  BLOCK = 4 , CHARACTER = 5 , FIFO = 6 , SOCKET = 7 ,
  UNKNOWN_OR_ERROR = 8 , MARKER_TYPES_END = 9
}
 

Public Static Field Index:

static constexpr TOwnerAndGroupID UnknownID = (std::numeric_limits<uint32_t>::max)()
 Constant value for owner and group IDs to denote that the field was not determined.
 

Public Method Index:

constexpr DateTime ADate () const noexcept
 
constexpr DateTime BDate () const noexcept
 
constexpr DateTime CDate () const noexcept
 
constexpr ExtendedEntryInfoGetExtendedInfo () const
 
lang::system::CPathStringGetLinkTarget () const noexcept
 
lang::system::CPathStringGetRealLinkTarget () const noexcept
 
constexpr uint32_t Group () const noexcept
 
constexpr bool IsArtificialFS () const noexcept
 
constexpr bool IsCrossingFS () const noexcept
 
constexpr bool IsDirectory () const noexcept
 
constexpr bool IsSymbolicLink () const noexcept
 
constexpr DateTime MDate () const noexcept
 
constexpr uint32_t Owner () const noexcept
 
constexpr Permissions Perms () const noexcept
 
constexpr uint32_t QtyHardLinks () const noexcept
 
constexpr Qualities Quality () const noexcept
 
void SetADate (DateTime v) noexcept
 Sets the time of last access of this file/folder.
 
void SetArtificialFS () noexcept
 Mark the entry as residing on an artificial filesystem.
 
void SetBDate (DateTime v) noexcept
 Sets the birth date of this file/folder.
 
void SetCDate (DateTime v) noexcept
 Sets the change date of this file/folder.
 
void SetCrossingFS () noexcept
 Mark the entry as residing on a different filesystem than its parent.
 
constexpr void SetExtendedInfo (ExtendedEntryInfo *extInfo)
 
void SetGroup (uint32_t v) noexcept
 Sets the ID of the group of the file/folder.
 
void SetLinkTarget (FTree &tree, const lang::system::PathString &target, const lang::system::PathString &realTarget)
 
void SetMDate (DateTime v) noexcept
 Sets the last modification date of this file/folder.
 
void SetOwner (uint32_t v) noexcept
 Sets the ID of the owner of the file/folder.
 
void SetPerms (Permissions v) noexcept
 Sets the permissions of the entry.
 
void SetQtyHardlinks (uint32_t v) noexcept
 Sets the number of hard links that point to this file.
 
void SetQuality (Qualities v) noexcept
 Sets the quality of scan of the entry.
 
void SetSize (uinteger v) noexcept
 Sets the file size.
 
constexpr void SetSums (const DirectorySums &sums) const
 
void SetTargetArtificialFS () noexcept
 Mark the entry as a symlink who's target is residing on an artificial filesystem.
 
void SetTargetCrossingFS () noexcept
 Mark the entry as a symlink who's target is residing on a different filesystem than the symlink.
 
void SetType (Types v) noexcept
 Sets the type of the entry.
 
constexpr uinteger Size () const noexcept
 
constexpr DirectorySumsSums () const
 
constexpr bool TargetIsArtificialFS () const noexcept
 
constexpr bool TargetIsCrossingFS () const noexcept
 
constexpr Types Type () const noexcept
 

Protected Field Index:

DateTime aDate
 
DateTime bDate
 
Bits bits
 A bitfield encoding various information.
 
DateTime cDate
 
void * custom = nullptr
 Pool-allocated custom data.
 
const std::type_info * dbgCustomType = nullptr
 The custom type attached. Used for asserting misuse in debug-compilations.
 
ExtendedEntryInfoextendedInfo = nullptr
 Extended information, depending on the entry type.
 
uint32_t group
 The group id that owns the file.
 
DateTime mDate
 
uint32_t owner
 The user id that owns the file.
 
uint32_t qtyHardLinks
 The number of hard links to the file.
 
uinteger size
 The file size. In case of a directory, this is 0.
 

Friends And Related Entity Details:

◆ File

friend class File
friend

Allow access from within class File.

Definition at line 29 of file finfo.hpp.

◆ FTree

friend class FTree
friend

Allow access from within class File.

Definition at line 28 of file finfo.hpp.

Type Definition Details:

◆ TOwnerAndGroupID

using TOwnerAndGroupID = uint32_t

Type definition for owner and group ids.

Definition at line 127 of file finfo.hpp.

Enumeration Details:

◆ Permissions

enum class Permissions : uint32_t
strong

Permission flags. Compatible with posix* definition.

Enumerator
NONE 

no permission bits are set

UNKNOWN 

Unknown permissions (e.g., when not read, or filesystem does not support permissions)

MASK 

All valid permission bits. Equivalent to all | set_uid | set_gid | sticky_bit.

ALL 

All users have read, write, and execute/search permissions Equivalent to owner_all | group_all | others_all.

OWNER_WRITE 

< S_IRUSR File owner has read permission

OWNER_EXEC 

< S_IWUSR File owner has write permission

OWNER_ALL 

< S_IXUSR File owner has execute/search permission

GROUP_READ 

< S_IRWXU File owner has read, write, and execute/search permissions Equivalent to owner_read | owner_write | owner_exec

GROUP_WRITE 

< S_IRGRP The file's user group has read permission

GROUP_EXEC 

< S_IWGRP The file's user group has write permission

GROUP_ALL 

< S_IXGRP The file's user group has execute/search permission

OTHERS_READ 

< S_IRWXG The file's user group has read, write, and execute/search permissions Equivalent to group_read | group_write | group_exec

S_IROTH Other users have read permission

OTHERS_WRITE 

S_IWOTH Other users have write permission.

OTHERS_EXEC 

S_IXOTH Other users have execute/search permission.

OTHERS_ALL 

S_IRWXO Other users have read, write, and execute/search permissions Equivalent to others_read | others_write | others_exec.

SET_UID 

S_ISUID Set user ID to file owner user ID on execution.

SET_GID 

S_ISGID Set group ID to file's user group ID on execution.

STICKY_BIT 

S_ISVTX Implementation-defined meaning, but POSIX XSI specifies that when set on a directory, only file owners may delete files even if the directory is writeable to others (used with /tmp)

Definition at line 99 of file finfo.hpp.

◆ Qualities

enum class Qualities : uint8_t
strong

Per-entry information about how a node was scanned.

Enumerator
NONE 

Node created only from given (real) start path.

STATS 

Only stats (size, date, owner, etc.) read.

RESOLVED 

Read symlink target strings.

MAX_DEPTH_REACHED 

Scanner stopped, because maximum depth was reached.

NOT_FOLLOWED 

A symbolic link that targets a directory, but scan parameters specify not to follow.

NOT_CROSSING_FS 

A directory that represented a mounted filesystem was not followed due to field.

NO_AFS 

A directory that represented a mounted filesystem was not followed due to field ScanParameters::CrossFileSystems being set to false.

RECURSIVE 

Follow symlink target strings.

NO_ACCESS 

Scanner failure due to limited access rights.

NO_ACCESS_SL 

Scanner failure due to limited access rights.

NO_ACCESS_SL_TARGET 

Scanner failure due to limited access rights.

NO_ACCESS_DIR 

Scanner failure due to limited access rights.

BROKEN_LINK 

A symbolic link targets a non-existent file or directory.

CIRCULAR_LINK 

Set if recursion stopped on a symbolic link which was identified by the operating system as a circular link.

DUPLICATE 

Set if recursion stopped on a symbolic link who's target had been scanned already. This might happen either because the path was already scanned by another search, or because a symbolic link is circular or because of a mixture of both. Thus, this can indicate a circular link, but does not have to.

NOT_EXISTENT 

Set if a given start path does not exist.

UNKNOWN_ERROR 

Unknown scanner failure.

Definition at line 133 of file finfo.hpp.

◆ Qualities3Letters

enum class Qualities3Letters : uint8_t
strong

This is a resourced enumeration that is equivalent to enum class Qualities but uses a 3-Letter code when serialized.

Enumerator
NONE 

NON: Node created only from given (real) start path.

STATS 

STA: Only stats (size, date, owner, etc.) read.

RESOLVED 

RES: Read symlink target strings.

MAX_DEPTH_REACHED 

MDR:Scanner stopped, because maximum depth was reached.

NOT_FOLLOWED 

NFO:A symbolic link that targets a directory, but scan parameters specify not to follow.

NOT_CROSSING_FS 

NCF:A directory that represented a mounted filesystem was not followed due to field.

NO_AFS 

ScanParameters::CrossFileSystems being set to false.

NAF:A directory that represented a mounted filesystem was not followed due to field

RECURSIVE 

REC:Follow symlink target strings.

NO_ACCESS 

NAC: Scanner failure due to limited access rights.

NO_ACCESS_SL 

NSL: Scanner failure due to limited access rights.

NO_ACCESS_SL_TARGET 

NAT: Scanner failure due to limited access rights.

NO_ACCESS_DIR 

NAD: Scanner failure due to limited access rights.

BROKEN_LINK 

BRL: A symbolic link targets a non-existent file or directory.

CIRCULAR_LINK 

operating system as a circular link.

CIL: Set if recursion stopped on a symbolic link which was identified by the

DUPLICATE 

DUP: Set if recursion stopped on a symbolic link who's target had been scanned already. This might happen either because the path was already scanned by another search, or because a symbolic link is circular or because of a mixture of both. Thus, this can indicate a circular link, but does not have to.

NOT_EXISTENT 

NEX: Set if a given start path does not exist.

UNKNOWN_ERROR 

UKE: Unknown scanner failure.

Definition at line 164 of file finfo.hpp.

◆ TypeNames1Letter

enum class TypeNames1Letter : uint8_t
strong

This is a resourced enumeration that is equivalent to enum class Types but uses a 1-Letter code when serialized. The symbols are taken from GNU/Linux command 'ls -l', except special type SYMBOLIC_LINK_DIR which uses an upper case 'L' in contrast to the lower case 'l' used with links to files.

Enumerator
DIRECTORY 

d: Directory/folder.

SYMBOLIC_LINK_DIR 

L: Symbolic link targeting a directory.

REGULAR 

-: Regular file.

SYMBOLIC_LINK 

l: Symbolic link targeting a non-directory file.

BLOCK 

b: A block special file.

CHARACTER 

c: A character special file.

FIFO 

p: A FIFO (also known as pipe) file.

SOCKET 

s: A socket file.

Definition at line 57 of file finfo.hpp.

◆ TypeNames2Letters

enum class TypeNames2Letters : uint8_t
strong

This is a resourced enumeration that is equivalent to enum class Types but uses a 2-Letter code when serialized.

Enumerator
DIRECTORY 

DR: Directory/folder.

SYMBOLIC_LINK_DIR 

LD: Symbolic link targeting a directory.

REGULAR 

RF: Regular file.

SYMBOLIC_LINK 

LF: Symbolic link targeting a non-directory file.

BLOCK 

BL: A block special file.

CHARACTER 

CH: A character special file.

FIFO 

FF: A FIFO (also known as pipe) file.

SOCKET 

SO: A socket file.

Definition at line 71 of file finfo.hpp.

◆ TypeNames3Letters

enum class TypeNames3Letters : uint8_t
strong

This is a resourced enumeration that is equivalent to enum class Types but uses a 3-Letter code when serialized.

Enumerator
DIRECTORY 

DIR: Directory/folder.

SYMBOLIC_LINK_DIR 

SLD: Symbolic link targeting a directory.

REGULAR 

REG: Regular file.

SYMBOLIC_LINK 

SLF: Symbolic link targeting a non-directory file.

BLOCK 

BLK: A block special file.

CHARACTER 

CHR: A character special file.

FIFO 

FFO: A FIFO (also known as pipe) file.

SOCKET 

SCK: A socket file.

Definition at line 85 of file finfo.hpp.

◆ Types

enum class Types : uint8_t
strong

Enumeration of the possible file types. This is compatible with the posix list of types, with the exception that symbolic links are differentiated between those linking to a directory and those linking to any other file type.

Enumerator
DIRECTORY 

Directory/folder.

SYMBOLIC_LINK_DIR 

Symbolic link targeting a directory. In case scanning does not resolve links, this is never set.

REGULAR 

Regular file.

SYMBOLIC_LINK 

Symbolic link targeting a non-directory file. In case scanning does not resolve links, possibly to a directory.

BLOCK 

A block special file.

CHARACTER 

A character special file.

FIFO 

A FIFO (also known as pipe) file.

SOCKET 

A socket file.

UNKNOWN_OR_ERROR 

Filetype (should never or seldom happen). Maybe filesystem changed during scan or similar strange thing.

MARKER_TYPES_END 

A marker for the last countable type. The rest are unused/errors.

Definition at line 35 of file finfo.hpp.

Field Details:

◆ aDate

DateTime aDate
protected

The date of last read or write access. This is not correctly set on all platforms/filesystems. If not available, it will be set to mDate.

Definition at line 345 of file finfo.hpp.

◆ bDate

DateTime bDate
protected

The date this file was created. This timestamp is correctly set only with certain filesystems under GNU/Linux, e.g., 'EXT4'. If not available, the smallest value of the other three timestamps is used.

Definition at line 338 of file finfo.hpp.

◆ bits

Bits bits
protected

A bitfield encoding various information.

Definition at line 377 of file finfo.hpp.

◆ cDate

DateTime cDate
protected

The date of the last change of the files' meta-information (e.g., owner). This is not correctly set on all platforms/filesystems. If not available, it will be set to mDate.

Definition at line 342 of file finfo.hpp.

◆ custom

void* custom = nullptr
protected

Pool-allocated custom data.

Definition at line 383 of file finfo.hpp.

◆ dbgCustomType

const std::type_info* dbgCustomType = nullptr
protected

The custom type attached. Used for asserting misuse in debug-compilations.

Definition at line 386 of file finfo.hpp.

◆ extendedInfo

ExtendedEntryInfo* extendedInfo = nullptr
protected

Extended information, depending on the entry type.

Definition at line 380 of file finfo.hpp.

◆ group

uint32_t group
protected

The group id that owns the file.

Definition at line 350 of file finfo.hpp.

◆ mDate

DateTime mDate
protected

The last date and time the contents of the file was modified. This timestamp is should be correct on all platforms/filesystems.

Definition at line 336 of file finfo.hpp.

◆ owner

uint32_t owner
protected

The user id that owns the file.

Definition at line 349 of file finfo.hpp.

◆ qtyHardLinks

uint32_t qtyHardLinks
protected

The number of hard links to the file.

Definition at line 351 of file finfo.hpp.

◆ size

uinteger size
protected

The file size. In case of a directory, this is 0.

Definition at line 348 of file finfo.hpp.

◆ UnknownID

TOwnerAndGroupID UnknownID = (std::numeric_limits<uint32_t>::max)()
staticconstexpr

Constant value for owner and group IDs to denote that the field was not determined.

Definition at line 130 of file finfo.hpp.

Method Details:

◆ ADate()

DateTime ADate ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the timestamp of last access to this file/folder. If unavailable, same as MDate.

Definition at line 420 of file finfo.hpp.

◆ BDate()

DateTime BDate ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the birth date of this file/folder.

Definition at line 416 of file finfo.hpp.

◆ CDate()

DateTime CDate ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the change date of this file/folder. If unavailable, same as MDate.

Definition at line 418 of file finfo.hpp.

◆ GetExtendedInfo()

ExtendedEntryInfo * GetExtendedInfo ( ) const
inlinenodiscardconstexpr

Retrieves the extended info object of this entry.

Returns
The extended info object of this entry. If not available nullptr is returned.

Definition at line 430 of file finfo.hpp.

◆ GetLinkTarget()

lang::system::CPathString & GetLinkTarget ( ) const
inlinenodiscardnoexcept

Retrieves the non-translated target of a symbolic link. In debug compilations, the method asserts that Type returns either Types::SYMBOLIC_LINK or Types::SYMBOLIC_LINK_DIR.

Returns
A reference to a copy of the zero-terminated string stored in the symbolic link file.

Definition at line 482 of file finfo.hpp.

Here is the call graph for this function:

◆ GetRealLinkTarget()

lang::system::CPathString & GetRealLinkTarget ( ) const
inlinenodiscardnoexcept

Retrieves the resolved target of a symbolic link. In debug compilations, the method asserts that Type returns either Types::SYMBOLIC_LINK or Types::SYMBOLIC_LINK_DIR.

Returns
A reference to a zero-terminated string giving the translated real path that a symbolic link points to.

Definition at line 496 of file finfo.hpp.

Here is the call graph for this function:

◆ Group()

uint32_t Group ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the ID of the group of the file/folder if available. Otherwise set to UnknownID.

Definition at line 424 of file finfo.hpp.

◆ IsArtificialFS()

bool IsArtificialFS ( ) const
inlinenodiscardconstexprnoexcept
Returns
Returns true if the entry resides on an artificial filesystem.

Definition at line 404 of file finfo.hpp.

◆ IsCrossingFS()

bool IsCrossingFS ( ) const
inlinenodiscardconstexprnoexcept
Returns
Returns true if the entry resides on a different filesystem than it's parent.

Definition at line 408 of file finfo.hpp.

◆ IsDirectory()

bool IsDirectory ( ) const
inlinenodiscardconstexprnoexcept
Returns
Checks type for being either directory or symbolic link pointing to one.

Definition at line 397 of file finfo.hpp.

◆ IsSymbolicLink()

bool IsSymbolicLink ( ) const
inlinenodiscardconstexprnoexcept
Returns
Checks type for being a symbolic link (to normal file or to a directory).

Definition at line 399 of file finfo.hpp.

Here is the call graph for this function:

◆ MDate()

DateTime MDate ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the last modification date of this file/folder.

Definition at line 414 of file finfo.hpp.

◆ Owner()

uint32_t Owner ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the ID of the owner of the file/folder if available. Otherwise set to UnknownID.

Definition at line 422 of file finfo.hpp.

◆ Perms()

Permissions Perms ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the permissions of the entry.

Definition at line 393 of file finfo.hpp.

◆ QtyHardLinks()

uint32_t QtyHardLinks ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the number of hard links pointing to this file if available. Otherwise set to UnknownID.

Definition at line 426 of file finfo.hpp.

◆ Quality()

Qualities Quality ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the scan quality of the entry.

Definition at line 402 of file finfo.hpp.

◆ SetADate()

void SetADate ( DateTime v)
inlinenoexcept

Sets the time of last access of this file/folder.

Parameters
vThe value to set.

Definition at line 528 of file finfo.hpp.

◆ SetArtificialFS()

void SetArtificialFS ( )
inlinenoexcept

Mark the entry as residing on an artificial filesystem.

Definition at line 512 of file finfo.hpp.

◆ SetBDate()

void SetBDate ( DateTime v)
inlinenoexcept

Sets the birth date of this file/folder.

Parameters
vThe value to set.

Definition at line 524 of file finfo.hpp.

◆ SetCDate()

void SetCDate ( DateTime v)
inlinenoexcept

Sets the change date of this file/folder.

Parameters
vThe value to set.

Definition at line 526 of file finfo.hpp.

◆ SetCrossingFS()

void SetCrossingFS ( )
inlinenoexcept

Mark the entry as residing on a different filesystem than its parent.

Definition at line 516 of file finfo.hpp.

◆ SetExtendedInfo()

void SetExtendedInfo ( ExtendedEntryInfo * extInfo)
inlineconstexpr

Sets the extended information object. As with all set functions, this method should only be used from certain code entities, like file scanners. If used, the object passed here has to be pool-allocated using public instance FTree::Pool. The object will be freed with the deletion of the corresponding string tree node (respectively File instance).

Parameters
extInfoA pointer to the information object to use.

Definition at line 439 of file finfo.hpp.

◆ SetGroup()

void SetGroup ( uint32_t v)
inlinenoexcept

Sets the ID of the group of the file/folder.

Parameters
vThe value to set.

Definition at line 532 of file finfo.hpp.

◆ SetLinkTarget()

void SetLinkTarget ( FTree & tree,
const lang::system::PathString & target,
const lang::system::PathString & realTarget )

Stores the link targets in the extended information object created for symbolic links.

Parameters
treeThe tree that this object belongs to.
targetThe target as stored in the symlink
realTargetThe translated, 'real' target path (if not broken).

Definition at line 23 of file finfo.cpp.

Here is the call graph for this function:

◆ SetMDate()

void SetMDate ( DateTime v)
inlinenoexcept

Sets the last modification date of this file/folder.

Parameters
vThe value to set.

Definition at line 522 of file finfo.hpp.

◆ SetOwner()

void SetOwner ( uint32_t v)
inlinenoexcept

Sets the ID of the owner of the file/folder.

Parameters
vThe value to set.

Definition at line 530 of file finfo.hpp.

◆ SetPerms()

void SetPerms ( Permissions v)
inlinenoexcept

Sets the permissions of the entry.

Parameters
vThe value to set.

Definition at line 506 of file finfo.hpp.

◆ SetQtyHardlinks()

void SetQtyHardlinks ( uint32_t v)
inlinenoexcept

Sets the number of hard links that point to this file.

Parameters
vThe value to set.

Definition at line 534 of file finfo.hpp.

◆ SetQuality()

void SetQuality ( Qualities v)
inlinenoexcept

Sets the quality of scan of the entry.

Parameters
vThe value to set.

Definition at line 510 of file finfo.hpp.

◆ SetSize()

void SetSize ( uinteger v)
inlinenoexcept

Sets the file size.

Parameters
vThe value to set.

Definition at line 520 of file finfo.hpp.

◆ SetSums()

void SetSums ( const DirectorySums & sums) const
inlineconstexpr

Sets the sums of the extended info object of this entry.

Parameters
sumsThe sums to set.

Definition at line 457 of file finfo.hpp.

Here is the call graph for this function:

◆ SetTargetArtificialFS()

void SetTargetArtificialFS ( )
inlinenoexcept

Mark the entry as a symlink who's target is residing on an artificial filesystem.

Definition at line 514 of file finfo.hpp.

◆ SetTargetCrossingFS()

void SetTargetCrossingFS ( )
inlinenoexcept

Mark the entry as a symlink who's target is residing on a different filesystem than the symlink.

Definition at line 518 of file finfo.hpp.

◆ SetType()

void SetType ( Types v)
inlinenoexcept

Sets the type of the entry.

Parameters
vThe value to set.

Definition at line 508 of file finfo.hpp.

◆ Size()

uinteger Size ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the file size.

Definition at line 412 of file finfo.hpp.

◆ Sums()

DirectorySums & Sums ( ) const
inlinenodiscardconstexpr

Retrieves the directory sums of this directory or symbolic link to directory.

Returns
A reference to the sums.

Definition at line 444 of file finfo.hpp.

Here is the call graph for this function:

◆ TargetIsArtificialFS()

bool TargetIsArtificialFS ( ) const
inlinenodiscardconstexprnoexcept
Returns
Returns true if the entry is a symlink and its target resides on an artificial filesystem.

Definition at line 406 of file finfo.hpp.

◆ TargetIsCrossingFS()

bool TargetIsCrossingFS ( ) const
inlinenodiscardconstexprnoexcept
Returns
Returns true if the entry is a symlink and resides on a different filesystem than the link.

Definition at line 410 of file finfo.hpp.

◆ Type()

Types Type ( ) const
inlinenodiscardconstexprnoexcept
Returns
Retrieves the type of the entry

Definition at line 395 of file finfo.hpp.


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