JingleConnectionManager.java

 1package eu.siacs.conversations.services;
 2
 3import java.util.concurrent.ConcurrentHashMap;
 4
 5import eu.siacs.conversations.entities.Account;
 6import eu.siacs.conversations.entities.Message;
 7import eu.siacs.conversations.xml.Element;
 8import eu.siacs.conversations.xmpp.JingleConnection;
 9import eu.siacs.conversations.xmpp.stanzas.jingle.JinglePacket;
10
11public class JingleConnectionManager {
12	
13	private XmppConnectionService xmppConnectionService;
14	
15	private ConcurrentHashMap<String, JingleConnection> connections = new ConcurrentHashMap<String, JingleConnection>();
16	
17	public JingleConnectionManager(XmppConnectionService service) {
18		this.xmppConnectionService = service;
19	}
20	
21	public void deliverPacket(Account account, JinglePacket packet) {
22		String id = generateInternalId(account.getJid(), packet.getFrom(), packet.getSessionId());
23	}
24	
25	public JingleConnection createNewConnection(Message message) {
26		Account account = message.getConversation().getAccount();
27		JingleConnection connection = new JingleConnection(this,account, message.getCounterpart());
28		String id = generateInternalId(account.getJid(), message.getCounterpart(), connection.getSessionId());
29		connection.init(message);
30		return connection;
31	}
32	
33	private String generateInternalId(String account, String counterpart, String sid) {
34		return account+"#"+counterpart+"#"+sid;
35		
36	}
37
38	public XmppConnectionService getXmppConnectionService() {
39		return this.xmppConnectionService;
40	}
41
42	public Element getPrimaryCanditate(String jid) {
43		Element canditate = new Element("canditate");
44		canditate.setAttribute("cid","122");
45		canditate.setAttribute("port","1234");
46		canditate.setAttribute("jid", jid);
47		canditate.setAttribute("type", "assisted");
48		return canditate;
49	}
50}