make the major mod to make PC16 the master record for triggering the update
[spider.git] / perl / DXUser.pm
index 80a9b64167fd767aa5997f8c7ae4ac8113701222..e5a6a3b241c37915a9e75b4073abbf28ede33631 100644 (file)
@@ -32,7 +32,7 @@ $dbm = undef;
 $filename = undef;
 $lastoperinterval = 60*24*60*60;
 $lasttime = 0;
-$lrusize = 500;
+$lrusize = 2000;
 
 # hash of valid elements and a simple prompt
 %valid = (
@@ -78,6 +78,9 @@ $lrusize = 500;
                  wantann_talk => '0,Talklike Anns,yesno',
                  wantpc90 => '1,Req PC90,yesno',
                  wantnp => '1,Req New Protocol,yesno',
+                 wantpc16 => '9,Want Users from node,yesno',
+                 wantsendpc16 => '9,Send PC16,yesno',
+                 wantroutepc19 => '9,Route PC19,yesno',
                  lastoper => '9,Last for/oper,cldatetime',
                  nothere => '0,Not Here Text',
                  registered => '9,Registered?,yesno',
@@ -86,26 +89,23 @@ $lrusize = 500;
                  build => '1,Build',
                 );
 
-no strict;
+#no strict;
 sub AUTOLOAD
 {
-       my $self = shift;
+       no strict;
        my $name = $AUTOLOAD;
   
        return if $name =~ /::DESTROY$/;
-       $name =~ s/.*:://o;
+       $name =~ s/^.*:://o;
   
        confess "Non-existant field '$AUTOLOAD'" if !$valid{$name};
        # 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}} ;
-       if (@_) {
-               $self->{$name} = shift;
-       }
-       return $self->{$name};
+       *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
+       goto &$AUTOLOAD;
 }
 
-use strict;
+#use strict;
 
 #
 # initialise the system
@@ -117,9 +117,9 @@ sub init
        confess "need a filename in User" if !$fn;
        $fn .= ".v2";
        if ($mode) {
-               $dbm = tie (%u, 'DB_File', $fn, O_CREAT|O_RDWR, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!)";
+               $dbm = tie (%u, 'DB_File', $fn, O_CREAT|O_RDWR, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_asc?]";
        } else {
-               $dbm = tie (%u, 'DB_File', $fn, O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!)";
+               $dbm = tie (%u, 'DB_File', $fn, O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_asc?]";
        }
        
        $filename = $fn;
@@ -580,6 +580,21 @@ sub wantann_talk
        return _want('ann_talk', @_);
 }
 
+sub wantpc16
+{
+       return _want('pc16', @_);
+}
+
+sub wantsendpc16
+{
+       return _want('sendpc16', @_);
+}
+
+sub wantroutepc16
+{
+       return _want('routepc16', @_);
+}
+
 sub wantlogininfo
 {
        my $self = shift;