package DXUser;
-require Exporter;
-@ISA = qw(Exporter);
-
use DXLog;
use DB_File;
use Data::Dumper;
$filename = $fn;
}
+sub del_file
+{
+ my ($pkg, $fn, $mode) = @_;
+
+ confess "need a filename in User" if !$fn;
+ $fn .= ".v2";
+ unlink $fn;
+}
+
use strict;
#
{
my $pkg = shift;
my $call = uc shift;
- # $call =~ s/-\d+$//o; # strip ssid
- my $s = $u{$call};
- return $s ? decode($s) : undef;
-}
-
-#
-# get all callsigns in the database
-#
-
-sub get_all_calls
-{
- return (sort keys %u);
+ my $data;
+ unless ($dbm->get($call, $data)) {
+ return decode($data);
+ }
+ return undef;
}
#
{
my $pkg = shift;
my $call = uc shift;
- # $call =~ s/-\d+$//o; # strip ssid
my $dxchan = DXChannel->get($call);
return $dxchan->user if $dxchan;
- return get($pkg, $call);
+ my $data;
+ unless ($dbm->get($call, $data)) {
+ return decode($data);
+ }
+ return undef;
+}
+
+#
+# get all callsigns in the database
+#
+
+sub get_all_calls
+{
+ return (sort keys %u);
}
#
}
delete $self->{annok} if $self->{annok};
delete $self->{dxok} if $self->{dxok};
- $u{$call} = $self->encode();
+ $dbm->put($call, $self->encode);
}
#
{
my $s = shift;
my $ref;
- $s = '$ref = ' . $s;
- eval $s;
- Log('DXUser', $@) if $@;
- $ref = undef if $@;
+ eval '$ref = ' . $s;
+ if ($@) {
+ dbg('err', $@) if $@;
+ Log('err', $@) if $@;
+ $ref = undef;
+ }
return $ref;
}