1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.plugin.limewire;
21
22 import java.util.Hashtable;
23 import java.util.Iterator;
24
25 import org.xnap.transfer.DownloadManager;
26 import org.xnap.transfer.UploadManager;
27
28 import com.limegroup.gnutella.Downloader;
29 import com.limegroup.gnutella.Uploader;
30
31 public class LimeWireTransferManager {
32
33
34
35
36
37
38
39 private Hashtable downloadByResponse = new Hashtable();
40 private Hashtable uploadByResponse = new java.util.Hashtable();
41
42
43
44 public LimeWireTransferManager()
45 {
46 }
47
48
49
50 public void add(Downloader response)
51 {
52 LimeWireDownload download = new LimeWireDownload(response);
53 downloadByResponse.put(response, download);
54 DownloadManager.getInstance().add(download);
55 }
56
57 public void add(Uploader response)
58 {
59 LimeWireUpload upload = new LimeWireUpload(response);
60 uploadByResponse.put(response, upload);
61 UploadManager.getInstance().add(upload);
62 }
63
64 public void remove(Downloader response)
65 {
66 LimeWireDownload download
67 = (LimeWireDownload)downloadByResponse.get(response);
68 if (download != null) {
69 DownloadManager.getInstance().remove(download);
70 }
71 }
72
73 public void remove(Uploader response)
74 {
75 LimeWireUpload upload
76 = (LimeWireUpload)uploadByResponse.get(response);
77 if (upload != null) {
78 UploadManager.getInstance().remove(upload);
79 }
80 }
81
82 public void removeAll()
83 {
84 for (Iterator i = downloadByResponse.keySet().iterator();
85 i.hasNext();) {
86 remove((Downloader)i.next());
87 }
88 for (Iterator i = uploadByResponse.keySet().iterator();
89 i.hasNext();) {
90 remove((Uploader)i.next());
91 }
92 }
93
94 }