aboutsummaryrefslogtreecommitdiff
path: root/xmpp-vala/src/module/roster
diff options
context:
space:
mode:
Diffstat (limited to 'xmpp-vala/src/module/roster')
-rw-r--r--xmpp-vala/src/module/roster/flag.vala6
-rw-r--r--xmpp-vala/src/module/roster/item.vala11
-rw-r--r--xmpp-vala/src/module/roster/module.vala8
-rw-r--r--xmpp-vala/src/module/roster/versioning_module.vala2
4 files changed, 10 insertions, 17 deletions
diff --git a/xmpp-vala/src/module/roster/flag.vala b/xmpp-vala/src/module/roster/flag.vala
index 43d185d9..2e93911e 100644
--- a/xmpp-vala/src/module/roster/flag.vala
+++ b/xmpp-vala/src/module/roster/flag.vala
@@ -1,14 +1,12 @@
using Gee;
-using Xmpp.Core;
-
namespace Xmpp.Roster {
public class Flag : XmppStreamFlag {
public const string ID = "roster";
public static FlagIdentity<Flag> IDENTITY = new FlagIdentity<Flag>(NS_URI, ID);
- public HashMap<string, Item> roster_items = new HashMap<string, Item>();
+ public HashMap<Jid, Item> roster_items = new HashMap<Jid, Item>();
public string? iq_id;
@@ -16,7 +14,7 @@ public class Flag : XmppStreamFlag {
return roster_items.values;
}
- public Item? get_item(string jid) {
+ public Item? get_item(Jid jid) {
return roster_items[jid];
}
diff --git a/xmpp-vala/src/module/roster/item.vala b/xmpp-vala/src/module/roster/item.vala
index 1e39fce2..2fbf03ef 100644
--- a/xmpp-vala/src/module/roster/item.vala
+++ b/xmpp-vala/src/module/roster/item.vala
@@ -1,7 +1,5 @@
using Gee;
-using Xmpp.Core;
-
namespace Xmpp.Roster {
public class Item {
@@ -18,9 +16,10 @@ public class Item {
public StanzaNode stanza_node;
- public string jid {
- get { return stanza_node.get_attribute(NODE_JID); }
- set { stanza_node.set_attribute(NODE_JID, value); }
+ private Jid jid_;
+ public Jid jid {
+ get { return jid_ ?? (jid_ = Jid.parse(stanza_node.get_attribute(NODE_JID))); }
+ set { stanza_node.set_attribute(NODE_JID, value.to_string()); }
}
public string? name {
@@ -42,4 +41,4 @@ public class Item {
}
}
-} \ No newline at end of file
+}
diff --git a/xmpp-vala/src/module/roster/module.vala b/xmpp-vala/src/module/roster/module.vala
index 85693686..5b15a43a 100644
--- a/xmpp-vala/src/module/roster/module.vala
+++ b/xmpp-vala/src/module/roster/module.vala
@@ -1,7 +1,5 @@
using Gee;
-using Xmpp.Core;
-
namespace Xmpp.Roster {
private const string NS_URI = "jabber:iq:roster";
@@ -16,7 +14,7 @@ public class Module : XmppStreamModule, Iq.Handler {
public bool interested_resource = true;
- public void add_jid(XmppStream stream, string jid, string? handle = null) {
+ public void add_jid(XmppStream stream, Jid jid, string? handle = null) {
Item roster_item = new Item();
roster_item.jid = jid;
if (handle != null) {
@@ -25,7 +23,7 @@ public class Module : XmppStreamModule, Iq.Handler {
roster_set(stream, roster_item);
}
- public void remove_jid(XmppStream stream, string jid) {
+ public void remove_jid(XmppStream stream, Jid jid) {
Item roster_item = new Item();
roster_item.jid = jid;
roster_item.subscription = Item.SUBSCRIPTION_REMOVE;
@@ -37,7 +35,7 @@ public class Module : XmppStreamModule, Iq.Handler {
* Set a handle for a jid
* @param handle Handle to be set. If null, any handle will be removed.
*/
- public void set_jid_handle(XmppStream stream, string jid, string? handle) {
+ public void set_jid_handle(XmppStream stream, Jid jid, string? handle) {
Flag flag = stream.get_flag(Flag.IDENTITY);
Item item = flag.get_item(jid) ?? new Item() { jid=jid };
item.name = handle != null ? handle : "";
diff --git a/xmpp-vala/src/module/roster/versioning_module.vala b/xmpp-vala/src/module/roster/versioning_module.vala
index ce87ec2a..aa683883 100644
--- a/xmpp-vala/src/module/roster/versioning_module.vala
+++ b/xmpp-vala/src/module/roster/versioning_module.vala
@@ -1,7 +1,5 @@
using Gee;
-using Xmpp.Core;
-
namespace Xmpp.Roster {
public class VersioningModule : XmppStreamModule {