File: Cups.pm

package info (click to toggle)
ocsinventory-agent 2%3A2.0.5-1.2
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 4,120 kB
  • ctags: 899
  • sloc: perl: 20,687; sh: 576; objc: 468; ansic: 333; makefile: 55
file content (30 lines) | stat: -rw-r--r-- 800 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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 $common = $params->{common};

    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
    $common->addPrinter({
            NAME    => $printer->getName(),
            DESCRIPTION => $printer->getDescription(),
#                DRIVER =>  How to get the PPD?!!
        });

}
1;