-# $Id: ZOOM.pm,v 1.41 2006-11-03 09:23:06 mike Exp $
+# $Id: ZOOM.pm,v 1.43 2006-12-01 14:13:41 mike Exp $
use strict;
use warnings;
sub ENCODE { Net::Z3950::ZOOM::ERROR_ENCODE }
sub DECODE { Net::Z3950::ZOOM::ERROR_DECODE }
sub CONNECTION_LOST { Net::Z3950::ZOOM::ERROR_CONNECTION_LOST }
-sub INIT { Net::Z3950::ZOOM::ERROR_INIT }
+sub ZINIT { Net::Z3950::ZOOM::ERROR_INIT }
sub INTERNAL { Net::Z3950::ZOOM::ERROR_INTERNAL }
sub TIMEOUT { Net::Z3950::ZOOM::ERROR_TIMEOUT }
sub UNSUPPORTED_PROTOCOL { Net::Z3950::ZOOM::ERROR_UNSUPPORTED_PROTOCOL }
my($errcode, $errmsg, $addinfo, $diagset) = (undef, "dummy", "dummy", "d");
$errcode = Net::Z3950::ZOOM::connection_error_x($this->_conn(), $errmsg,
$addinfo, $diagset);
- return ($errcode, $errmsg, $addinfo, $diagset);
+ return wantarray() ? ($errcode, $errmsg, $addinfo, $diagset) : $errcode;
}
sub errcode {
return $_rec;
}
+sub error {
+ my $this = shift();
+
+ my($errcode, $errmsg, $addinfo, $diagset) = (undef, "dummy", "dummy", "d");
+ $errcode = Net::Z3950::ZOOM::record_error($this->_rec(), $errmsg,
+ $addinfo, $diagset);
+
+ return wantarray() ? ($errcode, $errmsg, $addinfo, $diagset) : $errcode;
+}
+
+sub exception {
+ my $this = shift();
+
+ my($errcode, $errmsg, $addinfo, $diagset) = $this->error();
+ return undef if $errcode == 0;
+ return new ZOOM::Exception($errcode, $errmsg, $addinfo, $diagset);
+}
+
+
sub render {
my $this = shift();