Allow dependant nodes to send pc16 data
[spider.git] / perl / Route.pm
index e0cfe3e549a3ea2c9a50c8e7ad75abae7c4590f0..019ba1e3c68f1355f6f7f1c223e0754733f49075 100644 (file)
@@ -157,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;
 }
@@ -168,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;
 }
@@ -211,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;
@@ -289,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 
@@ -298,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 {
@@ -318,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;