From 3a8df2069eba3a5a4174749fc46a6698c1877ec1 Mon Sep 17 00:00:00 2001 From: fiaxh Date: Tue, 30 May 2017 22:17:41 +0200 Subject: MUC config form (data forms), MUC room info --- xmpp-vala/src/module/xep/0045_muc/flag.vala | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'xmpp-vala/src/module/xep/0045_muc/flag.vala') diff --git a/xmpp-vala/src/module/xep/0045_muc/flag.vala b/xmpp-vala/src/module/xep/0045_muc/flag.vala index 159f0193..cf729bf9 100644 --- a/xmpp-vala/src/module/xep/0045_muc/flag.vala +++ b/xmpp-vala/src/module/xep/0045_muc/flag.vala @@ -7,6 +7,8 @@ namespace Xmpp.Xep.Muc { public class Flag : XmppStreamFlag { public static FlagIdentity IDENTITY = new FlagIdentity(NS_URI, "muc"); + private HashMap> room_features = new HashMap>(); + private HashMap enter_ids = new HashMap(); private HashMap own_nicks = new HashMap(); private HashMap subjects = new HashMap(); @@ -16,6 +18,10 @@ public class Flag : XmppStreamFlag { private HashMap> affiliations = new HashMap>(); private HashMap occupant_role = new HashMap(); + public bool has_room_feature(string jid, Feature feature) { + return room_features.has_key(jid) && room_features[jid].contains(feature); + } + public string? get_real_jid(string full_jid) { return occupant_real_jids[full_jid]; } public Gee.List get_offline_members(string full_jid) { @@ -53,6 +59,10 @@ public class Flag : XmppStreamFlag { public string? get_muc_subject(string bare_jid) { return subjects[bare_jid]; } + internal void set_room_features(string jid, Gee.List features) { + room_features[jid] = features; + } + internal void set_real_jid(string full_jid, string real_jid) { occupant_real_jids[full_jid] = real_jid; } internal void set_offline_member(string muc_jid, string real_jid, Affiliation affiliation) { -- cgit v1.3