use Msg;
use DXUtil;
use DXM;
+use DXDebug;
%channels = undef;
%valid = (
- call => 'Callsign',
- conn => 'Msg Connection ref',
- user => 'DXUser ref',
- t => 'Time',
- priv => 'Privilege',
- state => 'Current State',
- oldstate => 'Last State',
- list => 'Dependant DXChannels list',
- name => 'User Name',
+ call => '0,Callsign',
+ conn => '9,Msg Conn ref',
+ user => '9,DXUser ref',
+ t => '0,Time,atime',
+ priv => '9,Privilege',
+ state => '0,Current State',
+ oldstate => '5,Last State',
+ list => '9,Dep Chan List',
+ name => '0,User Name',
+ consort => '9,Connection Type'
);
-# create a new connection object [$obj = DXChannel->new($call, $msg_conn_obj, $user_obj)]
+# create a new channel object [$obj = DXChannel->new($call, $msg_conn_obj, $user_obj)]
sub new
{
my ($pkg, $call, $conn, $user) = @_;
return $channels{$call} = $self;
}
-# obtain a connection object by callsign [$obj = DXChannel->get($call)]
+# obtain a channel object by callsign [$obj = DXChannel->get($call)]
sub get
{
my ($pkg, $call) = @_;
- return $connect{$call};
+ return $channels{$call};
}
-# obtain all the connection objects
+# obtain all the channel objects
sub get_all
{
my ($pkg) = @_;
return values(%channels);
}
-# obtain a connection object by searching for its connection reference
+# obtain a channel object by searching for its connection reference
sub get_by_cnum
{
my ($pkg, $conn) = @_;
return undef;
}
-# get rid of a connection object [$obj->del()]
+# get rid of a channel object [$obj->del()]
sub del
{
my $self = shift;
my $line;
foreach $line (@_) {
- my $t = atime;
chomp $line;
- print main::DEBUG "$t -> $sort $call $line\n" if defined DEBUG;
- print "-> $sort $call $line\n";
+ dbg('chan', "-> $sort $call $line\n");
$conn->send_now("$sort$call|$line");
}
}
my $line;
foreach $line (@_) {
- my $t = atime;
chomp $line;
- print main::DEBUG "$t -> D $call $line\n" if defined DEBUG;
- print "-> D $call $line\n";
+ dbg('chan', "-> D $call $line\n");
$conn->send_later("D$call|$line");
}
}
my $self = shift;
$self->{oldstate} = $self->{state};
$self->{state} = shift;
- print "Db $self->{call} channel state $self->{oldstate} -> $self->{state}\n" if $main::debug;
+ dbg('state', "$self->{call} channel state $self->{oldstate} -> $self->{state}\n");
}
# various access routines
+
+#
+# return a list of valid elements
+#
+
+sub fields
+{
+ return keys(%valid);
+}
+
+#
+# return a prompt for a field
+#
+
+sub field_prompt
+{
+ my ($self, $ele) = @_;
+ return $valid{$ele};
+}
+
sub AUTOLOAD
{
my $self = shift;