libUTL++
utl::UnixModeMask Class Reference

Unix file mode mask. More...

#include <UnixModeMask.h>

Inheritance diagram for utl::UnixModeMask:

Public Types

enum  cmode_t { cm_exact, cm_and_lhs, cm_and_rhs }
 Comparison mode. More...
 

Public Member Functions

 UnixModeMask (uint32_t mode)
 Constructor. More...
 
virtual int compare (const Object &rhs) const
 Compare with another object. More...
 
virtual void copy (const Object &rhs)
 Copy another instance. More...
 
virtual void serialize (Stream &stream, uint_t io, uint_t mode=ser_default)
 Serialize to or from a stream. More...
 
virtual String toString () const
 Return a string representation of self. More...
 
uint32_t get () const
 Get the mode mask. More...
 
void set (uint32_t mode)
 Set the mode mask. More...
 
bool isSetUserId () const
 Get the suid flag. More...
 
void setSetUserId (bool suid)
 Set the suid flag. More...
 
bool isSetGroupId () const
 Get the sgid flag. More...
 
void setSetGroupId (bool sgid)
 Set the sgid flag. More...
 
bool isSticky () const
 Get the sticky flag. More...
 
void setSticky (bool sticky)
 Set the sticky flag. More...
 
bool isOwnerReadable () const
 Get the owner-readable flag. More...
 
void setOwnerReadable (bool ownerReadable)
 Set the owner-readable flag. More...
 
bool isOwnerWritable () const
 Get the owner-writable flag. More...
 
void setOwnerWritable (bool ownerWritable)
 Set the owner-writable flag. More...
 
bool isOwnerExecutable () const
 Get the owner-executable flag. More...
 
void setOwnerExecutable (bool ownerExecutable)
 Set the owner-executable flag. More...
 
bool isGroupReadable () const
 Get the group-readable flag. More...
 
void setGroupReadable (bool groupReadable)
 Set the group-readable flag. More...
 
bool isGroupWritable () const
 Get the group-writable flag. More...
 
void setGroupWritable (bool groupWritable)
 Set the group-writable flag. More...
 
bool isGroupExecutable () const
 Get the group-executable flag. More...
 
void setGroupExecutable (bool groupExecutable)
 Set the group-executable flag. More...
 
bool isOtherReadable () const
 Get the other-readable flag. More...
 
void setOtherReadable (bool worldReadable)
 Set the other-readable flag. More...
 
bool isOtherWritable () const
 Get the other-writable flag. More...
 
void setOtherWritable (bool worldWritable)
 Set the other-writable flag. More...
 
bool isOtherExecutable () const
 Get the other-executable flag. More...
 
void setOtherExecutable (bool worldExecutable)
 Set the other-executable flag. More...
 
 operator uint32_t () const
 Conversion to utl::uint32_t representing the mode mask. More...
 
- Public Member Functions inherited from utl::Object
void clear ()
 Revert to initial state. More...
 
virtual void vclone (const Object &rhs)
 Make an exact copy of another instance. More...
 
virtual void steal (Object &rhs)
 "Steal" the internal representation from another instance. More...
 
virtual void dump (Stream &os, uint_t level=uint_t_max) const
 Dump a human-readable representation of self to the given output stream. More...
 
void dumpWithClassName (Stream &os, uint_t indent=4, uint_t level=uint_t_max) const
 Front-end for dump() that prints the object's class name. More...
 
virtual const ObjectgetKey () const
 Get the key for this object. More...
 
bool hasKey () const
 Determine whether or not the object has a key. More...
 
virtual const ObjectgetProxiedObject () const
 Get the proxied object (= self if none). More...
 
virtual ObjectgetProxiedObject ()
 Get the proxied object (= self if none). More...
 
virtual size_t hash (size_t size) const
 Get the hash code for the object. More...
 
bool _isA (const RunTimeClass *runTimeClass) const
 Determine whether self's class is a descendent of the given class. More...
 
 operator String () const
 Conversion to String. More...
 
size_t allocatedSize () const
 Get the total allocated size of this object. More...
 
virtual size_t innerAllocatedSize () const
 Get the "inner" allocated size. More...
 
virtual void addOwnedIt (const class FwdIt *it) const
 Notify self that it owns the given iterator. More...
 
virtual void removeOwnedIt (const class FwdIt *it) const
 Notify self that the given owned iterator has been destroyed. More...
 
bool operator< (const Object &rhs) const
 Less-than operator. More...
 
bool operator<= (const Object &rhs) const
 Less-than-or-equal-to operator. More...
 
bool operator> (const Object &rhs) const
 Greater-than operator. More...
 
bool operator>= (const Object &rhs) const
 Greater-than-or-equal-to operator. More...
 
bool operator== (const Object &rhs) const
 Equal-to operator. More...
 
bool operator!= (const Object &rhs) const
 Unequal-to operator. More...
 
void serializeIn (Stream &is, uint_t mode=ser_default)
 Serialize from an input stream. More...
 
void serializeOut (Stream &os, uint_t mode=ser_default) const
 Serialize to an output stream. More...
 
void serializeOutBoxed (Stream &os, uint_t mode=ser_default) const
 Serialize a boxed object to an output stream. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from utl::Object
static ObjectserializeInNullable (Stream &is, uint_t mode=ser_default)
 Serialize a nullptr-able object from an input stream. More...
 
static void serializeOutNullable (const Object *object, Stream &os, uint_t mode=ser_default)
 Serialize a nullptr-able object to an output stream. More...
 
static void serializeNullable (Object *&object, Stream &stream, uint_t io, uint_t mode=ser_default)
 Serialize a nullptr-able object to or from a stream. More...
 
static ObjectserializeInBoxed (Stream &is, uint_t mode=ser_default)
 Serialize a boxed object from an input stream. More...
 
static void serializeBoxed (Object *&object, Stream &stream, uint_t io, uint_t mode=ser_default)
 Serialize a boxed object to or from a stream. More...
 
- Protected Member Functions inherited from utl::FlagsMI
 FlagsMI ()
 Constructor. More...
 
virtual ~FlagsMI ()
 Destructor. More...
 
void copyFlags (const FlagsMI &rhs)
 Copy the given flags. More...
 
void copyFlags (const FlagsMI &rhs, uint_t lsb, uint_t msb)
 Copy (some of) the given flags. More...
 
void copyFlags (uint64_t flags, uint_t lsb, uint_t msb)
 Copy (some of) the given flags. More...
 
bool getFlag (uint_t flagNum) const
 Get a user-defined flag. More...
 
void setFlag (uint_t flagNum, bool val)
 Set a user-defined flag. More...
 
uint64_t getFlagsNumber (uint64_t mask, uint64_t shift=0)
 Get a multi-bit value in the flags data (which is stored as one 64-bit integer). More...
 
void setFlagsNumber (uint64_t mask, uint64_t shift, uint64_t num)
 Set a multi-bit value in the flags data (which is stored as one 64-bit integer). More...
 
uint64_t getFlags () const
 Get the flags. More...
 
void setFlags (uint64_t flags)
 Set the flags. More...
 

Detailed Description

Unix file mode mask.

UnixModeMask provides an abstraction for a file mode bitmask. It provides methods for querying and setting each bit.

Author
Adam McKee

Definition at line 29 of file UnixModeMask.h.

Member Enumeration Documentation

◆ cmode_t

Comparison mode.

Enumerator
cm_exact 

exact match

cm_and_lhs 

all bits high in lhs must be high in rhs

cm_and_rhs 

all bits high in rhs must be high in lhs

Definition at line 157 of file UnixModeMask.h.

Constructor & Destructor Documentation

◆ UnixModeMask()

utl::UnixModeMask::UnixModeMask ( uint32_t  mode)
inline

Constructor.

Parameters
modemode mask

Definition at line 38 of file UnixModeMask.h.

References utl::compare(), utl::copy(), utl::ser_default, utl::serialize(), and utl::toString().

Member Function Documentation

◆ compare()

virtual int utl::UnixModeMask::compare ( const Object rhs) const
virtual

Compare with another object.

If no overridden version succeeds in doing the comparison, then an attempt will be made to re-start the comparison process using one or both of the objects' keys. Usually, an override of compare() should call the superclass's compare() if it doesn't know how to compare itself with the rhs object.

See also
getKey
Returns
< 0 if self < rhs, 0 if self = rhs, > 0 if self > rhs
Parameters
rhsobject to compare with

Reimplemented from utl::Object.

◆ copy()

virtual void utl::UnixModeMask::copy ( const Object rhs)
virtual

Copy another instance.

