=head1 NAME
AnyEvent::Impl::Cocoa - AnyEvent adaptor for Cocoa::EventLoop
=head1 SYNOPSIS
use AnyEvent;
use Cocoa::EventLoop;
# do something
=head1 DESCRIPTION
This module provides NSRunLoop support to AnyEvent.
NSRunLoop is an event loop for Cocoa applications, wrapped by
L<Cocoa::EventLoop>. By using this module, you can use Cocoa based API in
your AnyEvent application, or AnyEvent within Cocoa applications.
It does not support blocking waits.
=head1 BUGS
Right now, L<Cocoa::EventLoop> (and this module) are in an early
development phase and has some shortcomings and likely bugs.
For example, there seems to be no way to just handle a single event
with Cocoa (is there nothing they can implement properly?), so this
module currently wakes up at least ten times a second when waiting for
events. Also, events caused by timers might get delayed by up to 0.1
seconds.
=cut
package AnyEvent::Impl::Cocoa;
use AnyEvent (); BEGIN { AnyEvent::common_sense }
use Cocoa::EventLoop;
sub io {
my ($class, %arg) = @_;
Cocoa::EventLoop->io (%arg)
}
sub timer {
my ($class, %arg) = @_;
Cocoa::EventLoop->timer (%arg)
}
# does not support blocking waits
#sub loop {
# Cocoa::EventLoop->run;
#}
=head1 AUTHORS
Daisuke Murase <typester@cpan.org>, Marc Lehmann <schmorp@schmorp.de>.
=head1 COPYRIGHTS
Copyright (c) 2009 by KAYAC Inc.
Copyright (c) 2010,2011 by Marc Lehmann <schmorp@schmorp.de>
=cut
1