aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppIqHandling.cpp
blob: be164f0f914502de6d03f41acd2df38250a97c73 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// SPDX-FileCopyrightText: 2022 Linus Jahn <lnj@kaidan.im>
//
// SPDX-License-Identifier: LGPL-2.1-or-later

#include "QXmppIqHandling.h"

void QXmpp::Private::sendIqReply(QXmppClient *client,
                                 const QString &requestId,
                                 const QString &requestFrom,
                                 const std::optional<QXmppE2eeMetadata> &e2eeMetadata,
                                 QXmppIq &&iq)
{
    // default type is 'result'
    switch (iq.type()) {
    case QXmppIq::Get:
    case QXmppIq::Set:
        iq.setType(QXmppIq::Result);
        break;
    case QXmppIq::Error:
    case QXmppIq::Result:
        break;
    }

    iq.setTo(requestFrom);
    iq.setId(requestId);
    client->reply(std::move(iq), e2eeMetadata);
}