wip
[spider.git] / perl / Route.pm
index a9f80fea4e3afe8b1e546c88444fd202467141f8..0e9b61395da39891f3bcf0a1957e7a6e8abdd87a 100644 (file)
@@ -37,6 +37,7 @@ use vars qw(%list %valid $filterdef);
                  cq => '0,CQ Zone',
                  state => '0,State',
                  city => '0,City',
+                 lastseen => 'Last Seen,atime',
                 );
 
 $filterdef = bless ([
@@ -68,14 +69,9 @@ sub new
        dbg("create $pkg with $call") if isdbg('routelow');
 
        # add in all the dxcc, itu, zone info
-       my @dxcc = Prefix::extract($call);
-       if (@dxcc > 0) {
-               $self->{dxcc} = $dxcc[1]->dxcc;
-               $self->{itu} = $dxcc[1]->itu;
-               $self->{cq} = $dxcc[1]->cq;
-               $self->{state} = $dxcc[1]->state;
-               $self->{city} = $dxcc[1]->city;
-       }
+       ($self->{dxcc}, $self->{itu}, $self->{cq}, $self->{state}, $self->{city}) =
+               Prefix::cty_data($call);
+
        $self->{flags} = here(1);
        
        return $self; 
@@ -170,12 +166,6 @@ sub conf
        return $r ? 1 : 0;
 }
 
-sub parents
-{
-       my $self = shift;
-       return @{$self->{parent}};
-}
-
 # 
 # display routines
 #
@@ -292,8 +282,8 @@ sub alldxchan
        # it isn't, build up a list of dxchannels and possible ping times 
        # for all the candidates.
        unless (@dxchan) {
-               foreach my $p (@{$self->{parent}}) {
-#                      dbg("Trying parent $p") if isdbg('routech');
+               foreach my $p (@{$self->{dxchan}}) {
+#                      dbg("Trying dxchan $p") if isdbg('routech');
                        next if $p eq $main::mycall; # the root
                        my $dxchan = DXChannel->get($p);
                        if ($dxchan) {
@@ -310,7 +300,7 @@ sub alldxchan
        return @dxchan;
 }
 
-sub dxchan
+sub bestdxchan
 {
        my $self = shift;
        
@@ -334,6 +324,29 @@ sub dxchan
        return $dxchan;
 }
 
+sub _adddxchan
+{
+       my $self = shift;
+    return $self->_addlist('dxchan', @_);
+}
+
+sub _deldxchan
+{
+       my $self = shift;
+    return $self->_dellist('dxchan', @_);
+}
+
+sub _addnode
+{
+       my $self = shift;
+    return $self->_addlist('nodes', @_);
+}
+
+sub _delnode
+{
+       my $self = shift;
+    return $self->_dellist('nodes', @_);
+}
 
 
 #