1package eu.siacs.conversations.http;
2
3import java.util.List;
4import java.util.concurrent.CopyOnWriteArrayList;
5
6import eu.siacs.conversations.entities.Message;
7import eu.siacs.conversations.services.AbstractConnectionManager;
8import eu.siacs.conversations.services.XmppConnectionService;
9
10public class HttpConnectionManager extends AbstractConnectionManager {
11
12 public HttpConnectionManager(XmppConnectionService service) {
13 super(service);
14 }
15
16 private List<HttpConnection> connections = new CopyOnWriteArrayList<>();
17 private List<HttpUploadConnection> uploadConnections = new CopyOnWriteArrayList<>();
18
19 public HttpConnection createNewConnection(Message message) {
20 HttpConnection connection = new HttpConnection(this);
21 connection.init(message);
22 this.connections.add(connection);
23 return connection;
24 }
25
26 public HttpUploadConnection createNewUploadConnection(Message message) {
27 HttpUploadConnection connection = new HttpUploadConnection(this);
28 connection.init(message);
29 this.uploadConnections.add(connection);
30 return connection;
31 }
32
33 public void finishConnection(HttpConnection connection) {
34 this.connections.remove(connection);
35 }
36
37 public void finishUploadConnection(HttpUploadConnection httpUploadConnection) {
38 this.uploadConnections.remove(httpUploadConnection);
39 }
40}