When you override copy(), you should usually call the superclass's copy().

Parameters
rhsobject to copy

Reimplemented from utl::Object.

◆ serialize()

virtual void utl::UnixModeMask::serialize ( Stream stream,
uint_t  io,
uint_t  mode = ser_default 
)
virtual

Serialize to or from a stream.

This is the only virtual method for serialization. You must override this in any class that has data to be serialized, and ensure that the superclass's serialize() gets called.

Parameters
streamstream to serialize from/to
iosee utl::io_t
modesee utl::serialize_t

Reimplemented from utl::Object.

◆ toString()

virtual String utl::UnixModeMask::toString ( ) const
virtual

Return a string representation of self.

Reimplemented from utl::Object.

◆ get()

uint32_t utl::UnixModeMask::get ( ) const
inline

Get the mode mask.

Definition at line 53 of file UnixModeMask.h.

◆ set()

void utl::UnixModeMask::set ( uint32_t  mode)
inline

Set the mode mask.

Definition at line 60 of file UnixModeMask.h.

◆ isSetUserId()

bool utl::UnixModeMask::isSetUserId ( ) const

Get the suid flag.

◆ setSetUserId()

void utl::UnixModeMask::setSetUserId ( bool  suid)

Set the suid flag.

◆ isSetGroupId()

bool utl::UnixModeMask::isSetGroupId ( ) const

Get the sgid flag.

◆ setSetGroupId()

void utl::UnixModeMask::setSetGroupId ( bool  sgid)

Set the sgid flag.

◆ isSticky()

bool utl::UnixModeMask::isSticky ( ) const

Get the sticky flag.

◆ setSticky()

void utl::UnixModeMask::setSticky ( bool  sticky)

Set the sticky flag.

◆ isOwnerReadable()

bool utl::UnixModeMask::isOwnerReadable ( ) const

Get the owner-readable flag.

◆ setOwnerReadable()

void utl::UnixModeMask::setOwnerReadable ( bool  ownerReadable)

Set the owner-readable flag.

◆ isOwnerWritable()

bool utl::UnixModeMask::isOwnerWritable ( ) const

Get the owner-writable flag.

◆ setOwnerWritable()

void utl::UnixModeMask::setOwnerWritable ( bool  ownerWritable)

Set the owner-writable flag.

◆ isOwnerExecutable()

bool utl::UnixModeMask::isOwnerExecutable ( ) const

Get the owner-executable flag.

◆ setOwnerExecutable()

void utl::UnixModeMask::setOwnerExecutable ( bool  ownerExecutable)

Set the owner-executable flag.

◆ isGroupReadable()

bool utl::UnixModeMask::isGroupReadable ( ) const

Get the group-readable flag.

◆ setGroupReadable()

void utl::UnixModeMask::setGroupReadable ( bool  groupReadable)

Set the group-readable flag.

◆ isGroupWritable()

bool utl::UnixModeMask::isGroupWritable ( ) const

Get the group-writable flag.

◆ setGroupWritable()

void utl::UnixModeMask::setGroupWritable ( bool  groupWritable)

Set the group-writable flag.

◆ isGroupExecutable()

bool utl::UnixModeMask::isGroupExecutable ( ) const

Get the group-executable flag.

◆ setGroupExecutable()

void utl::UnixModeMask::setGroupExecutable ( bool  groupExecutable)

Set the group-executable flag.

◆ isOtherReadable()

bool utl::UnixModeMask::isOtherReadable ( ) const

Get the other-readable flag.

◆ setOtherReadable()

void utl::UnixModeMask::setOtherReadable ( bool  worldReadable)

Set the other-readable flag.

◆ isOtherWritable()

bool utl::UnixModeMask::isOtherWritable ( ) const

Get the other-writable flag.

◆ setOtherWritable()

void utl::UnixModeMask::setOtherWritable ( bool  worldWritable)

Set the other-writable flag.

◆ isOtherExecutable()

bool utl::UnixModeMask::isOtherExecutable ( ) const

Get the other-executable flag.

◆ setOtherExecutable()

void utl::UnixModeMask::setOtherExecutable ( bool  worldExecutable)

Set the other-executable flag.

◆ operator uint32_t()

utl::UnixModeMask::operator uint32_t ( ) const
inline

Conversion to utl::uint32_t representing the mode mask.

Definition at line 138 of file UnixModeMask.h.


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