X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FRoute.pm;h=03dd1f43776a4ceba321740f1c5247a89f036532;hb=9311d6940faf0e9952d6d65d9ead572b06a52434;hp=e0cfe3e549a3ea2c9a50c8e7ad75abae7c4590f0;hpb=4d22d5fd3874e8292d82f84a777b99ff7d10402a;p=spider.git diff --git a/perl/Route.pm b/perl/Route.pm index e0cfe3e5..03dd1f43 100644 --- a/perl/Route.pm +++ b/perl/Route.pm @@ -60,7 +60,9 @@ $filterdef = bless ([ sub new { - my ($pkg, $call) = @_; + my $pkg = shift; + my $call = shift; + $pkg = ref $pkg if ref $pkg; my $self = bless {call => $call}, $pkg; @@ -70,7 +72,7 @@ sub new ($self->{dxcc}, $self->{itu}, $self->{cq}, $self->{state}, $self->{city}) = Prefix::cty_data($call); - $self->{flags} = here(1); + $self->{flags} = 1; return $self; } @@ -134,13 +136,6 @@ sub is_empty return @{$self->{$_[0]}} == 0; } -sub is_aranea -{ - my $self = shift; - $self->{aranea} = shift if @_; - return $self->{aranea}; -} - # # flag field constructors/enquirers # @@ -156,21 +151,15 @@ sub is_aranea sub here { my $self = shift; - my $r = shift; - return $self ? 2 : 0 unless ref $self; - return ($self->{flags} & 2) ? 1 : 0 unless defined $r; - $self->{flags} = (($self->{flags} & ~1) | ($r ? 1 : 0)); - return $r ? 1 : 0; + $self->{flags} = shift if @_; + return $self->{flags}; } +# conferencing in the ak1a sense is not supported sub conf { my $self = shift; - my $r = shift; - return $self ? 2 : 0 unless ref $self; - return ($self->{flags} & 1) ? 1 : 0 unless defined $r; - $self->{flags} = (($self->{flags} & ~2) | ($r ? 2 : 0)); - return $r ? 2 : 0; + return 0; } sub parents @@ -211,7 +200,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; @@ -289,7 +278,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 @@ -298,7 +287,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 { @@ -318,7 +307,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;