1 20 21 package org.jivesoftware.smackx.provider; 22 23 import org.jivesoftware.smack.packet.IQ; 24 import org.jivesoftware.smack.provider.IQProvider; 25 import org.jivesoftware.smackx.packet.*; 26 import org.xmlpull.v1.XmlPullParser; 27 28 33 public class DiscoverItemsProvider implements IQProvider { 34 35 public IQ parseIQ(XmlPullParser parser) throws Exception { 36 DiscoverItems discoverItems = new DiscoverItems(); 37 boolean done = false; 38 DiscoverItems.Item item = null; 39 String jid = ""; 40 String name = ""; 41 String action = ""; 42 String node = ""; 43 discoverItems.setNode(parser.getAttributeValue("", "node")); 44 while (!done) { 45 int eventType = parser.next(); 46 if (eventType == XmlPullParser.START_TAG) { 47 if (parser.getName().equals("item")) { 48 jid = parser.getAttributeValue("", "jid"); 50 name = parser.getAttributeValue("", "name"); 51 node = parser.getAttributeValue("", "node"); 52 action = parser.getAttributeValue("", "action"); 53 } 54 } else if (eventType == XmlPullParser.END_TAG) { 55 if (parser.getName().equals("item")) { 56 item = new DiscoverItems.Item(jid); 58 item.setName(name); 59 item.setNode(node); 60 item.setAction(action); 61 discoverItems.addItem(item); 62 } 63 if (parser.getName().equals("query")) { 64 done = true; 65 } 66 } 67 } 68 69 return discoverItems; 70 } 71 } | Popular Tags |