fix // in talk
[spider.git] / perl / DXChannel.pm
index 372599af1a3806dec7c1c37e540345ce58804e45..d0c995d9756c3bd582e3ed2c9db8766f6b38d5a0 100644 (file)
@@ -112,6 +112,8 @@ $count = 0;
                  prompt => '0,Required Prompt',
                  version => '1,Node Version',
                  build => '1,Node Build',
+                 verified => '9,Verified?,yesno',
+                 newroute => '1,New Style Routing,yesno',
                 );
 
 use vars qw($VERSION $BRANCH);
@@ -301,6 +303,15 @@ sub sort
        return @_ ? $self->{'sort'} = shift : $self->{'sort'} ;
 }
 
+# find out whether we are prepared to believe this callsign on this interface
+sub is_believed
+{
+       my $self = shift;
+       my $call = shift;
+       
+       return grep $call eq $_, $self->user->believe;
+}
+
 # handle out going messages, immediately without waiting for the select to drop
 # this could, in theory, block
 sub send_now
@@ -425,6 +436,7 @@ sub disconnect
        my $self = shift;
        my $user = $self->{user};
        
+       main::clean_inqueue($self);          # clear out any remaining incoming frames
        $user->close() if defined $user;
        $self->{conn}->disconnect;
        $self->del();
@@ -625,7 +637,6 @@ sub broadcast_list
 #no strict;
 sub AUTOLOAD
 {
-       my $self = shift;
        no strict;
        my $name = $AUTOLOAD;
        return if $name =~ /::DESTROY$/;
@@ -636,9 +647,7 @@ sub AUTOLOAD
        # this clever line of code creates a subroutine which takes over from autoload
        # from OO Perl - Conway
        *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
-       &$AUTOLOAD($self, @_);
-#      *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
-#    @_ ? $self->{$name} = shift : $self->{$name} ;
+       goto &$AUTOLOAD;
 }