DJabberd
view release on metacpan or search on metacpan
lib/DJabberd/Delivery.pm view on Meta::CPAN
package DJabberd::Delivery;
use strict;
use warnings;
use base 'DJabberd::Plugin';
use Scalar::Util;
sub finalize {
my ($self) = @_;
$self->{vhost} = undef;
$self->SUPER::finalize();
}
sub register {
my ($self, $vhost) = @_;
$self->set_vhost($vhost);
$vhost->register_hook("deliver", sub { $self->deliver(@_) });
}
sub vhost {
return $_[0]->{vhost};
}
sub set_vhost {
my ($self, $vhost) = @_;
Carp::croak("Not a vhost: '$vhost'") unless UNIVERSAL::isa($vhost, "DJabberd::VHost");
$self->{vhost} = $vhost;
Scalar::Util::weaken($self->{vhost});
}
1;
( run in 0.820 second using v1.01-cache-2.11-cpan-99c4e6809bf )