1 # $Id: Search.pm,v 1.13 2007-03-14 11:56:35 mike Exp $
3 package ZOOM::IRSpy::Task::Search;
10 our @ISA = qw(ZOOM::IRSpy::Task);
14 ZOOM::IRSpy::Task::Search - a searching task for IRSpy
30 my $this = $class->SUPER::new(@_);
31 $this->{query} = $query;
41 my $conn = $this->conn();
42 $conn->connect($conn->option("host"));
44 my $query = $this->{query};
45 $this->irspy()->log("irspy_task", $conn->option("host"),
46 " searching for '$query'");
47 die "task $this has resultset?!" if defined $this->{rs};
49 ### Note well that when this task runs, it creates a result-set
50 # object which MUST BE DESTROYED in order to prevent large-scale
51 # memory leakage. So when creating a Task::Search, it is the
52 # APPLICATION'S RESPONSIBILITY to ensure that the callback
53 # invoked on success OR FAILURE makes arrangements for the set
55 $this->{rs} = $conn->search_pqf($query);
56 warn "no ZOOM-C level events queued by $this"
64 return ref($this) . "(" . $this->{query} . ")";
67 use overload '""' => \&render;
76 Mike Taylor, E<lt>mike@indexdata.comE<gt>
78 =head1 COPYRIGHT AND LICENSE
80 Copyright (C) 2006 by Index Data ApS.
82 This library is free software; you can redistribute it and/or modify
83 it under the same terms as Perl itself, either Perl version 5.8.7 or,
84 at your option, any later version of Perl 5 you may have available.