File Coverage

blib/lib/Sys/Apm.pm
Criterion Covered Total %
statement 6 38 15.7
branch 0 6 0.0
condition n/a
subroutine 2 12 16.6
pod 8 10 80.0
total 16 66 24.2


line stmt bran cond sub pod time code
1             package Sys::Apm;
2              
3 1     1   40047 use strict;
  1         3  
  1         46  
4 1     1   6 use warnings;
  1         1  
  1         514  
5              
6             our $VERSION = 0.05;
7              
8             sub new {
9 0     0 0   my $cls = shift;
10 0           my $self = {proc=>'/proc/apm'};
11 0 0         unless (-f $self->{proc}) { return }
  0            
12 0           bless $self => $cls;
13 0           $self->fetch;
14 0           $self;
15             }
16              
17             sub fetch {
18 0     0 1   my $self = shift;
19 0 0         open(APM,$self->{proc})or return;
20 0           my $a = ;
21 0           chomp($a);
22 0           close APM;
23 0 0         unless ($a) { return }
  0            
24 0           $self->parse($a);
25             }
26              
27             sub parse {
28 0     0 0   my $self = shift;
29 0           my $str = shift;
30 0           $self->{data}=[split / /, $str];
31             }
32              
33             sub driver_version {
34 0     0 1   my $self = shift;
35 0           $self->{data}[0];
36             }
37              
38             sub bios_version {
39 0     0 1   my $self = shift;
40 0           $self->{data}[1];
41             }
42              
43             sub ac_status {
44 0     0 1   my $self = shift;
45 0           hex($self->{data}[3]);
46             }
47              
48             sub battery_status {
49 0     0 1   my $self = shift;
50 0           hex($self->{data}[4]);
51             }
52              
53             sub charge {
54 0     0 1   my $self = shift;
55 0           $self->{data}[6];
56             }
57              
58             sub remaining {
59 0     0 1   my $self = shift;
60 0           $self->{data}[7];
61             }
62              
63             sub units {
64 0     0 1   my $self = shift;
65 0           $self->{data}[8];
66             }
67              
68             1;
69             __END__