Jabber::PubSub::JEAI - Perl extension for Erlang's J-EAI server
use Jabber::PubSub::JEAI;
It is important that you put Jabber connection and pub/sub parameters in a hash reference and pass it to the subroutines. Although not all of the pamameters are necessary for each subroutine. Example for channel creation:
my $param = { 'uid' => 'admin', 'pwd' => 'nimda', 'host' => 'localhost', # default is 'localhost' 'port' => 5222, # default is 5222 'resource' => '', # use default 'channel' => 'home/localhost/admin/sport', 'to' => 'pubsub.localhost', 'iq_id' => '', # use default 'payload' => '', # N/A for channel creation }; Jabber::PubSub::JEAI::create_channel($param);
Example for channel deletion:
my $param = { 'uid' => 'admin', 'pwd' => 'nimda', 'host' => 'localhost', # default is 'localhost' 'port' => 5222, # default is 5222 'resource' => '', # use default 'channel' => 'home/localhost/admin/sport', 'to' => 'pubsub.localhost', 'iq_id' => '', # use default 'payload' => '', # N/A for channel creation }; Jabber::PubSub::JEAI::delete_channel($param);
Example for subscription to the channel:
$param = { 'uid' => 'app2', 'pwd' => 'app2', 'host' => 'localhost', # default is 'localhost' 'port' => 5222, # default is 5222 'resource' => '', # used default 'channel' => 'home/localhost/admin/sport', 'to' => 'pubsub.localhost', 'iq_id' => '', # use default 'payload' => '', # N/A for channel subscription }; Jabber::PubSub::JEAI::subscribe($param);
To receive the publised messages you can use any Jabber client. All subscribers to the same channel will get the same messages simultaneously if they are all listening, or get the messages later but in correct sequence. Here is an example for polling a Jabber box and show the payloads in the published messages with Jabber::PubSub::JEAI:
$param = { 'uid' => 'app2', 'pwd' => 'app2', 'host' => 'localhost', # default is 'localhost' 'port' => 5222, # default is 5222 'resoirce' => 'Test', 'channel' => '', # N/A for this purpose 'to' => '', # N/A for this purpose 'iq_id' => '', # N/A for this purpose 'payload' => '', # N/A for this purpose }; Jabber::PubSub::JEAI::listen($param);
Example for publication to the channel:
$param = { 'uid' => 'admin', 'pwd' => 'nimda', 'host' => 'localhost', # default is 'localhost' 'port' => 5222, # default is 5222 'resource' => 'Test', 'channel' => 'home/localhost/admin/sport', 'to' => 'pubsub.localhost', 'iq_id' => '', # use default 'payload' => 'Breaking news! ...', }; Jabber::PubSub::JEAI::publish($param);
This package offers some utilities for interfacing with Erlang's J-EAI server 1.0.
None by default.
The author wishes to thank to "Thierry Mallard" <thierry.mallard@erlang-fr.org> and "Mickael Remond" <mickael.remond@erlang-fr.org>, leaders of J-EAI development team, for their support.
Kai Li, <kaili@cpan.org>
Copyright (C) 2005 by Kai Li
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.
To install Jabber::PubSub::JEAI, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Jabber::PubSub::JEAI
CPAN shell
perl -MCPAN -e shell install Jabber::PubSub::JEAI
For more information on module installation, please visit the detailed CPAN module installation guide.