File indexing completed on 2024-05-12 05:01:59
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 <QDateTime> 0011 #include <QDebug> 0012 0013 class LIBRUQOLACORE_EXPORT InviteInfo 0014 { 0015 public: 0016 InviteInfo(); 0017 ~InviteInfo() = default; 0018 void parseInviteInfo(const QJsonObject &replyObject); 0019 const QString &identifier() const; 0020 void setIdentifier(const QString &newIdentifier); 0021 0022 [[nodiscard]] int maxUses() const; 0023 void setMaxUses(int newMaxUses); 0024 0025 [[nodiscard]] const QString &userIdentifier() const; 0026 void setUserIdentifier(const QString &newUserIdentifier); 0027 0028 [[nodiscard]] const QString &roomId() const; 0029 void setRoomId(const QString &newRoomId); 0030 0031 [[nodiscard]] int uses() const; 0032 void setUses(int newUses); 0033 0034 [[nodiscard]] const QDateTime &expireDateTime() const; 0035 void setExpireDateTime(const QDateTime &newExpireDateTime); 0036 0037 [[nodiscard]] const QDateTime &createDateTime() const; 0038 void setCreateDateTime(const QDateTime &newCreateDateTime); 0039 0040 [[nodiscard]] bool operator==(const InviteInfo &other) const; 0041 0042 private: 0043 QString mUserIdentifier; 0044 QString mIdentifier; 0045 QString mRoomId; 0046 QDateTime mExpireDateTime; 0047 QDateTime mCreateDateTime; 0048 int mUses = 0; 0049 int mMaxUses = 0; 0050 }; 0051 0052 Q_DECLARE_METATYPE(InviteInfo) 0053 Q_DECLARE_TYPEINFO(InviteInfo, Q_RELOCATABLE_TYPE); 0054 LIBRUQOLACORE_EXPORT QDebug operator<<(QDebug d, const InviteInfo &t);