Aegis  4.25.D505
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
input_uudecode Class Reference

#include <uudecode.h>

Inheritance diagram for input_uudecode:
input_ty

Public Member Functions

virtual ~input_uudecode ()
 input_uudecode (input &deeper)
nstring name ()
off_t length ()
void keepalive ()
ssize_t read_inner (void *data, size_t nbytes)
off_t ftell_inner ()
bool is_remote () const

Static Public Member Functions

static bool candidate (input &deeper)

Private Member Functions

 input_uudecode ()
 input_uudecode (const input_uudecode &arg)
input_uudecodeoperator= (const input_uudecode &arg)

Private Attributes

input deeper
off_t pos
int state
char etab [64]
unsigned char itab [UCHAR_MAX+1]
int checksum
int padding

Detailed Description

The input_uudecode class represents an input source which is transparently uudecoded.

Definition at line 31 of file uudecode.h.


Constructor & Destructor Documentation

virtual input_uudecode::~input_uudecode ( ) [virtual]

The destructor.

The constructor.

Parameters:
deeperThe source of data for this filter.

The default constructor. Do not use.

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

The copy constructor. Do not use.


Member Function Documentation

static bool input_uudecode::candidate ( input deeper) [static]

The candidate class method is used to determine whether or not an input needs to be uudecoded. All input is pushed back, no matter what the result is.

off_t input_uudecode::ftell_inner ( ) [virtual]

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

Implements input_ty.

bool input_uudecode::is_remote ( ) const [virtual]

The is_remote method is used to determine whether or not an input stream is from a local file or a remote source. This is only intended to be a generally informative thing, to provide information to the user, it isn't (and can't be) utterly precise.

Reimplemented from input_ty.

void input_uudecode::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.

off_t input_uudecode::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.

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

Implements input_ty.

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

The assignment operator. Do not use.

ssize_t input_uudecode::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:
dataWhere to put the results of the read.
nbytesThe maximum number of bytes to read.
Returns:
The actual number of bytes read, or zero for end-of-file.

Implements input_ty.


Field Documentation

int input_uudecode::checksum [private]

Definition at line 84 of file uudecode.h.

The deeper instance variable is used to remember the source of data for this filter.

Definition at line 78 of file uudecode.h.

char input_uudecode::etab[64] [private]

Definition at line 82 of file uudecode.h.

unsigned char input_uudecode::itab[UCHAR_MAX+1] [private]

Definition at line 83 of file uudecode.h.

int input_uudecode::padding [private]

Definition at line 85 of file uudecode.h.

off_t input_uudecode::pos [private]

Definition at line 80 of file uudecode.h.

int input_uudecode::state [private]

Definition at line 81 of file uudecode.h.


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