514d50e829ef5c7165ca4f23b332370ffd2c9161
[spider.git] / perl / Thingy / Route.pm
1 #
2 # Generate route Thingies
3 #
4 # $Id$
5 #
6 # Copyright (c) 2004 Dirk Koopman G1TLH
7 #
8
9 package Thingy::Route;
10
11 use strict;
12
13 use vars qw($VERSION $BRANCH);
14 $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
15 $BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/,(0,0));
16 $main::build += $VERSION;
17 $main::branch += $BRANCH;
18
19 use vars qw(@ISA);
20
21 @ISA = qw(Thingy);
22
23 # this is node connect 
24 sub new_node_connect
25 {
26         my $pkg = shift;
27         my $fromnode = shift;
28         my $inon = shift;
29         my $msgid = shift;
30         my $t = $pkg->SUPER::new(_fromnode=>$fromnode, _msgid=>$msgid, 
31                                                          _inon=>$inon,
32                                                          t=>'nc', n=>join('|', @_));
33         return $t;
34 }
35
36 # this is node disconnect 
37 sub new_node_disconnect
38 {
39         my $pkg = shift;
40         my $fromnode = shift;
41         my $inon = shift;
42         my $msgid = shift;
43         my $t = $pkg->SUPER::new(_fromnode=>$fromnode, _msgid=>$msgid, 
44                                                          _inon=>$inon,
45                                                          t=>'nd', n=>join('|', @_));
46         return $t;
47 }
48
49 # a full node update
50 sub new_node_update
51 {
52         my $pkg = shift;
53         my $msgid = shift;
54         
55         my @nodes = grep {$_ ne $main::mycall} DXChannel::get_all_node_calls();
56         my @users = DXChannel::get_all_user_calls();
57         
58         my $t = $pkg->SUPER::new(_msgid=>$msgid, t=>'nu', 
59                                                          id=>"DXSpider $main::version $main::build", 
60                                                          n=>join('|', @nodes), u=>join('|', @users));
61         return $t;
62 }
63
64 sub normal
65 {
66
67 }