package POE::Component::Jabber::Error; use warnings; use strict; use constant { 'PCJ_SOCKFAIL' => 0, 'PCJ_SOCKDISC' => 1, 'PCJ_AUTHFAIL' => 2, 'PCJ_BINDFAIL' => 3, 'PCJ_SESSFAIL' => 4, }; require Exporter; our @ISA = qw/ Exporter /; our @EXPORT = qw/ PCJ_SOCKFAIL PCJ_SOCKDISC PCJ_AUTHFAIL PCJ_BINDFAIL PCJ_SESSFAIL /; 1; __END__ =pod =head1 NAME POE::Component::Jabber::Error - Error constants for use in PCJ =head1 SYNOPSIS use POE::Component::Jabber::Error; # All constants imported sub error_handler() { my $error = $_[ARG0]; if($error == +PCJ_SOCKFAIL) { my ($call, $code, $err) = @_[ARG1..ARG3]; print "Socket error: $call, $code, $err\n"; } elsif ($error == +PCJ_SOCKDISC) { print "We got disconneted\n"; } elsif ($error == +PCJ_AUTHFAIL) { print "Failed to authenticate\n"; } elsif ($error == +PCJ_BINDFAIL) { print "Failed to bind a resource\n"; # XMPP/J2 Only } elsif ($error == +PCJ_SESSFAIL) { print "Failed to establish a session\n"; # XMPP Only } } =head1 DESCRIPTION POE::Component::Jabber::Error provides error constants for use in error handlers to determine the type of error one of the Client classes encountered. Simply `use`ing the class imports all of the constants =head1 ERRORS =over 4 =item PCJ_SOCKFAIL There has been some sort of socket error. ARG1..ARG3 are what Client::TCP gave to the Client class. See POE::Component::Client::TCP for further details on what is returned. =item PCJ_SOCKDISC The socket has been disconnected according to Client::TCP. See POE::Component::Client::TCP for further details. =item PCJ_AUTHFAIL Authentication has failed. =item PCJ_BINDFAIL Resource/Domain binding has failed. XMPP/J2 Only =item PCJ_SESSFAIL Session establishment has failed. XMPP Only =back =head1 NOTES These errors aren't written in stone. They are written in vim. They are subject to change. =head1 AUTHORS AND COPYRIGHT Copyright (c) 2004 Nicholas Perez. Released and distributed under the GPL. =cut