projects
/
irspy-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Using bib-1 instead of bib1.
[irspy-moved-to-github.git]
/
lib
/
ZOOM
/
IRSpy
/
Connection.pm
diff --git
a/lib/ZOOM/IRSpy/Connection.pm
b/lib/ZOOM/IRSpy/Connection.pm
index
74c24a8
..
0ad9c2b
100644
(file)
--- a/
lib/ZOOM/IRSpy/Connection.pm
+++ b/
lib/ZOOM/IRSpy/Connection.pm
@@
-1,4
+1,4
@@
-# $Id: Connection.pm,v 1.1 2006-10-06 11:33:07 mike Exp $
+# $Id: Connection.pm,v 1.6 2006-10-25 15:43:43 mike Exp $
package ZOOM::IRSpy::Connection;
package ZOOM::IRSpy::Connection;
@@
-11,6
+11,7
@@
our @ISA = qw(ZOOM::Connection);
use ZOOM::IRSpy::Task::Connect;
use ZOOM::IRSpy::Task::Search;
use ZOOM::IRSpy::Task::Connect;
use ZOOM::IRSpy::Task::Search;
+use ZOOM::IRSpy::Task::Retrieve;
=head1 NAME
=head1 NAME
@@
-30,14
+31,14
@@
IRSpy object that it is associated with.
=cut
=cut
-sub new {
+sub create {
my $class = shift();
my $irspy = shift();
my $class = shift();
my $irspy = shift();
- my $this = $class->SUPER::new(@_);
+ my $this = $class->SUPER::create(@_);
$this->{irspy} = $irspy;
$this->{record} = undef;
$this->{irspy} = $irspy;
$this->{record} = undef;
- $this->{tasks} = undef;
+ $this->{tasks} = [];
return $this;
}
return $this;
}
@@
-61,11
+62,8
@@
sub record {
sub tasks {
my $this = shift();
sub tasks {
my $this = shift();
- my($new) = @_;
- my $old = $this->{tasks};
- $this->{tasks} = $new if defined $new;
- return $old;
+ return $this->{tasks};
}
}
@@
-76,7
+74,21
@@
sub current_task {
my $old = $this->{current_task};
if (defined $new) {
$this->{current_task} = $new;
my $old = $this->{current_task};
if (defined $new) {
$this->{current_task} = $new;
- $this->log("irspy_debug", "set current task to $new");
+ $this->log("irspy_task", "set current task to $new");
+ }
+
+ return $old;
+}
+
+
+sub next_task {
+ my $this = shift();
+ my($new) = @_;
+
+ my $old = $this->{next_task};
+ if (defined $new) {
+ $this->{next_task} = $new;
+ $this->log("irspy_task", "set next task to $new");
}
return $old;
}
return $old;
@@
-93,46
+105,41
@@
sub log {
sub irspy_connect {
my $this = shift();
sub irspy_connect {
my $this = shift();
- my(%cb) = @_;
+ my($udata, $options, %cb) = @_;
- $this->add_task(new ZOOM::IRSpy::Task::Connect($this, %cb));
- $this->log("irspy", "registered connect()");
+ my $task = new ZOOM::IRSpy::Task::Connect($this, $udata, $options, %cb);
+ $this->add_task($task);
}
sub irspy_search_pqf {
my $this = shift();
}
sub irspy_search_pqf {
my $this = shift();
- my($query, %cb) = @_;
+ my($query, $udata, $options, %cb) = @_;
- $this->add_task(new ZOOM::IRSpy::Task::Search($query, $this, %cb));
- $this->log("irspy", "registered search_pqf($query)");
+ my $task = new ZOOM::IRSpy::Task::Search($query,
+ $this, $udata, $options, %cb);
+ $this->add_task($task);
}
}
-sub add_task {
+sub irspy_rs_record {
my $this = shift();
my $this = shift();
- my($task) = @_;
-
- my $tasks = $this->tasks();
- if (!defined $tasks) {
- $this->tasks([ $task ]);
- } else {
- $tasks->[-1]->{next} = $task;
- push @$tasks, $task;
- }
+ my($rs, $index0, $udata, $options, %cb) = @_;
- $this->log("irspy", "added task $task");
+ my $task = new ZOOM::IRSpy::Task::Retrieve($rs, $index0,
+ $this, $udata, $options, %cb);
+ $this->add_task($task);
}
}
-sub start_task {
+sub add_task {
my $this = shift();
my($task) = @_;
my $this = shift();
my($task) = @_;
- die "no task defined for " . $this->option("host")
- if !defined $task;
- $this->current_task($task);
- $task->run();
+ my $tasks = $this->{tasks};
+ $tasks->[-1]->{next} = $task if @$tasks > 0;
+ push @$tasks, $task;
+ $this->log("irspy_task", "added task $task");
}
}