summaryrefslogtreecommitdiff
path: root/xpp/zconf/Zaptel/Xpp/Line.pm
diff options
context:
space:
mode:
Diffstat (limited to 'xpp/zconf/Zaptel/Xpp/Line.pm')
-rw-r--r--xpp/zconf/Zaptel/Xpp/Line.pm95
1 files changed, 0 insertions, 95 deletions
diff --git a/xpp/zconf/Zaptel/Xpp/Line.pm b/xpp/zconf/Zaptel/Xpp/Line.pm
deleted file mode 100644
index 2472c3b..0000000
--- a/xpp/zconf/Zaptel/Xpp/Line.pm
+++ /dev/null
@@ -1,95 +0,0 @@
-package Zaptel::Xpp::Line;
-#
-# Written by Oron Peled <oron@actcom.co.il>
-# Copyright (C) 2008, Xorcom
-# This program is free software; you can redistribute and/or
-# modify it under the same terms as Perl itself.
-#
-# $Id$
-#
-use strict;
-use Zaptel::Utils;
-
-my $proc_base = "/proc/xpp";
-
-sub new($$$) {
- my $pack = shift or die "Wasn't called as a class method\n";
- my $xpd = shift or die;
- my $index = shift;
- defined $index or die;
- my $self = {};
- bless $self, $pack;
- $self->{XPD} = $xpd;
- $self->{INDEX} = $index;
- return $self;
-}
-
-sub blink($$) {
- my $self = shift;
- my $on = shift;
- my $xpd = $self->xpd;
- my $result;
-
- my $file = "$proc_base/" . $xpd->fqn . "/blink";
- die "$file is missing" unless -f $file;
- # First query
- open(F, "$file") or die "Failed to open $file for reading: $!";
- $result = <F>;
- chomp $result;
- close F;
- if(defined($on)) { # Now change
- my $onbitmask = 1 << $self->index;
- my $offbitmask = $result & ~$onbitmask;
-
- $result = $offbitmask;
- $result |= $onbitmask if $on;
- open(F, ">$file") or die "Failed to open $file for writing: $!";
- print F "$result";
- if(!close(F)) {
- if($! == 17) { # EEXISTS
- # good
- } else {
- undef $result;
- }
- }
- }
- return $result;
-}
-
-sub create_all($$) {
- my $pack = shift or die "Wasn't called as a class method\n";
- my $xpd = shift || die;
- my $procdir = shift || die;
- local $/ = "\n";
- my @lines;
- for(my $i = 0; $i < $xpd->{CHANNELS}; $i++) {
- my $line = Zaptel::Xpp::Line->new($xpd, $i);
- push(@lines, $line);
- }
- $xpd->{LINES} = \@lines;
- my ($infofile) = glob "$procdir/*_info";
- die "Failed globbing '$procdir/*_info'" unless defined $infofile;
- my $type = $xpd->type;
- open(F, "$infofile") || die "Failed opening '$infofile': $!";
- my $battery_info = 0;
- while (<F>) {
- chomp;
- if($type eq 'FXO') {
- $battery_info = 1 if /^Battery:/;
- if($battery_info && s/^\s*on\s*:\s*//) {
- my @batt = split;
- foreach my $l (@lines) {
- die unless @batt;
- my $state = shift @batt;
- $l->{BATTERY} = ($state eq '+') ? 1 : 0;
- }
- $battery_info = 0;
- die if @batt;
- }
- }
- }
- close F;
-}
-
-
-1;