Mixin::Event::Dispatch::Bus − a message bus
version 2.000
{
package Some::Class;
sub bus { shift−>{bus} ||=
Mixin::Event::Dispatch::Bus−>new }
}
my $obj = bless {}, 'Some::Class';
$obj−>bus−>subscribe_to_event(
something => sub { my ($ev) = @_; warn
"something!" }
);
$obj−>bus−>invoke_event('something');
This class uses Mixin::Event::Dispatch to provide a message bus − instantiate this and call the usual methods to deal with events:
|
• |
"subscribe_to_event" in Mixin::Event::Dispatch |
|||
|
• |
"invoke_event" in Mixin::Event::Dispatch |
This allows several classes to share a common message bus, or to avoid polluting a class with event−related methods.
Tom Molesworth <[email protected]>
Copyright Tom Molesworth 2014. Licensed under the same terms as Perl itself.