table of contents
- unstable 0.20-1
| AnyEvent::FTP::Role::Event(3pm) | User Contributed Perl Documentation | AnyEvent::FTP::Role::Event(3pm) |
NAME¶
AnyEvent::FTP::Role::Event - Event interface for AnyEvent::FTP objects
VERSION¶
version 0.20
SYNOPSIS¶
package AnyEvent::FTP::Foo;
use Moo;
with 'AnyEvent::FTP::Role::Event';
__PACKAGE__->define_events(qw( error good ));
sub some_method
{
my($self) = @_;
if($self->other_method)
{
$self->emit(good => 'paylod message');
}
else
{
$self->emit(error => 'something went wrong!');
}
}
later on somewhere else
use AnyEvent::FTP::Foo;
my $foo = AnyEvent::FTP::Foo->new;
$foo->on_good(sub {
my($message) = @_;
print "worked: $message";
});
$foo->on_error(sub {
my($message) = @_;
print "failed: $message";
});
$foo->some_method
DESCRIPTION¶
This role provides a uniform even callback mechanism for classes in AnyEvent::FTP. You declare events by using the "define_events" method. Once declared you can use "on_"event_name to add a callback to a particular event and "emit" to trigger those callbacks.
METHODS¶
define_events¶
__PACKAGE__->define_events( @list_of_event_names );
This is called within the class package to declare the event names for all events used by the class. It creates methods of the form "on_"event_name which can be used to add callbacks to events.
emit¶
$obj->emit($event_name, @arguments);
This calls the callbacks associated with the given $event_name. It will pass to that callback the given @arguments.
SEE ALSO¶
- •
- AnyEvent::FTP
AUTHOR¶
Author: Graham Ollis <plicease@cpan.org>
Contributors:
Ryo Okamoto
Shlomi Fish
José Joaquín Atria
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2017-2022 by Graham Ollis.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| 2026-02-16 | perl v5.40.1 |