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

#include <tar_child.h>

Inheritance diagram for output_tar_child:
output

Public Member Functions

virtual ~output_tar_child ()

Static Public Member Functions

static pointer create (const output::pointer &deeper, const nstring &name, long length, bool executable)

Protected Member Functions

nstring filename (void) const
nstring type_name (void) const
long ftell_inner (void) const
void write_inner (const void *data, size_t length)
void end_of_line_inner (void)

Private Member Functions

 output_tar_child (const output::pointer &deeper, const nstring &name, long length, bool executable)
void changed_size (void)
void header (void)
void padding (void)
 output_tar_child ()
 output_tar_child (const output_tar_child &)
output_tar_childoperator= (const output_tar_child &)

Private Attributes

output::pointer deeper
nstring name
long length
bool executable
long pos
bool bol

Detailed Description

The output_tar_child class is used to represent an outp[ut stream which writes to a member of a tar archive.

Definition at line 29 of file tar_child.h.


Constructor & Destructor Documentation

virtual output_tar_child::~output_tar_child ( ) [virtual]

The destructor.

output_tar_child::output_tar_child ( const output::pointer deeper,
const nstring name,
long  length,
bool  executable 
) [private]

The constructor. It is private on purpose, use the create class method instead.

Parameters:
deeperThe underlying output to which the tar archive is to be written.
namethe name of the tar archive entry.
lengththe length of the content
executablewhether or not the file should be marked as executable

The default constructor. Do not use.

The copy constructor. Do not use.


Member Function Documentation

void output_tar_child::changed_size ( void  ) [private]

The changed_size method is used to emit a fatal error if the amount of data written does not aggree with the length given to the constructor.

static pointer output_tar_child::create ( const output::pointer deeper,
const nstring name,
long  length,
bool  executable 
) [static]

The open class method is used to create new dynamically allocated instances of this class.

Parameters:
deeperThe underlying output to which the tar archive is to be written.
namethe name of the tar archive entry.
lengththe length of the content
executablewhether or not the file should be marked as executable
void output_tar_child::end_of_line_inner ( void  ) [protected, virtual]

The end_of_line_inner method is used to ensure that the current output position is at the beginning of a line, without taking the buffering into account.

Implements output.

nstring output_tar_child::filename ( void  ) const [protected, virtual]

The filename method is used to obtain the filename of this output.

Implements output.

long output_tar_child::ftell_inner ( void  ) const [protected, virtual]

The ftell_inner method is used to determine the current file position, without taking the buffering into account.

Implements output.

void output_tar_child::header ( void  ) [private]

The header method is used to write a tar file header for this archive menber.

output_tar_child& output_tar_child::operator= ( const output_tar_child ) [private]

The assignment operator. Do not use.

void output_tar_child::padding ( void  ) [private]

The padding method is used to write NULs to the output until the output position is a multiple of 512 bytes.

nstring output_tar_child::type_name ( void  ) const [protected, virtual]

The type_name method is used to determine the name of this output device or file or type.

Implements output.

void output_tar_child::write_inner ( const void *  data,
size_t  length 
) [protected, virtual]

The write_inner method is used write data to the output, without taking the buffering into account.

Implements output.


Field Documentation

bool output_tar_child::bol [private]

the bol instance variable is used to remember whether or not we are currently at the beginning of a line.

Definition at line 126 of file tar_child.h.

The deeper instance variable is used to remember the underlying output to which the TAR archive is to be written.

Definition at line 95 of file tar_child.h.

The executable instance variable is used to remember whether or not the archive member is an executable file.

Definition at line 114 of file tar_child.h.

long output_tar_child::length [private]

The length instance variable is used to remember the data length for this archive member. It is a bug if the wrong amount of data is written.

Definition at line 108 of file tar_child.h.

The name instance variable is used to remember the name of the archive member to be written.

Definition at line 101 of file tar_child.h.

long output_tar_child::pos [private]

The pos instance variable is used to remember the current output position.

Definition at line 120 of file tar_child.h.


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