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 return this.createNewConnection(message,false);
21 }
22
23 public HttpConnection createNewConnection(Message message,boolean interactive) {
24 HttpConnection connection = new HttpConnection(this);
25 connection.init(message,interactive);
26 this.connections.add(connection);
27 return connection;
28 }
29
30 public HttpUploadConnection createNewUploadConnection(Message message) {
31 HttpUploadConnection connection = new HttpUploadConnection(this);
32 connection.init(message);
33 this.uploadConnections.add(connection);
34 return connection;
35 }
36
37 public void finishConnection(HttpConnection connection) {
38 this.connections.remove(connection);
39 }
40
41 public void finishUploadConnection(HttpUploadConnection httpUploadConnection) {
42 this.uploadConnections.remove(httpUploadConnection);
43 }
44}