Trippin Cyril
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | List of all members
trippingcyril::File Class Reference

A general file access class. More...

#include <Files.h>

Inheritance diagram for trippingcyril::File:
[legend]
Collaboration diagram for trippingcyril::File:
[legend]

Public Types

enum  FileType {
  REGULAR, DIRECTORY, CHARACTER, BLOCK,
  FIFO, LINK, SOCK, TEMPORARY,
  UNKNOWN
}
 

Public Member Functions

 File (const String &path)
 
virtual ~File ()
 
virtual bool Exists () const
 
virtual FileType GetType () const
 
virtual off_t GetSize () const
 
virtual time_t GetATime () const
 
virtual time_t GetMTime () const
 
virtual time_t GetCTime () const
 
virtual uid_t GetUID () const
 
virtual gid_t GetGID () const
 
bool IsOpen () const
 
String GetName () const
 
String GetShortName () const
 
virtual bool Delete ()
 
virtual bool Move (const String &newpath, bool overwrite=false)
 
virtual bool Copy (const String &newpath, bool overwrite=false)
 
virtual bool Chmod (mode_t mode)
 
virtual bool Seek (off_t pos, int whence=SEEK_SET)
 
virtual off_t Tell ()
 
virtual bool Truncate (off_t len=0)
 
virtual bool Sync ()
 
virtual bool Open (int flags=O_RDONLY, mode_t mode=0644)
 
virtual int Read (char *buffer, size_t len)
 
virtual bool ReadLine (String &data, const String &delimiter="\n")
 
virtual bool ReadFile (String &data, size_t maxSize=512 *1024)
 
virtual int Write (const char *buffer, size_t len) override
 
void Close () override
 
- Public Member Functions inherited from trippingcyril::Writer
int WriteString (const String &data)
 
virtual bool shouldDelete () const override
 

Additional Inherited Members

- Static Public Attributes inherited from trippingcyril::Writer
static const int BUFFER_SIZE
 

Detailed Description

A general file access class.

Member Enumeration Documentation

Enumerator
REGULAR 

A regular file.

DIRECTORY 

A directory.

CHARACTER 

A character device.

BLOCK 

A block device.

FIFO 

A fifo see fifo(7)

LINK 

Either a symbolic or hard link.

SOCK 

A unix socket.

TEMPORARY 

Really just a regular file, but will be removed destruction.

UNKNOWN 

Either not implemented yet or an error occured.

Constructor & Destructor Documentation

trippingcyril::File::File ( const String path)
virtual trippingcyril::File::~File ( )
virtual

Member Function Documentation

virtual bool trippingcyril::File::Chmod ( mode_t  mode)
virtual
Returns
true if permissions were successfully modified.
void trippingcyril::File::Close ( )
overridevirtual

Closes the file if it was previously opened with Open

Implements trippingcyril::Closable.

virtual bool trippingcyril::File::Copy ( const String newpath,
bool  overwrite = false 
)
virtual
Returns
true if successfully copied.
virtual bool trippingcyril::File::Delete ( )
virtual
Returns
true if successfully deleted.
virtual bool trippingcyril::File::Exists ( ) const
virtual
Returns
true if the file exists
virtual time_t trippingcyril::File::GetATime ( ) const
virtual
Returns
Last access time of this file.
virtual time_t trippingcyril::File::GetCTime ( ) const
virtual
Returns
Creation time of this file.
virtual gid_t trippingcyril::File::GetGID ( ) const
virtual
Returns
GID of this file.
virtual time_t trippingcyril::File::GetMTime ( ) const
virtual
Returns
Last modification time of this file.
String trippingcyril::File::GetName ( ) const
inline
Returns
The path of this file, may be relative depends on what you passed to the constructor
String trippingcyril::File::GetShortName ( ) const
inline
Returns
The filename without any path.
virtual off_t trippingcyril::File::GetSize ( ) const
virtual
Returns
The size of the file, only works with REGULAR files, 0 otherwise
virtual FileType trippingcyril::File::GetType ( ) const
virtual
Returns
the type of file

Reimplemented in trippingcyril::TempFile.

virtual uid_t trippingcyril::File::GetUID ( ) const
virtual
Returns
UID of this file.
bool trippingcyril::File::IsOpen ( ) const
inline
Returns
true if successfully opened with Open()
See Also
Open
virtual bool trippingcyril::File::Move ( const String newpath,
bool  overwrite = false 
)
virtual
Returns
true if successfully moved.
virtual bool trippingcyril::File::Open ( int  flags = O_RDONLY,
mode_t  mode = 0644 
)
virtual
Returns
true if successfully opened, similar to open(2)
virtual int trippingcyril::File::Read ( char *  buffer,
size_t  len 
)
virtual
Returns
The amount of bytes read into the buffer, similar to read(2)
virtual bool trippingcyril::File::ReadFile ( String data,
size_t  maxSize = 512 *1024 
)
virtual

Reads up until maxSize into data

Parameters
dataReference to a string to read into, string is purely used as a buffer
maxSizeThe maximum amount of bytes to read into our buffer
Returns
true if the file was entirely read into our buffer
virtual bool trippingcyril::File::ReadLine ( String data,
const String delimiter = "\n" 
)
virtual

Reads up to the delimiter into data

Parameters
dataReference to a string to read into, string is purely used as a buffer
delimiterUp until what character we should read
Returns
true if the delimiter was found
virtual bool trippingcyril::File::Seek ( off_t  pos,
int  whence = SEEK_SET 
)
virtual
Returns
true if successfully moved to this spot in the file, similar to lseek(2)
virtual bool trippingcyril::File::Sync ( )
virtual
Returns
true if successfully synchronized, similar to fsync(2)
virtual off_t trippingcyril::File::Tell ( )
virtual
Returns
The current position in the file
virtual bool trippingcyril::File::Truncate ( off_t  len = 0)
virtual
Returns
true if successfully truncated, similar to truncate(2)
virtual int trippingcyril::File::Write ( const char *  buffer,
size_t  len 
)
overridevirtual
Returns
The amount of bytes written into the file, similar to write(2)

Implements trippingcyril::Writer.


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