handle_xml => '0,Using XML,yesno',
lastmsg => '0,Last Route Msg,atime',
lastid => '0,Last Route MsgID',
- do_pc92 => '0,Uses pc92,yesno',
+ do_pc9x => '0,Uses pc9x,yesno',
via_pc92 => '0,Came in via pc92,yesno',
obscount => '0,Obscount',
);
return @nodes;
}
+# this deletes this node completely by grabbing the parents
+# and deleting me from them
+sub delete
+{
+ my $self = shift;
+ my @out;
+
+ $self->_del_users;
+ foreach my $call (@{$self->{parent}}) {
+ my $parent = Route::Node::get($call);
+ push @out, $parent->del($self) if $parent;
+ }
+ return @out;
+}
+
sub del_nodes
{
my $parent = shift;
my %users = map {$_ => 1} @{$self->{users}};
my $cnodes = shift;
my $cusers = shift;
+ if (isdbg('route')) {
+ dbg("ROUTE: start calc_config_changes");
+ dbg("ROUTE: incoming nodes on $self->{call}: " . join(',', sort @$cnodes));
+ dbg("ROUTE: incoming users on $self->{call}: " . join(',', sort @$cusers));
+ dbg("ROUTE: existing nodes on $self->{call}: " . join(',', sort keys %nodes));
+ dbg("ROUTE: existing users on $self->{call}: " . join(',', sort keys %users));
+ }
my (@dnodes, @dusers, @nnodes, @nusers);
push @nnodes, map {my @r = $nodes{$_} ? () : $_; delete $nodes{$_}; @r} @$cnodes;
push @dnodes, keys %nodes;
push @nusers, map {my @r = $users{$_} ? () : $_; delete $users{$_}; @r} @$cusers;
push @dusers, keys %users;
+ if (isdbg('route')) {
+ dbg("ROUTE: deleted nodes on $self->{call}: " . join(',', sort @dnodes));
+ dbg("ROUTE: deleted users on $self->{call}: " . join(',', sort @dusers));
+ dbg("ROUTE: added nodes on $self->{call}: " . join(',', sort @nnodes));
+ dbg("ROUTE: added users on $self->{call}: " . join(',', sort @nusers));
+ dbg("ROUTE: end calc_config_changes");
+ }
return (\@dnodes, \@dusers, \@nnodes, \@nusers);
}