/usr/local/CPAN/Ocsinventory-Agent/Ocsinventory/Agent/Backend/OS/Generic/Printers/Cups.pm
package Ocsinventory::Agent::Backend::OS::Generic::Printers::Cups;
use strict;
sub check {
# If we are on a MAC, Mac::SysProfile will do the job
return if -r '/usr/sbin/system_profiler';
return unless can_load("Net::CUPS");
return 1;
}
sub run {
my $params = shift;
my $inventory = $params->{inventory};
my $cups = Net::CUPS->new();
my $printer = $cups->getDestination();
return unless $printer;
# Just grab the default printer, is I use getDestinations, CUPS
# returns all the printer of the local subnet (is it can)
# TODO There is room for improvement here
$inventory->addPrinter({
NAME => $printer->getName(),
DESCRIPTION => $printer->getDescription(),
# DRIVER => How to get the PPD?!!
});
}
1;