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 )