QXmpp  Version: 1.15.1
QXmppMucForms.h
1 // SPDX-FileCopyrightText: 2025 Linus Jahn <lnj@kaidan.im>
2 //
3 // SPDX-License-Identifier: LGPL-2.1-or-later
4 
5 #ifndef QXMPPMUCFORMS_H
6 #define QXMPPMUCFORMS_H
7 
8 #include "QXmppDataFormBase.h"
9 
10 struct QXmppMucRoomInfoPrivate;
11 
12 class QXMPP_EXPORT QXmppMucRoomInfo : public QXmppExtensibleDataFormBase
13 {
14 public:
16  static constexpr QStringView DataFormType = QXmpp::Private::ns_muc_roominfo;
17  static std::optional<QXmppMucRoomInfo> fromDataForm(const QXmppDataForm &);
18 
20  QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(QXmppMucRoomInfo)
21 
22  std::optional<bool> subjectChangeable() const;
23  void setSubjectChangeable(std::optional<bool> newSubjectChangeable);
24 
25  QString subject() const;
26  void setSubject(const QString &newSubject);
27 
28  std::optional<quint32> occupants() const;
29  void setOccupants(std::optional<quint32> newOccupants);
30 
31  QString language() const;
32  void setLanguage(const QString &newLanguage);
33 
34  QString description() const;
35  void setDescription(const QString &newDescription);
36 
37  QStringList contactJids() const;
38  void setContactJids(const QStringList &newContactJids);
39 
40  std::optional<quint32> maxHistoryFetch() const;
41  void setMaxHistoryFetch(std::optional<quint32> newMaxHistoryFetch);
42 
43  QStringList avatarHashes() const;
44  void setAvatarHashes(const QStringList &hashes);
45 
46 protected:
47  QString formType() const override;
48  bool parseField(const QXmppDataForm::Field &) override;
49  void serializeForm(QXmppDataForm &) const override;
50 
51 private:
52  QSharedDataPointer<QXmppMucRoomInfoPrivate> d;
53 };
54 
55 #endif // QXMPPMUCFORMS_H
virtual bool parseField(const QXmppDataForm::Field &)
Definition: QXmppDataFormBase.cpp:215
Definition: QXmppDataForm.h:27
static bool fromDataForm(const QXmppDataForm &form, QXmppDataFormBase &parent)
Definition: QXmppDataFormBase.cpp:55
Definition: QXmppDataFormBase.h:103
void serializeForm(QXmppDataForm &) const override
Definition: QXmppDataFormBase.cpp:204
Definition: QXmppMucForms.h:12
virtual QString formType() const =0
Definition: QXmppDataForm.h:92