📄 streamhostprovider.java
字号:
/** * $RCSfile$ * $Revision: 2495 $ * $Date: 2005-05-30 10:14:25 -0500 (Mon, 30 May 2005) $ * * Copyright 2003-2004 Jive Software. * * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.jivesoftware.smackx.provider;import org.jivesoftware.smackx.packet.*;import org.jivesoftware.smack.provider.IQProvider;import org.jivesoftware.smack.packet.IQ;import org.xmlpull.v1.XmlPullParser;/** * this class implements a provider for <streamhost> and <streamhost-used> * packets. * * @author Lukasz Wiechec */public class StreamHostProvider implements IQProvider { public static final String NAMESPACE = "http://jabber.org/protocol/bytestreams"; public IQ parseIQ(XmlPullParser parser) throws Exception { boolean done = false; int port = 8888; String host = ""; String jid = ""; String sid = parser.getAttributeValue("","sid");; StreamHost h = null; StreamHostUsed u = null; boolean streamhostused = false; while (!done) { int eventType = parser.next(); String elementName = parser.getName(); String namespace = parser.getNamespace(); if (eventType == XmlPullParser.START_TAG) { if (elementName.equals("streamhost")) { try { port = Integer.parseInt(parser.getAttributeValue("","port")); } catch(NumberFormatException nfe) { } host = parser.getAttributeValue("","host"); jid = parser.getAttributeValue("","jid"); if(h == null) h = new StreamHost(sid); h.addHost(new StreamHost.Host(host, jid, port)); } else if (elementName.equals("streamhost-used")) { jid = parser.getAttributeValue("","jid"); if(u == null) u = new StreamHostUsed(jid); streamhostused = true; } } else if (eventType == XmlPullParser.END_TAG && elementName.equals("query")) { done = true; } } if (host != null && !streamhostused) { return h; } else { return u; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -