diff options
Diffstat (limited to 'xmpp-vala/src/module/xep/0030_service_discovery/info_result.vala')
-rw-r--r-- | xmpp-vala/src/module/xep/0030_service_discovery/info_result.vala | 36 |
1 files changed, 18 insertions, 18 deletions
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 |