HttpConnectionManager.java

 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}