ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/lib/AnyEvent.pm
Revision: 1.1
Committed: Wed Apr 27 01:26:44 2005 UTC (19 years, 2 months ago) by root
Branch: MAIN
Log Message:
*** empty log message ***

File Contents

# Content
1 =head1 NAME
2
3 AnyEvent - ???
4
5 =head1 SYNOPSIS
6
7 =head1 DESCRIPTION
8
9 =over 4
10
11 =cut
12
13 package AnyEvent;
14
15 use Carp;
16
17 $VERSION = 0.1;
18
19 no warnings;
20
21 my @models = (
22 [Coro => Coro::Event::],
23 [Event => Event::],
24 [Glib => Glib::],
25 [Tk => Tk::],
26 );
27
28 sub AUTOLOAD {
29 $AUTOLOAD =~ s/.*://;
30
31 for (@models) {
32 my ($model, $package) = @$_;
33 if (defined ${"$package\::VERSION"}) {
34 $EVENT = "AnyEvent::Impl::$model";
35 eval "require $EVENT"; die if $@;
36 goto &{"$EVENT\::$AUTOLOAD"};
37 }
38 }
39
40 for (@models) {
41 my ($model, $package) = @$_;
42 $EVENT = "AnyEvent::Impl::$model";
43 if (eval "require $EVENT") {
44 goto &{"$EVENT\::$AUTOLOAD"};
45 }
46 }
47
48 die "No event module selected for AnyEvent and autodetect failed. Install any of these: Coro, Event, Glib or Tk.";
49 }
50
51 1;
52