From 22adbd38dca0868f0e10754314a3859bba0a7d87 Mon Sep 17 00:00:00 2001 From: fiaxh Date: Fri, 31 Mar 2017 01:17:01 +0200 Subject: Handle MUC private messages --- .../xep/0030_service_discovery/info_result.vala | 36 +++++++++++----------- 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'xmpp-vala/src/module/xep/0030_service_discovery/info_result.vala') diff --git a/xmpp-vala/src/module/xep/0030_service_discovery/info_result.vala b/xmpp-vala/src/module/xep/0030_service_discovery/info_result.vala index 7e0f0ea4..ae6b9caf 100644 --- a/xmpp-vala/src/module/xep/0030_service_discovery/info_result.vala +++ b/xmpp-vala/src/module/xep/0030_service_discovery/info_result.vala @@ -39,30 +39,16 @@ public class InfoResult { } } - public void add_feature(string feature) { - iq.stanza.get_subnode("query", NS_URI_INFO).put_node(new StanzaNode.build("feature", NS_URI_INFO).put_attribute("var", feature)); - } - - public void add_identity(Identity identity) { - StanzaNode identity_node = new StanzaNode.build("identity", NS_URI_INFO) - .put_attribute("category", identity.category) - .put_attribute("type", identity.type_); - if (identity.name != null) { - identity_node.put_attribute("name", identity.name); - } - iq.stanza.get_subnode("query", NS_URI_INFO).put_node(identity_node); - } - - private InfoResult.from_iq(Iq.Stanza iq) { - this.iq = iq; - } - public InfoResult(Iq.Stanza iq_request) { iq = new Iq.Stanza.result(iq_request); iq.to = iq_request.from; iq.stanza.put_node(new StanzaNode.build("query", NS_URI_INFO).add_self_xmlns()); } + private InfoResult.from_iq(Iq.Stanza iq) { + this.iq = iq; + } + public static InfoResult? create_from_iq(Iq.Stanza iq) { if (iq.is_error()) return null; StanzaNode query_node = iq.stanza.get_subnode("query", NS_URI_INFO); @@ -73,6 +59,20 @@ public class InfoResult { if (identity_node == null) return null; return new ServiceDiscovery.InfoResult.from_iq(iq); } + + public void add_feature(string feature) { + iq.stanza.get_subnode("query", NS_URI_INFO).put_node(new StanzaNode.build("feature", NS_URI_INFO).put_attribute("var", feature)); + } + + public void add_identity(Identity identity) { + StanzaNode identity_node = new StanzaNode.build("identity", NS_URI_INFO) + .put_attribute("category", identity.category) + .put_attribute("type", identity.type_); + if (identity.name != null) { + identity_node.put_attribute("name", identity.name); + } + iq.stanza.get_subnode("query", NS_URI_INFO).put_node(identity_node); + } } } \ No newline at end of file -- cgit v1.2.3-70-g09d2