package App::POS::Printer;

use strict;
use warnings;

use App::POS::Printer::TOSHIBA;
use App::POS::Printer::MINIPOS;
use App::POS::Printer::PROX3100;
use App::POS::Printer::GENERIC;
use App::POS::Printer::EpsonTM88;
use App::POS::Printer::EpsonTM300;
use App::POS::Printer::EpsonTM300W;
use App::POS::Printer::BLEEP910;
use App::POS::Printer::EpsonTM295;
use App::POS::Printer::ELLIX40;
use App::POS::Printer::EpsonTM88_NoLeftRightJust;
use App::POS::Printer::Custom_TG2460;
use App::POS::Printer::STAR_TSP600;
use App::POS::Printer::OCOM;
use App::POS::Printer::ZEBRA;
use App::POS::Printer::ToFile;
use App::POS::Printer::TP8017;
use App::POS::Printer::EpsonTM210;
use App::POS::Printer::XPrinterBeep;

use base qw( App::Class );

sub init {
  my $self = shift;
}

sub get_class {
  my $self = shift;

  my $driver = 'GENERIC';
  $driver = $self->{driver} if exists $self->{driver} && $self->{driver};

  my $class = 'App::POS::Printer::'.$driver;

  return $class->new();
}

1;

