Warning, file /network/ruqola/src/core/otr/otrmanager.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002    SPDX-FileCopyrightText: 2018-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "otrmanager.h"
0008 #include "ddpapi/ddpclient.h"
0009 #include "otrnotificationjob.h"
0010 #include "rocketchataccount.h"
0011 #include "ruqola_debug.h"
0012 #include <KLocalizedString>
0013 
0014 OtrManager::OtrManager(RocketChatAccount *account, QObject *parent)
0015     : QObject(parent)
0016     , mRocketChatAccount(account)
0017 {
0018 }
0019 
0020 OtrManager::~OtrManager() = default;
0021 
0022 void OtrManager::slotActivateNotificationAction()
0023 {
0024 }
0025 
0026 void OtrManager::parseOtr(const QJsonArray &contents)
0027 {
0028     Otr t;
0029     t.parseOtr(contents);
0030     auto job = new OtrNotificationJob(this);
0031     connect(job, &OtrNotificationJob::acceptOtr, this, &OtrManager::slotAcceptOtr);
0032     connect(job, &OtrNotificationJob::rejectOtr, this, &OtrManager::slotRejectOtr);
0033     connect(job, &OtrNotificationJob::acknowLedgeOtr, this, &OtrManager::slotAcknowLedgeOtr);
0034     connect(job, &OtrNotificationJob::endOtr, this, &OtrManager::slotEndOtr);
0035 
0036     job->setRocketChatAccount(mRocketChatAccount);
0037     job->setOtr(t);
0038     job->start();
0039 }
0040 
0041 void OtrManager::slotAcceptOtr(const Otr &t)
0042 {
0043     // We need to answer with own userId
0044     mRocketChatAccount->ddp()->streamNotifyUserOtrAcknowledge(t.roomId(), mRocketChatAccount->userId(), t.crypto().mCrypt);
0045 }
0046 
0047 void OtrManager::slotRejectOtr(const Otr &t)
0048 {
0049     // TODO add reject method.
0050     qCDebug(RUQOLA_LOG) << " Otr rejected!";
0051 }
0052 
0053 void OtrManager::slotAcknowLedgeOtr(const Otr &t)
0054 {
0055     // TODO add slotAcknowLedgeOtr method.
0056     mOtrList.append(t);
0057     qCDebug(RUQOLA_LOG) << "AcknowLedge Otr!";
0058 }
0059 
0060 void OtrManager::slotEndOtr(const Otr &t)
0061 {
0062     mOtrList.removeAll(t);
0063 }
0064 
0065 #include "moc_otrmanager.cpp"