5#ifndef QXMPPMUCMANAGERV2_H
6#define QXMPPMUCMANAGERV2_H
8#include "QXmppClientExtension.h"
9#include "QXmppPubSubEventHandler.h"
14namespace QXmpp::Private {
15struct Bookmarks2Conference;
16struct Bookmarks2ConferenceItem;
20class QXmppMucBookmarkPrivate;
31 const QString &
jid()
const;
33 const QString &
name()
const;
35 const QString &
nick()
const;
43 friend class QXmppMucManagerV2Private;
44 QSharedDataPointer<QXmppMucBookmarkPrivate> d;
49struct QXmppMucManagerV2Private;
56 struct BookmarkChange {
71 const std::optional<QList<QXmppMucBookmark>> &
bookmarks()
const;
74 Q_SIGNAL
void bookmarksChanged(
const QList<QXmppMucManagerV2::BookmarkChange> &bookmarkUpdates);
84 bool handlePubSubEvent(
const QDomElement &element,
const QString &pubSubService,
const QString &nodeName)
override;
93 friend class QXmppMucManagerV2Private;
94 friend class tst_QXmppMuc;
95 const std::unique_ptr<QXmppMucManagerV2Private> d;
98Q_DECLARE_METATYPE(QXmppMucManagerV2::BookmarkChange);
QXmppClient * client() const
Definition QXmppClientExtension.cpp:57
QXmppClientExtension()
Definition QXmppClientExtension.cpp:12
Definition QXmppMucManagerV2.h:23
const QString & jid() const
Returns the (bare) JID of the MUC.
Definition QXmppMucManagerV2.cpp:96
void setAutojoin(bool autojoin)
Sets whether to automatically join this MUC on connection.
Definition QXmppMucManagerV2.cpp:118
bool autojoin() const
Returns whether to automatically join this MUC on connection.
Definition QXmppMucManagerV2.cpp:116
void setName(const QString &name)
Sets the user-defined display name of the MUC.
Definition QXmppMucManagerV2.cpp:103
void setJid(const QString &jid)
Sets the (bare) JID of the MUC.
Definition QXmppMucManagerV2.cpp:98
const QString & password() const
Returns the required password for the MUC.
Definition QXmppMucManagerV2.cpp:111
void setPassword(const QString &password)
Sets the required password for the MUC.
Definition QXmppMucManagerV2.cpp:113
QXmppMucBookmark()
Empty constructor.
Definition QXmppMucManagerV2.cpp:78
const QString & name() const
Returns the user-defined display name of the MUC.
Definition QXmppMucManagerV2.cpp:101
void setNick(const QString &nick)
Sets the user's preferred nick for this MUC.
Definition QXmppMucManagerV2.cpp:108
const QString & nick() const
Returns the user's preferred nick for this MUC.
Definition QXmppMucManagerV2.cpp:106
Q_SIGNAL void bookmarksChanged(const QList< QXmppMucManagerV2::BookmarkChange > &bookmarkUpdates)
QXmppTask< QXmpp::Result<> > setBookmark(QXmppMucBookmark &&bookmark)
Adds or updates the bookmark for a MUC.
Definition QXmppMucManagerV2.cpp:361
QXmppMucManagerV2()
Default constructor.
Definition QXmppMucManagerV2.cpp:180
QXmppTask< QXmpp::Result<> > removeBookmark(const QString &jid)
Removes a bookmark.
Definition QXmppMucManagerV2.cpp:367
QStringList discoveryFeatures() const override
Supported service discovery features.
Definition QXmppMucManagerV2.cpp:188
Q_SIGNAL void bookmarksAdded(const QList< QXmppMucBookmark > &newBookmarks)
QXmppTask< QXmpp::Result<> > setRoomAvatar(const QString &jid, const Avatar &avatar)
Definition QXmppMucManagerV2.cpp:202
QXmppTask< QXmpp::Result< std::optional< Avatar > > > fetchRoomAvatar(const QString &jid)
Definition QXmppMucManagerV2.cpp:240
QXmppTask< QXmpp::Result<> > removeRoomAvatar(const QString &jid)
Definition QXmppMucManagerV2.cpp:221
Q_SIGNAL void bookmarksRemoved(const QList< QString > &removedBookmarkJids)
void onRegistered(QXmppClient *client) override
Definition QXmppMucManagerV2.cpp:372
Q_SIGNAL void bookmarksReset()
bool handlePubSubEvent(const QDomElement &element, const QString &pubSubService, const QString &nodeName) override
Handles incoming PubSub events.
Definition QXmppMucManagerV2.cpp:290
const std::optional< QList< QXmppMucBookmark > > & bookmarks() const
Retrieved bookmarks.
Definition QXmppMucManagerV2.cpp:191
void onUnregistered(QXmppClient *client) override
Definition QXmppMucManagerV2.cpp:377
Definition QXmppPubSubEventHandler.h:15
Definition QXmppTask.h:46
Definition QXmppError.h:17