From 4864f7200bbdb3e8d45eb7f165d62274f19e2e7b Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Thu, 27 Mar 2014 02:02:59 +0100 Subject: fixed a couple of muc issues. added jingle listener (which doesn't do anything for now) --- .../xmpp/stanzas/jingle/JinglePacket.java | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/eu/siacs/conversations/xmpp/stanzas/jingle/JinglePacket.java (limited to 'src/eu/siacs/conversations/xmpp/stanzas/jingle/JinglePacket.java') diff --git a/src/eu/siacs/conversations/xmpp/stanzas/jingle/JinglePacket.java b/src/eu/siacs/conversations/xmpp/stanzas/jingle/JinglePacket.java new file mode 100644 index 000000000..51c60d1fb --- /dev/null +++ b/src/eu/siacs/conversations/xmpp/stanzas/jingle/JinglePacket.java @@ -0,0 +1,54 @@ +package eu.siacs.conversations.xmpp.stanzas.jingle; + +import eu.siacs.conversations.xml.Element; +import eu.siacs.conversations.xmpp.stanzas.IqPacket; + +public class JinglePacket extends IqPacket { + Content content = null; + Reason reason = null; + + @Override + public Element addChild(Element child) { + if ("jingle".equals(child.getName())) { + Element contentElement = child.findChild("content"); + if (contentElement!=null) { + this.content = new Content(); + this.content.setChildren(contentElement.getChildren()); + this.content.setAttributes(contentElement.getAttributes()); + } + Element reasonElement = child.findChild("reason"); + if (reasonElement!=null) { + this.reason = new Reason(); + this.reason.setChildren(reasonElement.getChildren()); + this.reason.setAttributes(reasonElement.getAttributes()); + } + this.build(); + this.findChild("jingle").setAttributes(child.getAttributes()); + } + return child; + } + + public JinglePacket setContent(Content content) { + this.content = content; + this.build(); + return this; + } + + public JinglePacket setReason(Reason reason) { + this.reason = reason; + this.build(); + return this; + } + + private void build() { + this.children.clear(); + Element jingle = addChild("jingle", "urn:xmpp:jingle:1"); + if (this.content!=null) { + jingle.addChild(this.content); + } + if (this.reason != null) { + jingle.addChild(this.reason); + } + this.children.add(jingle); + } +} -- cgit v1.2.3