Java 类org.jivesoftware.smackx.entitycaps.packet.CapsExtension 实例源码

项目:androidPN-client.    文件:CapsExtensionProvider.java   
public PacketExtension parseExtension(XmlPullParser parser) throws XmlPullParserException, IOException,
        XMPPException {
    String hash = null;
    String version = null;
    String node = null;
    if (parser.getEventType() == XmlPullParser.START_TAG
            && parser.getName().equalsIgnoreCase(EntityCapsManager.ELEMENT)) {
        hash = parser.getAttributeValue(null, "hash");
        version = parser.getAttributeValue(null, "ver");
        node = parser.getAttributeValue(null, "node");
    } else {
        throw new XMPPException("Malformed Caps element");
    }

    parser.next();

    if (!(parser.getEventType() == XmlPullParser.END_TAG
            && parser.getName().equalsIgnoreCase(EntityCapsManager.ELEMENT))) {
        throw new XMPPException("Malformed nested Caps element");
    }

    if (hash != null && version != null && node != null) {
        return new CapsExtension(node, version, hash);
    } else {
        throw new XMPPException("Caps elment with missing attributes");
    }
}
项目:androidPN-client.    文件:CapsExtensionProvider.java   
public PacketExtension parseExtension(XmlPullParser parser) throws XmlPullParserException, IOException,
        XMPPException {
    String hash = null;
    String version = null;
    String node = null;
    int depth = 0;
    while (true) {
        if (parser.getEventType() == XmlPullParser.START_TAG && parser.getName().equalsIgnoreCase("c")) {
            hash = parser.getAttributeValue(null, "hash");
            version = parser.getAttributeValue(null, "ver");
            node = parser.getAttributeValue(null, "node");
        }

        if (parser.getEventType() == XmlPullParser.END_TAG && parser.getName().equalsIgnoreCase("c")) {
            break;
        } else {
            parser.next();
        }

        if (depth < MAX_DEPTH) {
            depth++;
        } else {
            throw new XMPPException("Malformed caps element");
        }
    }

    if (hash != null && version != null && node != null) {
        return new CapsExtension(node, version, hash);
    } else {
        throw new XMPPException("Caps elment with missing attributes");
    }
}
项目:xmppsupport_v2    文件:CapsPacketListener.java   
public void processPacket(Packet packet) {
    CapsExtension ext = (CapsExtension) packet.getExtension(
            CapsExtension.NODE_NAME, CapsExtension.XMLNS);

    String nodeVer = ext.getNode() + "#" + ext.getVersion();
    String user = packet.getFrom();

    manager.addUserCapsNode(user, nodeVer);
}
项目:java-bells    文件:CapsExtensionProvider.java   
public PacketExtension parseExtension(XmlPullParser parser) throws XmlPullParserException, IOException,
        XMPPException {
    String hash = null;
    String version = null;
    String node = null;
    if (parser.getEventType() == XmlPullParser.START_TAG
            && parser.getName().equalsIgnoreCase(EntityCapsManager.ELEMENT)) {
        hash = parser.getAttributeValue(null, "hash");
        version = parser.getAttributeValue(null, "ver");
        node = parser.getAttributeValue(null, "node");
    } else {
        throw new XMPPException("Malformed Caps element");
    }

    parser.next();

    if (!(parser.getEventType() == XmlPullParser.END_TAG
            && parser.getName().equalsIgnoreCase(EntityCapsManager.ELEMENT))) {
        throw new XMPPException("Malformed nested Caps element");
    }

    if (hash != null && version != null && node != null) {
        return new CapsExtension(node, version, hash);
    } else {
        throw new XMPPException("Caps elment with missing attributes");
    }
}
项目:telegraph    文件:EntityCapsManager.java   
public void addPacketListener(Connection connection) {
    PacketFilter f =
        new AndFilter(
                new PacketTypeFilter(Presence.class),
                new PacketExtensionFilter(CapsExtension.NODE_NAME, CapsExtension.XMLNS));
    connection.addPacketListener(new CapsPacketListener(this), f);
}
项目:telegraph    文件:CapsPacketListener.java   
public void processPacket(Packet packet) {
    CapsExtension ext =
        (CapsExtension) packet.getExtension(CapsExtension.NODE_NAME, CapsExtension.XMLNS);

    String nodeVer = ext.getNode() + "#" + ext.getVersion();
    String user = packet.getFrom();

    manager.addUserCapsNode(user, nodeVer);
}
项目:asmack-mini    文件:CapsExtensionProvider.java   
public PacketExtension parseExtension(XmlPullParser parser) throws XmlPullParserException, IOException,
        XMPPException {
    String hash = null;
    String version = null;
    String node = null;
    if (parser.getEventType() == XmlPullParser.START_TAG
            && parser.getName().equalsIgnoreCase(EntityCapsManager.ELEMENT)) {
        hash = parser.getAttributeValue(null, "hash");
        version = parser.getAttributeValue(null, "ver");
        node = parser.getAttributeValue(null, "node");
    } else {
        throw new XMPPException("Malformed Caps element");
    }

    parser.next();

    if (!(parser.getEventType() == XmlPullParser.END_TAG
            && parser.getName().equalsIgnoreCase(EntityCapsManager.ELEMENT))) {
        throw new XMPPException("Malformed nested Caps element");
    }

    if (hash != null && version != null && node != null) {
        return new CapsExtension(node, version, hash);
    } else {
        throw new XMPPException("Caps elment with missing attributes");
    }
}
项目:asmack-mini    文件:CapsExtensionProvider.java   
public PacketExtension parseExtension(XmlPullParser parser) throws XmlPullParserException, IOException,
        XMPPException {
    String hash = null;
    String version = null;
    String node = null;
    int depth = 0;
    while (true) {
        if (parser.getEventType() == XmlPullParser.START_TAG && parser.getName().equalsIgnoreCase("c")) {
            hash = parser.getAttributeValue(null, "hash");
            version = parser.getAttributeValue(null, "ver");
            node = parser.getAttributeValue(null, "node");
        }

        if (parser.getEventType() == XmlPullParser.END_TAG && parser.getName().equalsIgnoreCase("c")) {
            break;
        } else {
            parser.next();
        }

        if (depth < MAX_DEPTH) {
            depth++;
        } else {
            throw new XMPPException("Malformed caps element");
        }
    }

    if (hash != null && version != null && node != null) {
        return new CapsExtension(node, version, hash);
    } else {
        throw new XMPPException("Caps elment with missing attributes");
    }
}
项目:xmppsupport_v2    文件:EntityCapsManager.java   
public void addPacketListener(Connection connection) {
    PacketFilter f = new AndFilter(new PacketTypeFilter(Presence.class),
            new PacketExtensionFilter(CapsExtension.NODE_NAME,
                    CapsExtension.XMLNS));
    connection.addPacketListener(new CapsPacketListener(this), f);
}
项目:xmppsupport_v2    文件:CapsExtensionProvider.java   
public PacketExtension parseExtension(XmlPullParser parser)
        throws XmlPullParserException, IOException {
    // Original implementation by jonas
    // boolean done = false;
    // int startDepth = parser.getDepth();
    //
    // String hash = parser.getAttributeValue(null, "hash");
    // String node = parser.getAttributeValue(null, "node");
    // String ver = parser.getAttributeValue(null, "ver");
    //
    // // Make the parser
    // while (true) {
    // int eventType = parser.next();
    //
    // if (eventType == XmlPullParser.END_TAG &&
    // parser.getDepth() == startDepth)
    // break;
    // }
    //
    // if (hash != null && node != null && ver != null) {
    // return new CapsExtension(node, ver, hash);
    // }
    // else {
    // //throw new XMPPException("Malformed caps element.");
    // // Malformed, ignore it
    // return null;
    // }

    boolean done = false;
    String hash = null;
    String version = null;
    String node = null;
    while (!done) {
        if (parser.getEventType() == XmlPullParser.START_TAG
                && parser.getName().equalsIgnoreCase("c")) {
            hash = parser.getAttributeValue(null, "hash");
            version = parser.getAttributeValue(null, "ver");
            node = parser.getAttributeValue(null, "node");
        }

        if (parser.getEventType() == XmlPullParser.END_TAG
                && parser.getName().equalsIgnoreCase("c")) {
            done = true;
        } else {
            parser.next();
        }
    }
    return new CapsExtension(node, version, hash);
}
项目:telegraph    文件:CapsExtensionProvider.java   
public PacketExtension parseExtension(XmlPullParser parser) throws XmlPullParserException, IOException {
//      Original implementation by jonas
//        boolean done = false;
//        int startDepth = parser.getDepth();
//
//        String hash = parser.getAttributeValue(null, "hash");
//        String node = parser.getAttributeValue(null, "node");
//        String ver = parser.getAttributeValue(null, "ver");
//
//        // Make the parser 
//        while (true) {
//            int eventType = parser.next();
//
//            if (eventType == XmlPullParser.END_TAG &&
//                    parser.getDepth() == startDepth)
//                break;
//        }
//
//        if (hash != null && node != null && ver != null) {
//            return new CapsExtension(node, ver, hash);
//        }
//        else {
//            //throw new XMPPException("Malformed caps element.");
//            // Malformed, ignore it
//            return null;
//        }

        boolean done = false;
        String hash = null;
        String version = null;
        String node = null;
        while (!done) {
            if (parser.getEventType() == XmlPullParser.START_TAG
                    && parser.getName().equalsIgnoreCase("c")) {
                hash = parser.getAttributeValue(null, "hash");
                version = parser.getAttributeValue(null, "ver");
                node = parser.getAttributeValue(null, "node");
            }

            if (parser.getEventType() == XmlPullParser.END_TAG
                    && parser.getName().equalsIgnoreCase("c")) {
                done = true;
            } else {
                parser.next();
            }
        }
        return new CapsExtension(node, version, hash);
    }