X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXChannel.pm;h=3637b7626885a6ec63e20720c8b3008ba03ba270;hb=502f900651a46b96008028945616a3b610d6cc7a;hp=e60705b147a86e684eccc067f0d4311e4c933682;hpb=0bd9d2811cc42417676a1b11b121681c2377d70a;p=spider.git diff --git a/perl/DXChannel.pm b/perl/DXChannel.pm index e60705b1..3637b762 100644 --- a/perl/DXChannel.pm +++ b/perl/DXChannel.pm @@ -51,6 +51,7 @@ use vars qw(%channels %valid); consort => '5,Connection Type', 'sort' => '5,Type of Channel', wwv => '0,Want WWV,yesno', + wcy => '0,Want WCY,yesno', wx => '0,Want WX,yesno', talk => '0,Want Talk,yesno', ann => '0,Want Announce,yesno', @@ -72,9 +73,11 @@ use vars qw(%channels %valid); delayed => '5,Delayed messages,parray', annfilter => '5,Announce Filter', wwvfilter => '5,WWV Filter', + wcyfilter => '5,WCY Filter', spotfilter => '5,Spot Filter', inannfilter => '5,Input Ann Filter', inwwvfilter => '5,Input WWV Filter', + inwcyfilter => '5,Input WCY Filter', inspotfilter => '5,Input Spot Filter', passwd => '9,Passwd List,parray', pingint => '5,Ping Interval ', @@ -119,6 +122,7 @@ sub alloc $self->{lang} = $user->lang; $user->new_group() if !$user->group; $self->{group} = $user->group; + $self->{sort} = $user->sort; } $self->{startt} = $self->{t} = time; $self->{state} = 0; @@ -129,6 +133,7 @@ sub alloc # get the filters $self->{spotfilter} = Filter::read_in('spots', $call, 0); $self->{wwvfilter} = Filter::read_in('wwv', $call, 0); + $self->{wcyfilter} = Filter::read_in('wcy', $call, 0); $self->{annfilter} = Filter::read_in('ann', $call, 0); bless $self, $pkg; @@ -158,7 +163,7 @@ sub get_all_ak1a my $ref; my @out; foreach $ref (@list) { - push @out, $ref if $ref->is_ak1a; + push @out, $ref if $ref->is_node; } return @out; } @@ -215,7 +220,12 @@ sub is_bbs return $self->{'sort'} eq 'B'; } -# is it an ak1a cluster ? +sub is_node +{ + my $self = shift; + return $self->{'sort'} =~ /[ACRSX]/; +} +# is it an ak1a node ? sub is_ak1a { my $self = shift; @@ -229,13 +239,34 @@ sub is_user return $self->{'sort'} eq 'U'; } -# is it a connect type -sub is_connect +# is it a clx node +sub is_clx { my $self = shift; return $self->{'sort'} eq 'C'; } +# is it a spider node +sub is_spider +{ + my $self = shift; + return $self->{'sort'} eq 'S'; +} + +# is it a DXNet node +sub is_dxnet +{ + my $self = shift; + return $self->{'sort'} eq 'X'; +} + +# is it a ar-cluster node +sub is_arcluster +{ + my $self = shift; + return $self->{'sort'} eq 'R'; +} + # for perl 5.004's benefit sub sort { @@ -345,10 +376,8 @@ sub disconnect my $user = $self->{user}; my $conn = $self->{conn}; my $call = $self->{call}; - my $nopc39 = shift || 0; - $self->finish($nopc39); - $conn->send_now("Z$call|bye") if $conn; # this will cause 'client' to disconnect + $self->finish($conn); $user->close() if defined $user; $conn->disconnect() if $conn; $self->del();