AnyEvent-DBus
view release on metacpan or search on metacpan
our $VERSION = '0.31';
# yup, Net::DBus checks by using exists on %INC...
$INC{'Net/DBus/Reactor.pm'} = undef;
# claim we are the main reactor mainloop
*Net::DBus::Reactor::main = sub { __PACKAGE__ };
our $I = 0;
our %O; # watchers and timers, unfortunately, dbus only supports attaching integers...
sub watch_off {
delete $O{$_[1]->get_data};
}
sub io_toggle {
my ($con, $w) = @_;
my $id = $w->get_data;
my $f = $w->get_flags;
&io_toggle;
}
sub timeout_toggle {
my ($con, $w) = @_;
my $id = $w->get_data;
my $i = $w->get_interval * 0.001;
$O{$id} = $w->is_enabled && AE::timer $i, $i, sub {
$w->handle;
$con->dispatch;
};
}
sub timeout_on {
my ($con, $w) = @_;
my $id = ++$I;
$w->set_data ($id);
( run in 1.811 second using v1.01-cache-2.11-cpan-49f99fa48dc )