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 #include "teamroom.h" 0008 0009 #include <QJsonArray> 0010 0011 TeamRoom::TeamRoom() = default; 0012 0013 bool TeamRoom::operator==(const TeamRoom &other) const 0014 { 0015 return mAutoJoin == other.autoJoin() && mName == other.name() && mFname == other.fname() && mIdentifier == other.identifier(); 0016 } 0017 0018 bool TeamRoom::autoJoin() const 0019 { 0020 return mAutoJoin; 0021 } 0022 0023 void TeamRoom::setAutoJoin(bool autoJoin) 0024 { 0025 mAutoJoin = autoJoin; 0026 } 0027 0028 QString TeamRoom::name() const 0029 { 0030 return mName; 0031 } 0032 0033 void TeamRoom::setName(const QString &name) 0034 { 0035 mName = name; 0036 } 0037 0038 QString TeamRoom::fname() const 0039 { 0040 return mFname; 0041 } 0042 0043 void TeamRoom::setFname(const QString &fname) 0044 { 0045 mFname = fname; 0046 } 0047 0048 void TeamRoom::parse(const QJsonObject &obj) 0049 { 0050 mName = obj[QLatin1String("name")].toString(); 0051 mFname = obj[QLatin1String("fname")].toString(); 0052 mAutoJoin = obj[QLatin1String("teamDefault")].toBool(false); 0053 mIdentifier = obj[QLatin1String("_id")].toString(); 0054 } 0055 0056 QString TeamRoom::identifier() const 0057 { 0058 return mIdentifier; 0059 } 0060 0061 void TeamRoom::setIdentifier(const QString &identifier) 0062 { 0063 mIdentifier = identifier; 0064 } 0065 0066 QVector<TeamRoom> TeamRoom::parseTeamRooms(const QJsonObject &obj) 0067 { 0068 QVector<TeamRoom> teamRooms; 0069 const QJsonArray rooms = obj.value(QLatin1String("rooms")).toArray(); 0070 teamRooms.reserve(rooms.count()); 0071 for (int i = 0, total = rooms.count(); i < total; ++i) { 0072 const QJsonObject r = rooms.at(i).toObject(); 0073 TeamRoom teamRoom; 0074 teamRoom.parse(r); 0075 teamRooms.append(std::move(teamRoom)); 0076 } 0077 return teamRooms; 0078 } 0079 0080 QDebug operator<<(QDebug d, const TeamRoom &t) 0081 { 0082 d << "Name " << t.name(); 0083 d << "Fname : " << t.fname(); 0084 d << "autojoin: " << t.autoJoin(); 0085 d << "identifier: " << t.identifier(); 0086 return d; 0087 }