wreport::sys::NamedFileDescriptor Class Reference

File descriptor with a name. More...

`#include <sys.h>`

Inheritance diagram for wreport::sys::NamedFileDescriptor:

## Public Member Functions

| NamedFileDescriptor (int fd, const std::string &pathname)
| NamedFileDescriptor (NamedFileDescriptor &&)
NamedFileDescriptor & | operator= (NamedFileDescriptor &&)
| NamedFileDescriptor (const NamedFileDescriptor &o)=default
NamedFileDescriptor & | operator= (const NamedFileDescriptor &o)=default
virtual void | throw_error (const char *desc)
| Throw an exception based on errno and the given message.
virtual void | throw_runtime_error (const char *desc)
| Throw a runtime_error unrelated from errno.
const std::string & | name () const
| Return the file pathname.
Public Member Functions inherited from wreport::sys::FileDescriptor
| FileDescriptor (FileDescriptor &&o)
| FileDescriptor (int fd)
| FileDescriptor (const FileDescriptor &o)=default
FileDescriptor & | operator= (const FileDescriptor &o)=default
bool | is_open () const
| Check if the file descriptor is open (that is, if it is not -1).
void | close ()
| Close the file descriptor, setting its value to -1.
void | fstat (struct stat &st)
void | fchmod (mode_t mode)
void | futimens (const struct ::timespec ts[2])
void | fsync ()
void | fdatasync ()
int | dup ()
size_t | read (void *buf, size_t count)
bool | read_all_or_retry (void *buf, size_t count)
| Read count bytes into bufr, retrying partial reads, stopping at EOF.
void | read_all_or_throw (void *buf, size_t count)
| Read all the data into buf, throwing runtime_error in case of a partial read.
size_t | write (const void *buf, size_t count)
template<typename Container>
size_t | write (const Container &c)
void | write_all_or_retry (const void *buf, size_t count)
| Write all the data in buf, retrying partial writes.
template<typename Container>
void | write_all_or_retry (const Container &c)
void | write_all_or_throw (const void *buf, size_t count)
| Write all the data in buf, throwing runtime_error in case of a partial write.
template<typename Container>
void | write_all_or_throw (const Container &c)
off_t | lseek (off_t offset, int whence=SEEK_SET)
size_t | pread (void *buf, size_t count, off_t offset)
size_t | pwrite (const void *buf, size_t count, off_t offset)
template<typename Container>
size_t | pwrite (const Container &c, off_t offset)
void | ftruncate (off_t length)
MMap | mmap (size_t length, int prot, int flags, off_t offset=0)
bool | ofd_setlk (struct ::flock &)
| Open file description locks F_OFD_SETLK operation.
bool | ofd_setlkw (struct ::flock &, bool retry_on_signal=true)
| Open file description locks F_OFD_SETLKW operation.
bool | ofd_getlk (struct ::flock &)
| Open file description locks F_OFD_GETLK operation.
int | getfl ()
| Get open flags for the file.
void | setfl (int flags)
| Set open flags for the file.
| operator int () const

## Protected Attributes

std::string | pathname
Protected Attributes inherited from wreport::sys::FileDescriptor
int | fd = -1

## Detailed Description

File descriptor with a name.

## Member Function Documentation

## throw_error()

virtual void wreport::sys::NamedFileDescriptor::throw_error | ( | const char * | desc | ) |

virtual

Throw an exception based on errno and the given message.

This can be overridden by subclasses that may have more information about the file descriptor, so that they can generate more descriptive messages.

Reimplemented from wreport::sys::FileDescriptor.

## throw_runtime_error()

virtual void wreport::sys::NamedFileDescriptor::throw_runtime_error | ( | const char * | desc | ) |

virtual

Throw a runtime_error unrelated from errno.

This can be overridden by subclasses that may have more information about the file descriptor, so that they can generate more descriptive messages.

Reimplemented from wreport::sys::FileDescriptor.

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

- sys.h