X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FRoute.pm;h=019ba1e3c68f1355f6f7f1c223e0754733f49075;hb=4f2b8661933ee3e3ccda2596d30485d98dd18ecb;hp=b4e11b4d1da5a295ef3566e798409f9e209b3339;hpb=dcbafa96df9fbad90df86076b6ee9fa6a673a61c;p=spider.git diff --git a/perl/Route.pm b/perl/Route.pm index b4e11b4d..019ba1e3 100644 --- a/perl/Route.pm +++ b/perl/Route.pm @@ -22,10 +22,8 @@ use strict; use vars qw($VERSION $BRANCH); -$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); -$main::build += $VERSION; -$main::branch += $BRANCH; + +main::mkver($VERSION = q$Revision$); use vars qw(%list %valid $filterdef); @@ -37,6 +35,7 @@ use vars qw(%list %valid $filterdef); cq => '0,CQ Zone', state => '0,State', city => '0,City', + aranea => '0, By Aranea,yesno', ); $filterdef = bless ([ @@ -135,6 +134,13 @@ sub is_empty return @{$self->{$_[0]}} == 0; } +sub is_aranea +{ + my $self = shift; + $self->{aranea} = shift if @_; + return $self->{aranea}; +} + # # flag field constructors/enquirers # @@ -151,8 +157,8 @@ sub here { my $self = shift; my $r = shift; - return $self ? 2 : 0 unless ref $self; - return ($self->{flags} & 2) ? 1 : 0 unless defined $r; + return $self ? 1 : 0 unless ref $self; + return ($self->{flags} & 1) ? 1 : 0 unless defined $r; $self->{flags} = (($self->{flags} & ~1) | ($r ? 1 : 0)); return $r ? 1 : 0; } @@ -162,7 +168,7 @@ sub conf my $self = shift; my $r = shift; return $self ? 2 : 0 unless ref $self; - return ($self->{flags} & 1) ? 1 : 0 unless defined $r; + return ($self->{flags} & 2) ? 2 : 0 unless defined $r; $self->{flags} = (($self->{flags} & ~2) | ($r ? 2 : 0)); return $r ? 2 : 0; } @@ -205,7 +211,7 @@ sub config $call = ' ' x length $call; # recursion detector - if ((DXChannel->get($self->{call}) && $level > 1) || grep $self->{call} eq $_, @$seen) { + if ((DXChannel::get($self->{call}) && $level > 1) || grep $self->{call} eq $_, @$seen) { $line .= ' ...'; push @out, $line; return @out; @@ -283,7 +289,7 @@ sub alldxchan my @dxchan; # dbg("Trying node $self->{call}") if isdbg('routech'); - my $dxchan = DXChannel->get($self->{call}); + my $dxchan = DXChannel::get($self->{call}); push @dxchan, $dxchan if $dxchan; # it isn't, build up a list of dxchannels and possible ping times @@ -292,7 +298,7 @@ sub alldxchan foreach my $p (@{$self->{parent}}) { # dbg("Trying parent $p") if isdbg('routech'); next if $p eq $main::mycall; # the root - my $dxchan = DXChannel->get($p); + my $dxchan = DXChannel::get($p); if ($dxchan) { push @dxchan, $dxchan unless grep $dxchan == $_, @dxchan; } else { @@ -312,7 +318,7 @@ sub dxchan my $self = shift; # ALWAYS return the locally connected channel if present; - my $dxchan = DXChannel->get($self->call); + my $dxchan = DXChannel::get($self->call); return $dxchan if $dxchan; my @dxchan = $self->alldxchan;