package Thread::Queue::Event::Glib; use Moose::Role; use Glib; requires 'event_fileno'; sub add_watch { my ($self,$sub)=@_; Glib::IO->add_watch($self->event_fileno,'in',$sub); } no Moose; 1;