… | |
… | |
52 | |
52 | |
53 | no warnings; |
53 | no warnings; |
54 | use strict 'vars'; |
54 | use strict 'vars'; |
55 | use Carp; |
55 | use Carp; |
56 | |
56 | |
57 | our $VERSION = 0.1; |
57 | our $VERSION = 0.2; |
58 | our $MODEL; |
58 | our $MODEL; |
59 | |
59 | |
60 | our $AUTOLOAD; |
60 | our $AUTOLOAD; |
61 | our @ISA; |
61 | our @ISA; |
62 | |
62 | |
… | |
… | |
65 | [Event => Event::], |
65 | [Event => Event::], |
66 | [Glib => Glib::], |
66 | [Glib => Glib::], |
67 | [Tk => Tk::], |
67 | [Tk => Tk::], |
68 | ); |
68 | ); |
69 | |
69 | |
|
|
70 | our %method = map +($_ => 1), qw(io timer condvar broadcast wait cancel DESTROY); |
|
|
71 | |
70 | sub AUTOLOAD { |
72 | sub AUTOLOAD { |
71 | $AUTOLOAD =~ s/.*://; |
73 | $AUTOLOAD =~ s/.*://; |
|
|
74 | |
|
|
75 | $method{$AUTOLOAD} |
|
|
76 | or croak "$AUTOLOAD: not a valid method for AnyEvent objects"; |
72 | |
77 | |
73 | unless ($MODEL) { |
78 | unless ($MODEL) { |
74 | # check for already loaded models |
79 | # check for already loaded models |
75 | for (@models) { |
80 | for (@models) { |
76 | my ($model, $package) = @$_; |
81 | my ($model, $package) = @$_; |