slackget10::Status - A class for returning a status code with its explanations
Version 1.0.0
This class is used at a status object which can tell more informations to user. In this object are stored couples of integer (the return code of the function which return the status object), and string (the human readable description of the error)
use slackget10::Status;
my $status = slackget10::Status->new( codes => { 0 => "All operations goes well", 1 => "Parameters unexpected", 2 => "Network error" } ); print "last error message was: ",$status->to_string,"\n"; if($status->to_int == 2) { die "A network error occured\n"; }
Please note that you must see at the documentation of a class to know the returned codes.
You need to pass to the constructor a parameter 'codes' wich contain a hashref with number return code as keys and explanation strings as values :
my $status = new slackget10::Status ( codes => { 0 => "All good\n", 1 => "Network unreachable\n", 2 => "Host unreachable\n", 3 => "Remote file seems not exist\n" } );
Return the explanation string of the current status.
if($connection->fetch_file($remote_file,$local_file) > 0) { print "ERROR : ",$status->to_string ; return undef; } else { ... }
Same as to_string but return the code number.
return an xml ecoded string, represented the current status. The XML string will be like that :
<status code="0" description="All goes well" />
$xml_file->Add($status->to_XML) ;
return the status as an HTML encoded string
Called wihtout argument, just call to_int(), call with an integer argument, set the current status code to this int.
my $code = $status->current ; # same effect as my $code = $status->to_int ; or $status->current(12); Warning : call current() with a non-integer argument will fail ! The error code MUST BE AN INTEGER.
DUPUIS Arnaud, <a.dupuis@infinityperl.org>
Please report any bugs or feature requests to
bug-slackget10-networking@rt.cpan.org
, or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
Copyright 2005 DUPUIS Arnaud, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.