improve help for grepdbg and watchdbg
[spider.git] / perl / DXChannel.pm
index f8dabe1c657b3abd6129dd75fa52619e1af12382..8b1792cd148dc0caddb6f5180ef1907d149c7d05 100644 (file)
@@ -45,7 +45,6 @@ $count = 0;
                  ann => '0,Want Announce,yesno',
                  ann_talk => '0,Suppress Talk Anns,yesno',
                  annfilter => '5,Ann Filt-out',
-                 annfilter => '5,Ann Filt-out',
                  badcount => '1,Bad Word Count',
                  badip => '9,BAD IP address',
                  beep => '0,Want Beeps,yesno',
@@ -57,45 +56,35 @@ $count = 0;
                  consort => '5,Connection Type',
                  cq => '0,CQ Zone',
                  delayed => '5,Delayed messages,parray',
-                 delayed => '5,Delayed messages,parray',
                  disconnecting => '9,Disconnecting,yesno',
                  do_pc9x => '9,Handles PC9x,yesno',
-                 do_pc9x => '9,Handles PC9x,yesno',
                  dx => '0,DX Spots,yesno',
                  dxcc => '0,Country Code',
                  edit => '7,Edit Function',
                  enhanced => '5,Enhanced Client,yesno',
                  errors => '9,Errors',
                  func => '5,Function',
-                 group => '0,Access Group,parray',     # used to create a group of users/nodes for some purpose or other
+                 group => '0,Access Group,parray',     # used to create a group of users/nodes for some purpose or other.
+                 gtk => '5,Using GTK,yesno',
                  handle_xml => '9,Handles XML,yesno',
                  here => '0,Here?,yesno',
                  hostname => '0,Hostname',
                  inannfilter => '5,Ann Filt-inp',
                  inpc92filter => '5,PC92 Route Filt-inp',
                  inqueue => '9,Input Queue,parray',
-                 inqueue => '9,Input Queue,parray',
                  inrbnfilter => '5,RBN Filt-inp',
-                 inrbnfilter => '5,RBN Filt-inp',
-                 inroutefilter => '5,Route Filt-inp',
                  inroutefilter => '5,Route Filt-inp',
                  inscript => '9,In a script,yesno',
-                 inscript => '9,In a script,yesno',
                  inspotsfilter => '5,Spot Filt-inp',
-                 inspotsfilter => '5,Spot Filt-inp',
-                 inwcyfilter => '5,WCY Filt-inp',
                  inwcyfilter => '5,WCY Filt-inp',
                  inwwvfilter => '5,WWV Filt-inp',
-                 inwwvfilter => '5,WWV Filt-inp',
                  isbasic => '9,Internal Connection', 
                  isolate => '5,Isolate network,yesno',
-                 isolate => '5,Isolate network,yesno',
-                 isslugged => '9,Still Slugged,yesno',
                  isslugged => '9,Still Slugged,yesno',
                  itu => '0,ITU Zone',
+                 K => '9,Seen on PC92 K,yesno',
                  lang => '0,Language',
                  lastmsgpoll => '0,Last Msg Poll,atime',
-                 lastmsgpoll => '0,Last Msg Poll,atime',
                  lastping => '5,Ping last sent,atime',
                  lastread => '5,Last Msg Read',
                  list => '9,Dep Chan List',
@@ -105,8 +94,6 @@ $count = 0;
                  name => '0,User Name',
                  newroute => '1,New Style Routing,yesno',
                  next_pc92_keepalive => '9,Next PC92 KeepAlive,atime',
-                 next_pc92_keepalive => '9,Next PC92 KeepAlive,atime',
-                 next_pc92_update => '9,Next PC92 Update,atime',
                  next_pc92_update => '9,Next PC92 Update,atime',
                  nopings => '5,Ping Obs Count',
                  oldstate => '5,Last State',
@@ -116,24 +103,20 @@ $count = 0;
                  passwd => '9,Passwd List,yesno',
                  pc50_t => '5,Last PC50 Time,atime',
                  pc92filter => '5,PC92 Route Filt-out',
-                 pc92filter => '5,PC92 Route Filt-out',
                  pingave => '0,Ping ave time',
                  pingint => '5,Ping Interval ',
                  pingtime => '5,Ping totaltime,parray',
                  priv => '9,Privilege',
                  prompt => '0,Required Prompt',
                  rbnfilter => '5,RBN Filt-out',
-                 rbnfilter => '5,RBN Filt-out',
+                 rbnseeme => '0,RBN See Me,yesno',
                  redirect => '0,Redirect messages to',
                  registered => '9,Registered?,yesno',
                  remotecmd => '9,doing rcmd,yesno',
                  route => '9,Route Data',
                  routefilter => '5,Route Filt-out',
-                 routefilter => '5,Route Filt-out',
                  senddbg => '8,Sending Debug,yesno',
                  sluggedpcs => '9,Slugged PCxx Queue,parray',
-                 sluggedpcs => '9,Slugged PCxx Queue,parray',
-                 spotsfilter => '5,Spot Filt-out',
                  spotsfilter => '5,Spot Filt-out',
                  startt => '0,Start Time,atime',
                  state => '0,Current State',
@@ -142,9 +125,14 @@ $count = 0;
                  talklist => '0,Talk List,parray',
                  user => '9,DXUser ref',
                  ve7cc => '0,VE7CC program special,yesno',
+                 verified => '9,Verified?,yesno',
+                 version => '1,Node Version',
+                 wcy => '0,Want WCY,yesno',
                  wcyfilter => '5,WCY Filt-out',
                  width => '0,Column Width',
+                 wwv => '0,Want WWV,yesno',
                  wwvfilter => '5,WWV Filt-out',
+                 wx => '0,Want WX,yesno',                
                 );
 
 $maxerrors = 20;                               # the maximum number of concurrent errors allowed before disconnection
@@ -727,9 +715,14 @@ sub process_one
        while (my $data = shift @{$self->{inqueue}}) {
                my ($sort, $call, $line) = $self->decode_input($data);
                next unless defined $sort;
-               
-               # do the really sexy console interface bit! (Who is going to do the TK interface then?)
-               dbg("<- $sort $call $line") if $sort ne 'D' && isdbg('chan');
+
+               if ($sort ne 'D') {
+                       if (isdbg('chan')) {
+                               if (($self->is_rbn && isdbg('rbnchan')) || !$self->is_rbn) {
+                                       dbg("<- $sort $call $line") if isdbg('chan'); # you may think this is tautology, but it's needed get the correct label on the debug line
+                               }
+                       }
+               }
                
                # handle A records
                my $user = $self->user;
@@ -784,6 +777,15 @@ sub error_handler
        $self->disconnect(1);
 }
 
+sub refresh_user
+{
+       my $call = shift;
+       my $user = shift;
+       return unless $call && $user && ref $user;
+       my $self = DXChannel::get($call);
+       $self->{user} = $user;
+       return $user;
+}
 
 sub isregistered
 {