diff options
Diffstat (limited to 'xmpp-vala/src/module/xep/0045_muc/flag.vala')
-rw-r--r-- | xmpp-vala/src/module/xep/0045_muc/flag.vala | 10 |
1 files changed, 10 insertions, 0 deletions
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<Flag> IDENTITY = new FlagIdentity<Flag>(NS_URI, "muc"); + private HashMap<string, Gee.List<Feature>> room_features = new HashMap<string, Gee.List<Feature>>(); + private HashMap<string, string> enter_ids = new HashMap<string, string>(); private HashMap<string, string> own_nicks = new HashMap<string, string>(); private HashMap<string, string> subjects = new HashMap<string, string>(); @@ -16,6 +18,10 @@ public class Flag : XmppStreamFlag { private HashMap<string, HashMap<string, Affiliation>> affiliations = new HashMap<string, HashMap<string, Affiliation>>(); private HashMap<string, Role> occupant_role = new HashMap<string, Role>(); + 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<string> 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<Feature> 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) { |