diff options
author | iNPUTmice <daniel@gultsch.de> | 2014-07-12 03:44:23 +0200 |
---|---|---|
committer | iNPUTmice <daniel@gultsch.de> | 2014-07-12 03:44:23 +0200 |
commit | 99935dd630b59d6cff05714c888b01e4c88c6351 (patch) | |
tree | e84968da60ea8bc8f117bed39cf430259f9958aa /src/eu/siacs/conversations/generator/PresenceGenerator.java | |
parent | 789383e5cb900baf55595e91f47f6d3ab4cec75e (diff) |
moved most of the message/presence generation into seperate classes
Diffstat (limited to 'src/eu/siacs/conversations/generator/PresenceGenerator.java')
-rw-r--r-- | src/eu/siacs/conversations/generator/PresenceGenerator.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/eu/siacs/conversations/generator/PresenceGenerator.java b/src/eu/siacs/conversations/generator/PresenceGenerator.java new file mode 100644 index 00000000..1ca8cd05 --- /dev/null +++ b/src/eu/siacs/conversations/generator/PresenceGenerator.java @@ -0,0 +1,51 @@ +package eu.siacs.conversations.generator; + +import eu.siacs.conversations.entities.Account; +import eu.siacs.conversations.entities.Contact; +import eu.siacs.conversations.xmpp.stanzas.PresencePacket; + +public class PresenceGenerator { + + public PresencePacket requestPresenceUpdatesFrom(Contact contact) { + PresencePacket packet = new PresencePacket(); + packet.setAttribute("type", "subscribe"); + packet.setAttribute("to", contact.getJid()); + packet.setAttribute("from", contact.getAccount().getJid()); + return packet; + } + + public PresencePacket stopPresenceUpdatesFrom(Contact contact) { + PresencePacket packet = new PresencePacket(); + packet.setAttribute("type", "unsubscribe"); + packet.setAttribute("to", contact.getJid()); + packet.setAttribute("from", contact.getAccount().getJid()); + return packet; + } + + public PresencePacket stopPresenceUpdatesTo(Contact contact) { + PresencePacket packet = new PresencePacket(); + packet.setAttribute("type", "unsubscribed"); + packet.setAttribute("to", contact.getJid()); + packet.setAttribute("from", contact.getAccount().getJid()); + return packet; + } + + public PresencePacket sendPresenceUpdatesTo(Contact contact) { + PresencePacket packet = new PresencePacket(); + packet.setAttribute("type", "subscribed"); + packet.setAttribute("to", contact.getJid()); + packet.setAttribute("from", contact.getAccount().getJid()); + return packet; + } + + public PresencePacket sendPresence(Account account) { + PresencePacket packet = new PresencePacket(); + packet.setAttribute("from", account.getFullJid()); + String sig = account.getPgpSignature(); + if (sig != null) { + packet.addChild("status").setContent("online"); + packet.addChild("x", "jabber:x:signed").setContent(sig); + } + return packet; + } +}
\ No newline at end of file |