File indexing completed on 2024-05-12 16:25:55

0001 /*
0002    SPDX-FileCopyrightText: 2018-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "libruqolacore_export.h"
0010 #include "otr.h"
0011 #include <QJsonArray>
0012 #include <QObject>
0013 class RocketChatAccount;
0014 class LIBRUQOLACORE_EXPORT OtrManager : public QObject
0015 {
0016     Q_OBJECT
0017 public:
0018     explicit OtrManager(RocketChatAccount *account, QObject *parent = nullptr);
0019     ~OtrManager() override;
0020     void parseOtr(const QJsonArray &contents);
0021 
0022 private:
0023     Q_DISABLE_COPY(OtrManager)
0024     LIBRUQOLACORE_NO_EXPORT void slotAcceptOtr(const Otr &t);
0025     LIBRUQOLACORE_NO_EXPORT void slotRejectOtr(const Otr &t);
0026     LIBRUQOLACORE_NO_EXPORT void slotAcknowLedgeOtr(const Otr &t);
0027     LIBRUQOLACORE_NO_EXPORT void slotEndOtr(const Otr &t);
0028     LIBRUQOLACORE_NO_EXPORT void slotActivateNotificationAction();
0029     QList<Otr> mOtrList;
0030     RocketChatAccount *const mRocketChatAccount;
0031 };