/usr/local/CPAN/Ocsinventory-Agent/Ocsinventory/Agent/Backend/OS/MacOS/Printers.pm
package Ocsinventory::Agent::Backend::OS::MacOS::Printers;
use strict;
use constant DATATYPE => 'SPPrintersDataType';
sub check {
return(undef) unless -r '/usr/sbin/system_profiler';
return(undef) unless can_load("Mac::SysProfile");
return 1;
}
sub run {
my $params = shift;
my $inventory = $params->{inventory};
my $pro = Mac::SysProfile->new();
my $h = $pro->gettype(DATATYPE());
return(undef) unless(ref($h) eq 'HASH');
foreach my $printer (keys %$h){
$inventory->addPrinter({
NAME => $printer,
DRIVER => $h->{$printer}->{'PPD'},
PORT => $h->{$printer}->{'URI'},
});
}
}
1;