| File: | blib/lib/OpenSRF/Transport/Listener.pm |
| Coverage: | 58.6% |
| line | stmt | bran | cond | sub | pod | time | code |
|---|---|---|---|---|---|---|---|
| 1 | package OpenSRF::Transport::Listener; | ||||||
| 2 | 9 9 9 | 50 31 58 | use base 'OpenSRF'; | ||||
| 3 | 9 9 9 | 62 35 59 | use OpenSRF::Utils::Logger qw(:level); | ||||
| 4 | 9 9 9 | 101 38 131 | use OpenSRF::Transport::SlimJabber::Inbound; | ||||
| 5 | 9 9 9 | 1220 34 72 | use base 'OpenSRF::Transport::SlimJabber::Inbound'; | ||||
| 6 | |||||||
| 7 - 21 | =head1 Description This is the empty class that acts as the subclass of the transport listener. My API includes new( $app ) create a new Listener with appname $app initialize() Perform any transport layer connections/authentication. listen() Block, wait for, and process incoming messages =cut | ||||||
| 22 | |||||||
| 23 - 29 | =head2 set_listener() Sets my superclass. Pass in a string representing the perl module (e.g. OpenSRF::Transport::Jabber::JInbound) to be used as the superclass and it will be pushed onto @ISA. =cut | ||||||
| 30 | |||||||
| 31 | sub set_listener { | ||||||
| 32 | 0 | 1 | my( $class, $listener ) = @_; | ||||
| 33 | 0 | OpenSRF::Utils::Logger->debug("Loading Listener $listener"); | |||||
| 34 | 0 | if( $listener ) { | |||||
| 35 | 0 | $listener->use; | |||||
| 36 | 0 | if( $@ ) { | |||||
| 37 | 0 | OpenSRF::Utils::Logger->error( | |||||
| 38 | "Unable to set transport listener: $@", ERROR ); | ||||||
| 39 | } | ||||||
| 40 | 0 | unshift @ISA, $listener; | |||||
| 41 | } | ||||||
| 42 | } | ||||||
| 43 | |||||||
| 44 | |||||||
| 45 | 1; | ||||||