input_file Class Reference

#include <file.h>

Inheritance diagram for input_file:

input_ty

Public Member Functions

virtual ~input_file ()
 input_file (const nstring &path, bool unlink_on_close=false, bool empty_if_absent=false)
nstring name ()
long length ()
void keepalive ()
long read_inner (void *data, size_t nbytes)
long ftell_inner ()
void unlink_on_close ()

Private Member Functions

 input_file ()
 input_file (const input_file &arg)
input_fileoperator= (const input_file &arg)

Private Attributes

nstring path
int fd
bool unlink_on_close_flag
long pos
bool empty_if_absent_flag

Detailed Description

The input_file class is used to represent an input stream which is read from a file.

Definition at line 29 of file file.h.


Constructor & Destructor Documentation

virtual input_file::~input_file (  )  [virtual]

The destructor.

input_file::input_file ( const nstring path,
bool  unlink_on_close = false,
bool  empty_if_absent = false 
)

The constructor.

Parameters:
path The path of the file to be opened.
unlink_on_close If true, the file is to be unlinked in the destructor. Defaults to false if not specified.
empty_if_absent If true, the file is to be treated as if it was empty if it does not exist. No warning message will be issued. Defaults to false if not specified.

input_file::input_file (  )  [private]

The default constructor. Do not use.

input_file::input_file ( const input_file arg  )  [private]

The copy constructor. Do not use.


Member Function Documentation

nstring input_file::name (  )  [virtual]

The name method is used to determine the name of the input.

Implements input_ty.

long input_file::length (  )  [virtual]

The length method is used to determine the length of the input. May return -1 if the length is unknown.

Implements input_ty.

void input_file::keepalive (  )  [virtual]

The keepalive method is used to set the SO_KEEPALIVE socket option, if the file is a socket. Does nothing otherwise.

Reimplemented from input_ty.

long input_file::read_inner ( void *  data,
size_t  nbytes 
) [virtual]

The read_inner method is used to read unbuffered data from the given input stream. At most nbytes bytes will be read into data. The number of bytes actually read will be returned. At end-of-file, a value <= 0 will be returned, and data will be unchanged. All file read errors or format errors are fatal, and will cause the method to not return.

Parameters:
data Where to put the results of the read.
nbytes The maximum number of bytes to read.
Returns:
The actual number of bytes read, or zero for end-of-file.

Implements input_ty.

long input_file::ftell_inner (  )  [virtual]

The ftell_inner method is used to determine the unbuffered current position within the input.

Implements input_ty.

void input_file::unlink_on_close (  ) 

The unlink_on_close method may be used to specify that the file is to be removed when it is closed (in the destructor).

input_file& input_file::operator= ( const input_file arg  )  [private]

The assignment operator. Do not use.


Field Documentation

Definition at line 76 of file file.h.

int input_file::fd [private]

Definition at line 77 of file file.h.

Definition at line 78 of file file.h.

long input_file::pos [private]

Definition at line 79 of file file.h.

Definition at line 80 of file file.h.


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

Generated on Wed Mar 12 23:37:40 2008 for Aegis by  doxygen 1.5.5