diff options
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/xmpp/iqversion')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/xmpp/iqversion/IqVersionPacket.java | 23 | ||||
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/xmpp/iqversion/IqVersionPacketGenerator.java | 38 |
2 files changed, 61 insertions, 0 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/xmpp/iqversion/IqVersionPacket.java b/src/main/java/de/thedevstack/conversationsplus/xmpp/iqversion/IqVersionPacket.java new file mode 100644 index 00000000..a3cecdac --- /dev/null +++ b/src/main/java/de/thedevstack/conversationsplus/xmpp/iqversion/IqVersionPacket.java @@ -0,0 +1,23 @@ +package de.thedevstack.conversationsplus.xmpp.iqversion; + +import android.os.Build; + +import de.thedevstack.conversationsplus.ConversationsPlusApplication; +import de.thedevstack.conversationsplus.xml.Element; +import de.thedevstack.conversationsplus.xmpp.stanzas.IqPacket; + +/** + * Representation of an software version packet as defined in XEP-0092. + * @see <a href="http://xmpp.org/extensions/xep-0092.html">http://xmpp.org/extensions/xep-0092.html</a> + */ +public class IqVersionPacket extends IqPacket { + public static final String NAMESPACE = "jabber:iq:version"; + + IqVersionPacket() { + super(IqPacket.TYPE.RESULT); + Element query = this.addChild("query", NAMESPACE); + query.addChild("name").setContent(ConversationsPlusApplication.getName()); + query.addChild("version").setContent(ConversationsPlusApplication.getVersion()); + query.addChild("os").setContent("Android " + Build.VERSION.RELEASE); + } +} diff --git a/src/main/java/de/thedevstack/conversationsplus/xmpp/iqversion/IqVersionPacketGenerator.java b/src/main/java/de/thedevstack/conversationsplus/xmpp/iqversion/IqVersionPacketGenerator.java new file mode 100644 index 00000000..97a7e90d --- /dev/null +++ b/src/main/java/de/thedevstack/conversationsplus/xmpp/iqversion/IqVersionPacketGenerator.java @@ -0,0 +1,38 @@ +package de.thedevstack.conversationsplus.xmpp.iqversion; + +import de.thedevstack.conversationsplus.xmpp.stanzas.IqPacket; + +/** + * Generates the IQ Packets for Software Version + * as defined in XEP-0092. + * @see <a href="http://xmpp.org/extensions/xep-0092.html">http://xmpp.org/extensions/xep-0092.html</a> + */ +public final class IqVersionPacketGenerator { + + /** + * Generates the IqPacket to reply the software version. + * <pre> + * <iq from='juliet@capulet.com/balcony' + * type='result' + * to='romeo@montague.net/orchard' + * id='version_1'> + * <query xmlns='jabber:iq:version'> + * <name>Exodus</name> + * <version>0.7.0.4</version> + * <os>Windows-XP 5.01.2600</os> + * </query> + * </iq> + * </pre> + * @param packet the packet to respond to + * @return + */ + public static IqVersionPacket generateResponse(IqPacket packet) { + IqVersionPacket iqVersionPacket = new IqVersionPacket(); + iqVersionPacket.setTo(packet.getFrom()); + iqVersionPacket.setId(packet.getId()); + + return iqVersionPacket; + } + + private IqVersionPacketGenerator() {} +} |