move RPC over HTTP calls to HTTPTalker.pm
[xmlrtorrent.git] / xmlrtorrent.pm
index b1c41b9..d50d5ac 100644 (file)
@@ -1,33 +1,22 @@
 package xmlrtorrent;
 
 use strict;
-use RPC::XML;
-use RPC::XML::Client;
 use Data::Dumper;
 
 sub new {
     my $class = shift;
     my $self = {@_};
 
-    unless(exists($self->{'XMLURL'}) and defined($self->{'XMLURL'})) {
-        return undef;
-    }
-
-    $self->{'__RPCClient'} = RPC::XML::Client->new($self->{'XMLURL'});
-    if ((exists($self->{'USERNAME'}) and exists($self->{'PASSWORD'})) and
-        ($self->{'USERNAME'} ne '')) {
-        $self->{'__RPCClient'}->credentials('', $self->{'USERNAME'}, $self->{'PASSWORD'});
-    }
-
     return bless($self, $class);
 }
 
-sub load_start{
+sub load_start {
     my $self = shift;
+    my $talker = shift;
     my $URL = shift;
     my $res;
 
-    $res = $self->{'__RPCClient'}->send_request('load_start', $URL);
+    $res = $talker->send_request('load_start', $URL);
     unless(ref($res)) {
         $self->{'__ERROR'} = $res;
         return undef
@@ -43,9 +32,10 @@ sub load_start{
 
 sub download_list {
     my $self = shift;
+    my $talker = shift;
     my $res;
 
-    $res = $self->{'__RPCClient'}->send_request('d.multicall', '',
+    $res = $talker->send_request('d.multicall', '',
             'd.get_name=',
             'd.get_size_bytes=',
             'd.get_bytes_done=',