Watchdog
view release on metacpan or search on metacpan
Watchdog::Base - Watchdog base class
=head1 SYNOPSIS
use Watchdog::Base;
=head1 DESCRIPTION
B<Watchdog::Base> is the Watchdog base class.
=cut
my %fields = (
NAME => undef,
HOST => 'localhost',
PORT => undef,
FILE => '',
);
=head1 CLASS METHODS
=head2 new($name,$host,$port,$file)
Returns a new B<Watchdog::Base> object. I<$name> is a string which
will identify the service to a human. I<$host> is the name of the
host providing the service (default is 'localhost'). I<$port> is the
port on which the service listens.
=cut
sub new($$$) {
my $DEBUG = 0;
my $proto = shift;
my $class = ref($proto) || $proto;
my $self = bless { _PERMITTED => \%fields, %fields, },$class;
attr $self;
print STDERR "Watchdog::Base::new() $NAME $HOST $PORT $FILE\n" if $DEBUG;
my $arg;
for (\$NAME,\$HOST,\$PORT,\$FILE) {
$$_ = $arg if $arg = shift;
}
print STDERR "Watchdog::Base::new() $NAME $HOST $PORT $FILE\n" if $DEBUG;
return $self;
}
1;
#------------------------------------------------------------------------------
=head1 OBJECT METHODS
=head2 id()
Return a string describing the name of a service and the host (and
optionally the port) on which it runs.
=cut
sub id() {
my $self = attr shift;
my $id = "$NAME\@$HOST";
$id .= ":$PORT" if defined($PORT);
$id .= "/$FILE" if ($FILE eq '');
return $id;
}
#------------------------------------------------------------------------------
=head1 AUTHOR
new Maintainer: Clemens Gesell E<lt>clemens.gesell@vegatron.orgE<gt>
Paul Sharpe E<lt>paul@miraclefish.comE<gt>
=head1 COPYRIGHT
Copyright (c) 1998 Paul Sharpe. England. All rights reserved. This
program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
=cut
( run in 1.951 second using v1.01-cache-2.11-cpan-4ab04211f4c )