2 # This module is the factory method for dealing with routable entities
3 # It will route transforming them on the way as required.
5 # Copyright (c) 2001 Dirk Koopman G1TLH
16 use vars qw($VERSION $BRANCH);
17 $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
18 $BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0));
19 $main::build += $VERSION;
20 $main::branch += $BRANCH;
26 tonode => '0,To Node',
27 fromnode => '0,From Node',
29 origin => '0,Origin Node',
30 line => '0,Input Line',
43 return bless $self, $pkg;
48 my ($pkg, $name) = $AUTOLOAD =~ /^(.*)::(\w+)$/;
49 return if $name eq 'DESTROY';
51 my $v = "${pkg}::valid";
52 confess "Non-existant field '$AUTOLOAD'" unless $$v{$name} || $valid{$name};
54 *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};