5 #ifndef QXMPPMIXMANAGER_H 6 #define QXMPPMIXMANAGER_H 8 #include "QXmppClient.h" 9 #include "QXmppClientExtension.h" 10 #include "QXmppMixConfigItem.h" 11 #include "QXmppMixInfoItem.h" 12 #include "QXmppMixParticipantItem.h" 13 #include "QXmppPubSubEventHandler.h" 16 class QXmppMixInvitation;
17 class QXmppMixManagerPrivate;
22 Q_PROPERTY(
Support participantSupport READ participantSupport NOTIFY participantSupportChanged)
23 Q_PROPERTY(
Support messageArchivingSupport READ messageArchivingSupport NOTIFY messageArchivingSupportChanged)
24 Q_PROPERTY(QList<
Service> services READ services NOTIFY servicesChanged)
35 bool channelsSearchable =
false;
36 bool channelCreationAllowed =
false;
39 bool operator==(
const Service &other)
const;
73 QStringList discoveryFeatures()
const override;
75 Support participantSupport()
const;
76 Q_SIGNAL
void participantSupportChanged();
78 Support messageArchivingSupport()
const;
79 Q_SIGNAL
void messageArchivingSupportChanged();
81 QList<Service> services()
const;
82 Q_SIGNAL
void servicesChanged();
91 Q_SIGNAL
void channelConfigurationUpdated(
const QString &channelJid,
const QXmppMixConfigItem &configuration);
95 Q_SIGNAL
void channelInformationUpdated(
const QString &channelJid,
const QXmppMixInfoItem &information);
101 QXmppTask<SubscriptionResult> updateSubscriptions(
const QString &channelJid, QXmppMixConfigItem::Nodes subscriptionAdditions = ~QXmppMixConfigItem::Nodes(), QXmppMixConfigItem::Nodes subscriptionRemovals = {});
107 Q_SIGNAL
void jidAllowed(
const QString &channelJid,
const QString &jid);
108 Q_SIGNAL
void allJidsAllowed(
const QString &channelJid);
111 Q_SIGNAL
void jidDisallowed(
const QString &channelJid,
const QString &jid);
113 Q_SIGNAL
void allJidsDisallowed(
const QString &channelJid);
117 Q_SIGNAL
void jidBanned(
const QString &channelJid,
const QString &jid);
120 Q_SIGNAL
void jidUnbanned(
const QString &channelJid,
const QString &jid);
122 Q_SIGNAL
void allJidsUnbanned(
const QString &channelJid);
126 Q_SIGNAL
void participantLeft(
const QString &channelJid,
const QString &participantId);
131 Q_SIGNAL
void channelDeleted(
const QString &channelJid);
137 bool handlePubSubEvent(
const QDomElement &element,
const QString &pubSubService,
const QString &nodeName)
override;
141 QXmppMixIq prepareJoinIq(
const QString &channelJid,
const QString &nickname, QXmppMixConfigItem::Nodes nodes);
148 void setParticipantSupport(Support participantSupport);
149 void setMessageArchivingSupport(Support messageArchivingSupport);
150 void addService(
const Service &service);
151 void removeService(
const QString &jid);
152 void removeServices();
153 void resetCachedData();
155 const std::unique_ptr<QXmppMixManagerPrivate> d;
157 friend class tst_QXmppMixManager;
160 #endif // QXMPPMIXMANAGER_H Definition: QXmppPubSubEventHandler.h:14
Support
Definition: QXmppMixManager.h:27
QXmppMixConfigItem::Nodes subscriptions
Definition: QXmppMixManager.h:51
Definition: QXmppMixManager.h:48
Definition: QXmppMixIq.h:17
std::variant< QXmppMixInvitation, QXmppError > InvitationResult
Definition: QXmppMixManager.h:65
std::variant< Nickname, QXmppError > NicknameResult
Definition: QXmppMixManager.h:64
QString ChannelJid
Definition: QXmppMixManager.h:55
std::variant< Participation, QXmppError > JoiningResult
Definition: QXmppMixManager.h:63
Definition: QXmppMixParticipantItem.h:12
Definition: QXmppError.h:17
QString nickname
Definition: QXmppMixManager.h:50
std::variant< QVector< Jid >, QXmppError > JidResult
Definition: QXmppMixManager.h:67
Definition: QXmppTask.h:61
The QXmppMixInfoItem class represents a PubSub item of a MIX channel containing channel information a...
Definition: QXmppMixInfoItem.h:14
QXmppMixConfigItem::Nodes additions
Definition: QXmppMixManager.h:44
Definition: QXmppDiscoveryIq.h:17
std::variant< QXmppMixConfigItem, QXmppError > ConfigurationResult
Definition: QXmppMixManager.h:61
QString Jid
Definition: QXmppMixManager.h:54
QString jid
Definition: QXmppMixManager.h:34
QString participantId
Definition: QXmppMixManager.h:49
std::variant< QVector< ChannelJid >, QXmppError > ChannelJidResult
Definition: QXmppMixManager.h:59
std::variant< QVector< QXmppMixParticipantItem >, QXmppError > ParticipantResult
Definition: QXmppMixManager.h:68
std::variant< ChannelJid, QXmppError > CreationResult
Definition: QXmppMixManager.h:58
Definition: QXmppMixManager.h:33
Definition: QXmppMixManager.h:43
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:31
std::variant< QXmppMixConfigItem::Nodes, QXmppError > ChannelNodeResult
Definition: QXmppMixManager.h:60
QXmppMixConfigItem::Nodes removals
Definition: QXmppMixManager.h:45
std::variant< QXmppMixInfoItem, QXmppError > InformationResult
Definition: QXmppMixManager.h:62
std::variant< Subscription, QXmppError > SubscriptionResult
Definition: QXmppMixManager.h:66
Definition: QXmppMixManager.h:19
QString Nickname
Definition: QXmppMixManager.h:56
Main class for starting and managing connections to XMPP servers.
Definition: QXmppClient.h:61
The QXmppMixConfigItem class represents a PubSub item of a MIX channel containing its configuration a...
Definition: QXmppMixConfigItem.h:13