- Remove Irssi deps from plugins
[videosite.git] / videosite / Base.pm
index 51b091c..2db4969 100644 (file)
@@ -4,12 +4,11 @@
 package Base;
 
 use strict;
-use Irssi;
 use Data::Dumper;
 
 sub new {
     my $class = shift;
-    my $self = {'_DEBUG' => 0};
+    my $self = {'_DEBUG' => 0, '_OUT' => sub {}};
 
     bless($self, $class);
 
@@ -24,7 +23,7 @@ sub error {
 
     $t = sprintf(shift(@_), @_);
     $t =~ s/%/%%/g;
-    Irssi::print($t);
+    $self->{'_OUT'}->($t);
 }
 
 sub debug {
@@ -85,6 +84,13 @@ sub setval {
     }
 }
 
+sub setio {
+    my $self = shift;
+    my $io = shift;
+
+    $self->{'_OUT'} = $io;
+}
+
 sub getconfstr {
     my $self = shift;
     my $s = 'Options for ' . $self->{'NAME'} . ":\n";