poest
view release on metacpan or search on metacpan
lib/POEST/Plugin.pm view on Meta::CPAN
# $Id: Plugin.pm,v 1.3 2003/04/08 00:27:30 cwest Exp $
package POEST::Plugin;
use strict;
$^W = 1;
use vars qw[$VERSION];
$VERSION = (qw$Revision: 1.3 $)[1];
use POE qw[Component::Server::SMTP];
use Carp;
sub import {
my ($class) = @_;
my ($caller) = (caller)[0];
{
eval qq[
package $caller;
use POE qw[Component::Server::SMTP];
use Carp;
package $class;
];
croak $@ if $@;
}
}
sub CONFIG () { [ ] }
sub new {
my ($class, %args) = @_;
return bless \%args, $class;
}
1;
__END__
=pod
=head1 NAME
POEST::Plugin - Details of, and Base Class for Writing a POEST Plugin
=head1 ABSTRACT
Details for writing a POEST Plugin. The interface and prescribed
conventions are detailed.
=head1 DESCRIPTION
poest plugins are classes. With the exception of the C<EVENT()>, and
C<new()> methods listed later in this document, all other methods will
be posted from the POE kernel. You'll need to read some documentation
on POE if you don't know what I'm talking about.
=head2 Conventions
=head3 Plugin naming and purpose
The plugin heirarchy has some naming conventions. It is highly
recommended that you follow them. If you find yourself doing something
new and unique, it is imperitive you contact the author of poest, Casey
West, and let him know what you're doing. There is a good chance it's
really cool and you should share, plus, he can help with naming.
The following rules apply.
B<NOTE>: The following is still fuzzy. A clear definition of rules of
interaction must be created!
=over 4
=item POEST::Plugin::Accept
( run in 2.991 seconds using v1.01-cache-2.11-cpan-6736b670a1e )