Unix Domain Socket communication works
[xmlrtorrent.git] / xmlrtorrent.pm
1 package xmlrtorrent;
2
3 use strict;
4 use Data::Dumper;
5
6 sub new {
7     my $class = shift;
8     my $self = {@_};
9
10     return bless($self, $class);
11 }
12
13 sub load_start {
14     my $self = shift;
15     my $talker = shift;
16     my $URL = shift;
17     my $res;
18
19     $res = $talker->send_request('load_start', $URL);
20     unless(ref($res)) {
21         $self->{'__ERROR'} = $res;
22         return undef
23     }
24
25     if ($res->is_fault()) {
26         $self->{'__ERROR'} = $res->value()->{'faultString'};
27         return undef;
28     }
29
30     return 1;
31 }
32
33 sub download_list {
34     my $self = shift;
35     my $talker = shift;
36     my $res;
37
38     $res = $talker->send_request('d.multicall', '',
39             'd.get_name=',
40             'd.get_size_bytes=',
41             'd.get_bytes_done=',
42             'd.get_up_rate=',
43             'd.get_down_rate=',
44             'd.is_active=');
45     unless(ref($res)) {
46         $self->{'__ERROR'} = $res;
47         return undef
48     }
49
50     if ($res->is_fault()) {
51         $self->{'__ERROR'} = $res->value()->{'faultString'};
52         return undef;
53     }
54
55     return $res->value();
56 }
57
58 sub errstr {
59     my $self = shift;
60
61     return $self->{'__ERROR'};
62 }
63
64 1;