Applied Mike's nice -d option thing.
[irspy-moved-to-github.git] / lib / ZOOM / IRSpy / Connection.pm
index 7923893..0e32c8b 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Connection.pm,v 1.2 2006-10-11 16:46:01 mike Exp $
+# $Id: Connection.pm,v 1.7 2006-11-16 17:18:43 mike Exp $
 
 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::Retrieve;
 
 
 =head1 NAME
@@ -73,7 +74,7 @@ sub current_task {
     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;
@@ -87,7 +88,7 @@ sub next_task {
     my $old = $this->{next_task};
     if (defined $new) {
        $this->{next_task} = $new;
-       $this->log("irspy_debug", "set next task to $new");
+       $this->log("irspy_task", "set next task to $new");
     }
 
     return $old;
@@ -104,19 +105,30 @@ sub log {
 
 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();
-    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 irspy_rs_record {
+    my $this = shift();
+    my($rs, $index0, $udata, $options, %cb) = @_;
+
+    my $task = new ZOOM::IRSpy::Task::Retrieve($rs, $index0,
+                                              $this, $udata, $options, %cb);
+    $this->add_task($task);
 }
 
 
@@ -127,10 +139,18 @@ sub add_task {
     my $tasks = $this->{tasks};
     $tasks->[-1]->{next} = $task if @$tasks > 0;
     push @$tasks, $task;
-    $this->log("irspy", "added task $task");
+    $this->log("irspy_task", "added task $task");
 }
 
 
+sub render {
+    my $this = shift();
+    return ref($this) . "(" . $this->option("host") . ")";
+}
+
+use overload '""' => \&render;
+
+
 =head1 SEE ALSO
 
 ZOOM::IRSpy