Search in sources :

Example 1 with Reason

use of de.pixart.messenger.xmpp.jingle.stanzas.Reason in project Pix-Art-Messenger by kriztan.

the class JingleConnection method deliverPacket.

public void deliverPacket(JinglePacket packet) {
    boolean returnResult = true;
    if (packet.isAction("session-terminate")) {
        Reason reason = packet.getReason();
        if (reason != null) {
            if (reason.hasChild("cancel")) {
                this.fail();
            } else if (reason.hasChild("success")) {
                this.receiveSuccess();
            } else {
                this.fail();
            }
        } else {
            this.fail();
        }
    } else if (packet.isAction("session-accept")) {
        returnResult = receiveAccept(packet);
    } else if (packet.isAction("session-info")) {
        returnResult = true;
        Element checksum = packet.getChecksum();
        Element file = checksum == null ? null : checksum.findChild("file");
        Element hash = file == null ? null : file.findChild("hash", "urn:xmpp:hashes:2");
        if (hash != null && "sha-1".equalsIgnoreCase(hash.getAttribute("algo"))) {
            try {
                this.expectedHash = Base64.decode(hash.getContent(), Base64.DEFAULT);
            } catch (Exception e) {
                this.expectedHash = new byte[0];
            }
        }
    } else if (packet.isAction("transport-info")) {
        returnResult = receiveTransportInfo(packet);
    } else if (packet.isAction("transport-replace")) {
        if (packet.getJingleContent().hasIbbTransport()) {
            returnResult = this.receiveFallbackToIbb(packet);
        } else {
            returnResult = false;
            Log.d(Config.LOGTAG, "trying to fallback to something unknown" + packet.toString());
        }
    } else if (packet.isAction("transport-accept")) {
        returnResult = this.receiveTransportAccept(packet);
    } else {
        Log.d(Config.LOGTAG, "packet arrived in connection. action was " + packet.getAction());
        returnResult = false;
    }
    IqPacket response;
    if (returnResult) {
        response = packet.generateResponse(IqPacket.TYPE.RESULT);
    } else {
        response = packet.generateResponse(IqPacket.TYPE.ERROR);
    }
    mXmppConnectionService.sendIqPacket(account, response, null);
}
Also used : Element(de.pixart.messenger.xml.Element) Reason(de.pixart.messenger.xmpp.jingle.stanzas.Reason) IOException(java.io.IOException) FileNotFoundException(java.io.FileNotFoundException) IqPacket(de.pixart.messenger.xmpp.stanzas.IqPacket)

Example 2 with Reason

use of de.pixart.messenger.xmpp.jingle.stanzas.Reason in project Pix-Art-Messenger by kriztan.

the class JingleConnection method sendSuccess.

private void sendSuccess() {
    JinglePacket packet = bootstrapPacket("session-terminate");
    Reason reason = new Reason();
    reason.addChild("success");
    packet.setReason(reason);
    this.sendJinglePacket(packet);
    this.disconnectSocks5Connections();
    this.mJingleStatus = JINGLE_STATUS_FINISHED;
    this.message.setStatus(Message.STATUS_RECEIVED);
    this.message.setTransferable(null);
    this.mXmppConnectionService.updateMessage(message);
    this.mJingleConnectionManager.finishConnection(this);
}
Also used : JinglePacket(de.pixart.messenger.xmpp.jingle.stanzas.JinglePacket) Reason(de.pixart.messenger.xmpp.jingle.stanzas.Reason)

Example 3 with Reason

use of de.pixart.messenger.xmpp.jingle.stanzas.Reason in project Pix-Art-Messenger by kriztan.

the class JingleConnection method sendCancel.

private void sendCancel() {
    JinglePacket packet = bootstrapPacket("session-terminate");
    Reason reason = new Reason();
    reason.addChild("cancel");
    packet.setReason(reason);
    this.sendJinglePacket(packet);
}
Also used : JinglePacket(de.pixart.messenger.xmpp.jingle.stanzas.JinglePacket) Reason(de.pixart.messenger.xmpp.jingle.stanzas.Reason)

Aggregations

Reason (de.pixart.messenger.xmpp.jingle.stanzas.Reason)3 JinglePacket (de.pixart.messenger.xmpp.jingle.stanzas.JinglePacket)2 Element (de.pixart.messenger.xml.Element)1 IqPacket (de.pixart.messenger.xmpp.stanzas.IqPacket)1 FileNotFoundException (java.io.FileNotFoundException)1 IOException (java.io.IOException)1