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

0001 /*
0002    SPDX-FileCopyrightText: 2021-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 <QDebug>
0011 #include <QJsonObject>
0012 #include <QVector>
0013 
0014 class LIBRUQOLACORE_EXPORT TeamRoom
0015 {
0016 public:
0017     TeamRoom();
0018     [[nodiscard]] bool operator==(const TeamRoom &other) const;
0019 
0020     [[nodiscard]] bool autoJoin() const;
0021     void setAutoJoin(bool autoJoin);
0022 
0023     [[nodiscard]] QString name() const;
0024     void setName(const QString &name);
0025 
0026     [[nodiscard]] QString fname() const;
0027     void setFname(const QString &fname);
0028 
0029     void parse(const QJsonObject &obj);
0030 
0031     [[nodiscard]] QString identifier() const;
0032     void setIdentifier(const QString &identifier);
0033     [[nodiscard]] static QVector<TeamRoom> parseTeamRooms(const QJsonObject &obj);
0034 
0035 private:
0036     QString mName;
0037     QString mFname;
0038     QString mIdentifier;
0039     bool mAutoJoin = false;
0040 };
0041 LIBRUQOLACORE_EXPORT QDebug operator<<(QDebug d, const TeamRoom &t);
0042 Q_DECLARE_METATYPE(TeamRoom)
0043 Q_DECLARE_TYPEINFO(TeamRoom, Q_MOVABLE_TYPE);