aboutsummaryrefslogtreecommitdiff
path: root/xmpp-vala/src/module/xep/0030_service_discovery/items_result.vala
diff options
context:
space:
mode:
Diffstat (limited to 'xmpp-vala/src/module/xep/0030_service_discovery/items_result.vala')
-rw-r--r--xmpp-vala/src/module/xep/0030_service_discovery/items_result.vala27
1 files changed, 27 insertions, 0 deletions
diff --git a/xmpp-vala/src/module/xep/0030_service_discovery/items_result.vala b/xmpp-vala/src/module/xep/0030_service_discovery/items_result.vala
new file mode 100644
index 00000000..2c29c320
--- /dev/null
+++ b/xmpp-vala/src/module/xep/0030_service_discovery/items_result.vala
@@ -0,0 +1,27 @@
+using Gee;
+
+using Xmpp.Core;
+
+namespace Xmpp.Xep.ServiceDiscovery {
+
+public class ItemsResult {
+ public Iq.Stanza iq { get; private set; }
+
+ public ArrayList<Item> items {
+ owned get {
+ ArrayList<Item> ret = new ArrayList<Item>();
+ foreach (StanzaNode feature_node in iq.stanza.get_subnode("query", NS_URI_ITEMS).get_subnodes("identity", NS_URI_INFO)) {
+ ret.add(new Item(feature_node.get_attribute("jid", NS_URI_ITEMS),
+ feature_node.get_attribute("name", NS_URI_ITEMS),
+ feature_node.get_attribute("node", NS_URI_ITEMS)));
+ }
+ return ret;
+ }
+ }
+
+ public ItemsResult.from_iq(Iq.Stanza iq) {
+ this.iq = iq;
+ }
+}
+
+} \ No newline at end of file