add new dahdi_genconf generators
authorOron Peled <oron.peled@xorcom.com>
Mon, 23 Sep 2013 15:08:49 +0000 (17:08 +0200)
committerTzafrir Cohen <tzafrir.cohen@xorcom.com>
Tue, 1 Oct 2013 18:58:04 +0000 (21:58 +0300)
* pinnedspas: For /etc/dahdi/pinned-spans.conf
* spantypes: For /etc/dahdi/span-types.conf

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

xpp/perl_modules/Dahdi/Config/Gen/Pinnedspans.pm [new file with mode: 0644]
xpp/perl_modules/Dahdi/Config/Gen/Spantypes.pm [new file with mode: 0644]

diff --git a/xpp/perl_modules/Dahdi/Config/Gen/Pinnedspans.pm b/xpp/perl_modules/Dahdi/Config/Gen/Pinnedspans.pm
new file mode 100644 (file)
index 0000000..8eaf72d
--- /dev/null
@@ -0,0 +1,57 @@
+package Dahdi::Config::Gen::Pinnedspans;
+use strict;
+
+use Dahdi::Config::Gen qw(is_true);
+
+sub new($$$) {
+       my $pack = shift || die;
+       my $gconfig = shift || die;
+       my $genopts = shift || die;
+       my $file = $ENV{PINNED_SPANS_CONF_FILE} || "/etc/dahdi/pinned-spans.conf";
+       my $self = {
+                       FILE    => $file,
+                       GCONFIG => $gconfig,
+                       GENOPTS => $genopts,
+               };
+       bless $self, $pack;
+       return $self;
+}
+
+sub generate($$$) {
+       my $self = shift || die;
+       my $file = $self->{FILE};
+       my $gconfig = $self->{GCONFIG};
+       my $genopts = $self->{GENOPTS};
+       my @spans = @_;
+       warn "Empty configuration -- no spans\n" unless @spans;
+       rename "$file", "$file.bak"
+               or $! == 2      # ENOENT (No dependency on Errno.pm)
+               or die "Failed to backup old config: $!\n";
+       #$gconfig->dump;
+       print "Generating $file\n" if $genopts->{verbose};
+       my $cmd = "span_assignments dumpconfig > $file";
+       system $cmd;
+       die "Command failed (status=$?): '$cmd'" if $?;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+dahdi - Generate configuration for dahdi drivers.
+
+=head1 SYNOPSIS
+
+ use Dahdi::Config::Gen::Dahdi;
+
+ my $cfg = new Dahdi::Config::Gen::Dahdi(\%global_config, \%genopts);
+ $cfg->generate(@span_list);
+
+=head1 DESCRIPTION
+
+Generate the F</etc/dahdi/pinned-spans.conf>.
+This is the configuration for span_assignments.
+
+Its location may be overriden via the environment variable F<PINNED_SPANS_CONF_FILE>.
diff --git a/xpp/perl_modules/Dahdi/Config/Gen/Spantypes.pm b/xpp/perl_modules/Dahdi/Config/Gen/Spantypes.pm
new file mode 100644 (file)
index 0000000..1a31a62
--- /dev/null
@@ -0,0 +1,57 @@
+package Dahdi::Config::Gen::Spantypes;
+use strict;
+
+use Dahdi::Config::Gen qw(is_true);
+
+sub new($$$) {
+       my $pack = shift || die;
+       my $gconfig = shift || die;
+       my $genopts = shift || die;
+       my $file = $ENV{SPAN_TYPES_CONF_FILE} || "/etc/dahdi/span-types.conf";
+       my $self = {
+                       FILE    => $file,
+                       GCONFIG => $gconfig,
+                       GENOPTS => $genopts,
+               };
+       bless $self, $pack;
+       return $self;
+}
+
+sub generate($$$) {
+       my $self = shift || die;
+       my $file = $self->{FILE};
+       my $gconfig = $self->{GCONFIG};
+       my $genopts = $self->{GENOPTS};
+       my @spans = @_;
+       warn "Empty configuration -- no spans\n" unless @spans;
+       rename "$file", "$file.bak"
+               or $! == 2      # ENOENT (No dependency on Errno.pm)
+               or die "Failed to backup old config: $!\n";
+       #$gconfig->dump;
+       print "Generating $file\n" if $genopts->{verbose};
+       my $cmd = "span_types dumpconfig > $file";
+       system $cmd;
+       die "Command failed (status=$?): '$cmd'" if $?;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+dahdi - Generate configuration for dahdi drivers.
+
+=head1 SYNOPSIS
+
+ use Dahdi::Config::Gen::Dahdi;
+
+ my $cfg = new Dahdi::Config::Gen::Dahdi(\%global_config, \%genopts);
+ $cfg->generate(@span_list);
+
+=head1 DESCRIPTION
+
+Generate the F</etc/dahdi/span-types.conf>.
+This is the configuration for span_types.
+
+Its location may be overriden via the environment variable F<SPAN_TYPES_CONF_FILE>.