add set/believe code
[spider.git] / perl / DXUser.pm
index 5e44a11f9e0b3d3fb884392cc3fe4e30c32e4f39..f371161ba2a13feee8c4b96d07a3b948d4012060 100644 (file)
@@ -61,7 +61,7 @@ $v3 = 0;
                  annok => '9,Accept Announces?,yesno', # accept his announces?
                  lang => '0,Language',
                  hmsgno => '0,Highest Msgno',
-                 group => '0,Access Group,parray',     # used to create a group of users/nodes for some purpose or other
+                 group => '0,Chat Group,parray',       # used to create a group of users/nodes for some purpose or other
                  isolate => '9,Isolate network,yesno',
                  wantbeep => '0,Req Beep,yesno',
                  wantann => '0,Req Announce,yesno',
@@ -92,6 +92,7 @@ $v3 = 0;
                  prompt => '0,Required Prompt',
                  version => '1,Version',
                  build => '1,Build',
+                 believe => '1,Believable nodes,parray',
                 );
 
 #no strict;
@@ -592,6 +593,8 @@ sub sort
 }
 
 # some accessors
+
+# want is default = 1
 sub _want
 {
        my $n = shift;
@@ -602,6 +605,17 @@ sub _want
        return exists $self->{$s} ? $self->{$s} : 1;
 }
 
+# wantnot is default = 0
+sub _wantnot
+{
+       my $n = shift;
+       my $self = shift;
+       my $val = shift;
+       my $s = "want$n";
+       $self->{$s} = $val if defined $val;
+       return exists $self->{$s} ? $self->{$s} : 0;
+}
+
 sub wantbeep
 {
        return _want('beep', @_);
@@ -662,6 +676,11 @@ sub wantpc16
        return _want('pc16', @_);
 }
 
+sub wantpc90
+{
+       return _wantnot('pc90', @_);
+}
+
 sub wantsendpc16
 {
        return _want('sendpc16', @_);
@@ -687,6 +706,11 @@ sub wantdxitu
        return _want('dxitu', @_);
 }
 
+sub wantnp
+{
+       return _wantnot('np', @_);
+}
+
 sub wantlogininfo
 {
        my $self = shift;
@@ -754,6 +778,24 @@ sub unset_passphrase
        my $self = shift;
        delete $self->{passphrase};
 }
+
+sub set_believe
+{
+       my $self = shift;
+       my $call = uc shift;
+       $self->{believe} ||= [];
+       push @{$self->{believe}}, $call;
+}
+
+sub unset_believe
+{
+       my $self = shift;
+       my $call = uc shift;
+       if (exists $self->{believe}) {
+               $self->{believe} = [grep {$_ ne $call} @{$self->{believe}}];
+               delete $self->{believe} unless @{$self->{believe}};
+       }
+}
 1;
 __END__