Search in sources :

Example 1 with Reason

use of eu.siacs.conversations.xmpp.jingle.stanzas.Reason in project Conversations by siacs.

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(eu.siacs.conversations.xmpp.jingle.stanzas.JinglePacket) Reason(eu.siacs.conversations.xmpp.jingle.stanzas.Reason)

Example 2 with Reason

use of eu.siacs.conversations.xmpp.jingle.stanzas.Reason in project Conversations by siacs.

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(eu.siacs.conversations.xmpp.jingle.stanzas.JinglePacket) Reason(eu.siacs.conversations.xmpp.jingle.stanzas.Reason)

Example 3 with Reason

use of eu.siacs.conversations.xmpp.jingle.stanzas.Reason in project Conversations by siacs.

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("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 : Reason(eu.siacs.conversations.xmpp.jingle.stanzas.Reason) IqPacket(eu.siacs.conversations.xmpp.stanzas.IqPacket)

Aggregations

Reason (eu.siacs.conversations.xmpp.jingle.stanzas.Reason)3 JinglePacket (eu.siacs.conversations.xmpp.jingle.stanzas.JinglePacket)2 IqPacket (eu.siacs.conversations.xmpp.stanzas.IqPacket)1