aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/xmpp/stanzas
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu/siacs/conversations/xmpp/stanzas')
-rw-r--r--src/main/java/eu/siacs/conversations/xmpp/stanzas/AbstractStanza.java17
-rw-r--r--src/main/java/eu/siacs/conversations/xmpp/stanzas/IqPacket.java46
2 files changed, 32 insertions, 31 deletions
diff --git a/src/main/java/eu/siacs/conversations/xmpp/stanzas/AbstractStanza.java b/src/main/java/eu/siacs/conversations/xmpp/stanzas/AbstractStanza.java
index 1a49b45e3..55256ecee 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/stanzas/AbstractStanza.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/stanzas/AbstractStanza.java
@@ -1,11 +1,12 @@
package eu.siacs.conversations.xmpp.stanzas;
+import eu.siacs.conversations.entities.Account;
import eu.siacs.conversations.xml.Element;
import eu.siacs.conversations.xmpp.jid.Jid;
public class AbstractStanza extends Element {
- protected AbstractStanza(String name) {
+ protected AbstractStanza(final String name) {
super(name);
}
@@ -36,4 +37,18 @@ public class AbstractStanza extends Element {
public void setId(final String id) {
setAttribute("id", id);
}
+
+ public boolean fromServer(final Account account) {
+ return getFrom() == null
+ || getFrom().equals(account.getServer())
+ || getFrom().equals(account.getJid().toBareJid())
+ || getFrom().equals(account.getJid());
+ }
+
+ public boolean toServer(final Account account) {
+ return getTo() == null
+ || getTo().equals(account.getServer())
+ || getTo().equals(account.getJid().toBareJid())
+ || getTo().equals(account.getJid());
+ }
}
diff --git a/src/main/java/eu/siacs/conversations/xmpp/stanzas/IqPacket.java b/src/main/java/eu/siacs/conversations/xmpp/stanzas/IqPacket.java
index 2481112bd..7b36fc497 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/stanzas/IqPacket.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/stanzas/IqPacket.java
@@ -4,32 +4,18 @@ import eu.siacs.conversations.xml.Element;
public class IqPacket extends AbstractStanza {
- public static final int TYPE_ERROR = -1;
- public static final int TYPE_SET = 0;
- public static final int TYPE_RESULT = 1;
- public static final int TYPE_GET = 2;
-
- private IqPacket(final String name) {
- super(name);
+ public static enum TYPE {
+ ERROR,
+ SET,
+ RESULT,
+ GET,
+ INVALID
}
- public IqPacket(final int type) {
+ public IqPacket(final TYPE type) {
super("iq");
- switch (type) {
- case TYPE_SET:
- this.setAttribute("type", "set");
- break;
- case TYPE_GET:
- this.setAttribute("type", "get");
- break;
- case TYPE_RESULT:
- this.setAttribute("type", "result");
- break;
- case TYPE_ERROR:
- this.setAttribute("type", "error");
- break;
- default:
- break;
+ if (type != TYPE.INVALID) {
+ this.setAttribute("type", type.toString().toLowerCase());
}
}
@@ -51,23 +37,23 @@ public class IqPacket extends AbstractStanza {
return query();
}
- public int getType() {
+ public TYPE getType() {
final String type = getAttribute("type");
switch (type) {
case "error":
- return TYPE_ERROR;
+ return TYPE.ERROR;
case "result":
- return TYPE_RESULT;
+ return TYPE.RESULT;
case "set":
- return TYPE_SET;
+ return TYPE.SET;
case "get":
- return TYPE_GET;
+ return TYPE.GET;
default:
- return 1000;
+ return TYPE.INVALID;
}
}
- public IqPacket generateResponse(final int type) {
+ public IqPacket generateResponse(final TYPE type) {
final IqPacket packet = new IqPacket(type);
packet.setTo(this.getFrom());
packet.setId(this.getId());