use strict;
-use vars qw(%list %valid @ISA $max);
+use vars qw($VERSION $BRANCH);
+$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0;
+$main::build += $VERSION;
+$main::branch += $BRANCH;
+
+use vars qw(%list %valid @ISA $max $filterdef);
@ISA = qw(Route);
%valid = (
parent => '0,Parent Calls,parray',
);
+$filterdef = $Route::filterdef;
%list = ();
$max = 0;
sub count
{
- my $n = scalar %list;
+ my $n = scalar(keys %list);
$max = $n if $n > $max;
return $n;
}
sub max
{
+ count();
return $max;
}
return $self;
}
+sub get_all
+{
+ return values %list;
+}
+
sub del
{
my $self = shift;
my $pref = shift;
- my $ref = $self->delparent($pref->{call});
- return () if @$ref;
- delete $list{$self->{call}};
- return ($ref);
+ $self->delparent($pref);
+ unless (@{$self->{parent}}) {
+ delete $list{$self->{call}};
+ return $self;
+ }
+ return undef;
}
sub get
{
my $call = shift;
$call = shift if ref $call;
- return $list{uc $call};
+ my $ref = $list{uc $call};
+ dbg("Failed to get User $call" ) if !$ref && isdbg('routerr');
+ return $ref;
}
sub addparent