qpsmtpd/lib/Qpsmtpd/Plugin.pm
Ask Bjørn Hansen 931c3dbdfa use new plugin_name function when the plugins log()
git-svn-id: https://svn.perl.org/qpsmtpd/branches/v010@49 958fd67b-6ff1-0310-b445-bb7760255be9
2002-09-08 10:00:02 +00:00

33 lines
681 B
Perl

package Qpsmtpd::Plugin;
use strict;
sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my %args = @_;
bless ({ _qp => $args{qpsmtpd} }, $class);
}
sub register_hook {
my ($plugin, $hook, $method) = @_;
# I can't quite decide if it's better to parse this code ref or if
# we should pass the plugin object and method name ... hmn.
$plugin->qp->_register_hook($hook, sub { $plugin->$method(@_) });
}
sub qp {
shift->{_qp};
}
sub log {
my $self = shift;
$self->qp->log(shift, $self->plugin_name . " plugin: " . shift, @_);
}
sub transaction {
# not sure if this will work in a non-forking or a threaded daemon
shift->qp->transaction;
}
1;