#!/usr/local/bin/perl -I/home/mpciish2/src/_lpr/

use strict;
use Lpr;
use Lpr_Module_Template;


# -----------------------------------------------------------------------------
# -- cosmos uses /usr/ucb/lpr;  the man page says:
#    
#        /usr/ucb/lpr -<opt_1> -<opt_2>... <file_1> <file_2>...


# ----------------------------------------------------------------------------
# -- INITIALISE :

srand;

select STDOUT;  # ...this ensures that diagnostics and error messages come
$| = 1;         #    out to the screen in the right order!


# ----------------------------------------------------------------------------
# -- GLOBALS :

#--# my $lpr     = "/usr/ucb/lpr";

my $pm      = "";
my $driver  = "";
my $p_files = ();

# ----------------------------------------------------------------------------
# -- BEGIN :

my $self = Lpr->new(\@ARGV, "/usr/ucb/lpr");


$self->check_files($self->files());


# -- select the printer driver perl module :

if (($self->queue() eq "usuls3_a4") || ($self->queue() eq "usuls3_a3")
                         || ($self->queue() eq "usuls3_duplex")
                         || ($self->queue() eq "usuls3_a4_text")) {

    $pm = "HP5Si";
  }
elsif (($self->queue() eq "usucls_a3") || ($self->queue() eq "usucls_a4")
                                       || ($self->queue() eq "usucls_ohp")) {
    $pm = "HP8550";
  }
elsif ($self->queue() eq "usua0p_matt_a0") {
    $pm = "HP1055CM";
  }
elsif (($self->queue() eq "usuls2") || ($self->queue() eq "usuls2_text")) {
    $pm = "HP6MP";
  }
elsif ($self->queue() eq "uph_laser1_m") {
    $pm = "HP4Mv";
  }
else {
    $self->die(
        "Unknown print-queue! " . $self->queue(), 
        "Available queues   : ",
        "    ",
        "    B28, Renold:",
        "        usuls3-a4, usuls3-a3, usuls3-duplex, usuls3-a4-text,",
        "        usucls-a4, usucls-a3, usucls-ohp,",
        "        usua0p-matt-a0",
        "        usuls2",
        "    ",
        "    Other:",
        "        usuls2, usuls2-text,",
        "        uph_laser1_m");
  }

# -- load the printer driver perl module :

require "Lpr_$pm.pm";

# -- wrap postscript in PJL and any other stream editing :

$driver  = "Lpr_$pm"->new();
$p_files = $driver->process_files($self);

# -- send off to OS-supplied lpr :

$self->print_files($p_files);


# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------




