NAME

POE::Component::OSCAR - A POE Component for the Net::OSCAR module

SYNOPSIS

use POE qw(Component::OSCAR);

[ ... POE set up ... ]

sub _start { # start an OSCAR session $oscar = POE::Component::OSCAR->new();

# set up the "im_in" callback to call your state, "im_in_state"
$oscar->set_callback( im_in => 'im_in_state');

# sign on
$oscar->signon( screenname => $MY_SCREENNAME, password => $MY_PASSWORD );
}

sub im_in_state { my ($nothing, $args) = @_[ARG0..$#_]; my ($object, $who, $what, $away) = @$args;

print "Got '$what' from $who\n";
}

DEPENDENCIES

This modules requires Net::OSCAR and POE.

ABSTRACT

This module is a wrapper around the Net::OSCAR module that allows it to be used from POE applications.

DESCRIPTION

The wrapper is very thin, so most of the useful documentation can be found in the Net::OSCAR module.

Create a new connection with

$oscar = POE::Component::OSCAR->new();

Though it has an object interface to make coding simpler, this actually spawns a POE session. The arguments to the object are passed directly to the Net::OSCAR module.

Furthermore, all other method calls on the object are passed directly to the Net::OSCAR module. For instance, to set the debug logging level, use

$oscar->loglevel( 5 );

The only relevant POE::Component::OSCAR method is 'set_callback' which can be used to post events to your own session via Net::OSCAR's callbacks.

For instance, to be notified of an incoming message, use

$oscar->set_callback( im_in => 'im_in_state' );

where 'im_in' is a Net::OSCAR callback (see the Net::OSCAR documentation and the oscartest script for all the callbacks) and 'im_in_state' is a state in your POE session.

SEE ALSO

The sample_im.pl program included with this package.

The Net::OSCAR documentation.

The oscartest script, which comes with Net::OSCAR

AUTHOR

Dan McCormick, <dan@codeop.com>

COPYRIGHT AND LICENSE

Copyright 2004 by Dan McCormick

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.