blob: 233a0c0661cec0cf64c86f3a16e3862eb7d96d58 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
using Gee;
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("item", NS_URI_ITEMS)) {
try {
ret.add(new Item(new Jid(feature_node.get_attribute("jid", NS_URI_ITEMS)),
feature_node.get_attribute("name", NS_URI_ITEMS),
feature_node.get_attribute("node", NS_URI_ITEMS)));
} catch (InvalidJidError e) {
warning("Ignoring service at invalid Jid: %s", e.message);
}
}
return ret;
}
}
private ItemsResult.from_iq(Iq.Stanza iq) {
this.iq = iq;
}
public static ItemsResult? create_from_iq(Iq.Stanza iq) {
return new ItemsResult.from_iq(iq);
}
}
}
|