fix badspotters and local ann/full.
[spider.git] / perl / DXChannel.pm
index 696544293791e147552aff791992eb50a5df9d0c..adf7c358ddfec793cf90cedf136da8e799355e0e 100644 (file)
@@ -117,6 +117,7 @@ $count = 0;
                  ve7cc => '0,VE7CC program special,yesno',
                  lastmsgpoll => '0,Last Msg Poll,atime',
                  inscript => '9,In a script,yesno',
+                 handle_xml => '9,Handles XML,yesno',
                  inqueue => '9,Input Queue,parray',
                 );
 
@@ -177,6 +178,14 @@ sub alloc
        return $channels{$call} = $self;
 }
 
+# rebless this channel as something else
+sub rebless
+{
+       my $self = shift;
+       my $class = shift;
+       return $channels{$self->{call}} = bless $self, $class;
+}
+
 sub rec        
 {
        my ($self, $msg) = @_;
@@ -187,10 +196,10 @@ sub rec
        }
 }
 
-# obtain a channel object by callsign [$obj = DXChannel->get($call)]
+# obtain a channel object by callsign [$obj = DXChannel::get($call)]
 sub get
 {
-       my ($pkg, $call) = @_;
+       my $call = shift;
        return $channels{$call};
 }
 
@@ -266,7 +275,7 @@ sub is_bbs
 sub is_node
 {
        my $self = shift;
-       return $self->{'sort'} =~ /[ACRSX]/;
+       return $self->{'sort'} =~ /[ACRSXW]/;
 }
 # is it an ak1a node ?
 sub is_ak1a