Basicos::Spool::Printer


SYNOPSIS

    use Basicos::Spool::Printer;
    my $spool = Basicos::Spool::Printer->new( $name, $root );
    my $seq = $spool->queue( $header );
    my $fh = $spool->open_data_file( $seq );
    $fh->print( $data );
    $fh->close();

__top


DESCRIPTION

Este módulo permite implementar una cola al estilo de las de los servidores de impresión (ó de correo en algunos casos), en los que cada elemento está dividido en dos: un encabezado y un cuerpo (generalmente un flujo de datos envasado).

Puesto que hereda de the Basicos::Spool manpage la mayor parte de su funcionalidad y limitaciones son idénticas, a excepción del tratamiento de los datos, descrito a continuación en los métodos que este módulo sobrecarga ó añade.

__top


SUBRUTINES/METHODS

new( )

    my $printer_spool = Basicos::Spool::Printer->new( 
                            $spool_name, $spool_path );

Crea un nuevo objeto Basicos::Spool::Printer para lo cual necesita un nombre y una ruta, que unirá para crear la ruta raíz de los elementos de la cola.

queue( $header, [ $data ] )

     my $seq = $spool->queue( $header, $data );

Encola un trabajo de impresión en dos archivos diferentes, si se le proporciona su contenido como parámetros.

$header

Datos que van en la cabecera del trabajo y conservados en una entrada con extensión .job.

$data

Datos que van en el cuerpo del trabajo y conservados en una entrada con extensión .data. También es opcional en la llamada al método.

open_header_file( $seq )

    my $fh = spool->open_header_file( $seq );

Abre el archivo que guarda el encabezado del trabajo de impresión (extensión .job generalmente) y retorna un objeto the IO::File manpage si lo consigue.

$seq

Identificador del trabajo en la cola de impresión (por el momento un elemento de una secuencia numérica).

$mode

Modo de apertura del archivo. Si se omite se utiliza el acceso de escritura.

open_data_file( $seq )

    my $fh = $spool->open_data_file( $seq [, $mode ] );
    if ($fh) {
        $fh->print('Estos son los datos');
        $fh->close();
    }

Abre el archivo de datos de una entrada en la cola y retorna un manejador de archivo (usando the IO::File manpage) según el modo indicado (de lectura, escritura, ...).

$seq

Identificador del trabajo en la cola de impresión (por el momento un elemento de una secuencia numérica).

$mode

Modo de apertura del archivo. Si se omite se utiliza el acceso de escritura.

file_paths( $seq )

    my $data_file = $spool->file_paths( $seq );
    my @files = $spool->file_paths( $seq );

Devuelve la ruta del archivo de datos, indicado por la secuencia pasada como parámetro, ó todas las rutas de los archivos que componen la entrada en la cola.

Recibe como parámetro:

Retorna según sea llamado en contexto:

__top


DIAGNOSTICS

Genera las siguientes advertencias (vía carp):

__top


DEPENDENCIES

__top


BUGS AND LIMITATIONS

There are no known bugs in this module.

Please report problems to Víctor Moral <victor@taquiones.net> or Angel Ortega <angel@triptico.com>

Patches are welcome.

__top


AUTHOR

Víctor Moral <victor@taquiones.net>, Angel Ortega <angel@triptico.com>

__top


LICENCE AND COPYRIGHT

Copyright (c) 2005 <Venexma Europa, S.L.>. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

__top

 Basicos::Spool::Printer