From: Mike Taylor Date: Tue, 9 May 2006 12:09:44 +0000 (+0000) Subject: Add callback for receive-record. X-Git-Tag: CPAN-v1.02~54^2~1234 X-Git-Url: http://lists.indexdata.dk/?a=commitdiff_plain;h=41df78f8929887f739518ee5ba5329c3346acee6;p=irspy-moved-to-github.git Add callback for receive-record. --- diff --git a/test-pod.pl b/test-pod.pl index 12d8715..5270aa5 100644 --- a/test-pod.pl +++ b/test-pod.pl @@ -1,6 +1,10 @@ #!/usr/bin/perl -w -# $Id: test-pod.pl,v 1.1 2006-05-05 22:14:46 mike Exp $ +# $Id: test-pod.pl,v 1.2 2006-05-09 12:09:44 mike Exp $ +# +# Run like this: +# ZOOM_RECORD_NO_FORCE_SYNC=1 perl -I lib test-pod.pl +# (at least until the default sync. behaviour of ZOOM-C changes.) use strict; use warnings; @@ -8,14 +12,28 @@ use warnings; use ZOOM::Pod; my $pod = new ZOOM::Pod("bagel.indexdata.com/gils", - "z3950.loc.gov:7090/Voyager"); -$pod->callback(ZOOM::Event::RECV_SEARCH, \&show_result); + "z3950.loc.gov:7090/Voyager", + "localhost:9999", + ); +$pod->callback(ZOOM::Event::RECV_SEARCH, \&completed_search); +$pod->callback(ZOOM::Event::RECV_RECORD, \&got_record); $pod->search_pqf("mineral"); my $err = $pod->wait(); print "failed with error $err" if $err; -sub show_result { +sub completed_search { my($conn, $rs, $event) = @_; print $conn->option("host"), ": found ", $rs->size(), " records\n"; + my $rec = $rs->record(0); + print($conn->option("host"), ": rec(0) is ", + defined $rec ? ("$rec = '", $rec->render(), "'") : "undefined", + "\n"); + return 0; +} + +sub got_record { + my($conn, $rs, $event) = @_; + my $rec = $rs->record(0); + print $conn->option("host"), ": got 0: $rec = '", $rec->render(), "'\n"; return 0; }