5 #ifndef QXMPPMUCMANAGER_H 6 #define QXMPPMUCMANAGER_H 8 #include "QXmppClientExtension.h" 9 #include "QXmppMucIq.h" 10 #include "QXmppPresence.h" 15 class QXmppMucManagerPrivate;
17 class QXmppMucRoomPrivate;
47 Q_PROPERTY(QList<QXmppMucRoom *> rooms READ rooms NOTIFY roomAdded)
57 QList<QXmppMucRoom *> rooms()
const;
65 Q_SIGNAL
void invitationReceived(
const QString &roomJid,
const QString &inviter,
const QString &reason);
77 Q_SLOT
void _q_messageReceived(
const QXmppMessage &message);
78 Q_SLOT
void _q_roomDestroyed(QObject *
object);
80 const std::unique_ptr<QXmppMucManagerPrivate> d;
95 Q_PROPERTY(
QXmppMucRoom::Actions allowedActions READ allowedActions NOTIFY allowedActionsChanged)
97 Q_PROPERTY(
bool isJoined READ isJoined NOTIFY isJoinedChanged)
99 Q_PROPERTY(QString jid READ jid CONSTANT)
101 Q_PROPERTY(QString name READ name NOTIFY nameChanged)
103 Q_PROPERTY(QString nickName READ nickName WRITE setNickName NOTIFY nickNameChanged)
105 Q_PROPERTY(QStringList participants READ participants NOTIFY participantsChanged)
107 Q_PROPERTY(QString password READ password WRITE setPassword)
109 Q_PROPERTY(QString subject READ subject WRITE setSubject NOTIFY subjectChanged)
116 ConfigurationAction = 2,
117 PermissionsAction = 4,
120 Q_DECLARE_FLAGS(Actions,
Action)
126 Actions allowedActions()
const;
130 bool isJoined()
const;
142 QString name()
const;
146 QString nickName()
const;
147 void setNickName(
const QString &nickName);
149 Q_INVOKABLE QString participantFullJid(
const QString &jid)
const;
158 QStringList participants()
const;
162 QString password()
const;
163 void setPassword(
const QString &password);
167 QString subject()
const;
168 void setSubject(
const QString &subject);
171 Q_SIGNAL
void allowedActionsChanged(QXmppMucRoom::Actions actions);
174 Q_SIGNAL
void configurationReceived(
const QXmppDataForm &configuration);
180 Q_SIGNAL
void joined();
183 Q_SIGNAL
void kicked(
const QString &jid,
const QString &reason);
186 Q_SIGNAL
void isJoinedChanged();
190 Q_SIGNAL
void left();
193 Q_SIGNAL
void messageReceived(
const QXmppMessage &message);
196 Q_SIGNAL
void nameChanged(
const QString &name);
199 Q_SIGNAL
void nickNameChanged(
const QString &nickName);
202 Q_SIGNAL
void participantAdded(
const QString &jid);
205 Q_SIGNAL
void participantChanged(
const QString &jid);
208 Q_SIGNAL
void participantRemoved(
const QString &jid);
211 Q_SIGNAL
void participantsChanged();
215 Q_SIGNAL
void permissionsReceived(
const QList<QXmppMucItem> &permissions);
218 Q_SIGNAL
void subjectChanged(
const QString &subject);
220 Q_SLOT
bool ban(
const QString &jid,
const QString &reason);
222 Q_SLOT
bool kick(
const QString &jid,
const QString &reason);
223 Q_SLOT
bool leave(
const QString &message = QString());
224 Q_SLOT
bool requestConfiguration();
225 Q_SLOT
bool requestPermissions();
227 Q_SLOT
bool setPermissions(
const QList<QXmppMucItem> &permissions);
228 Q_SLOT
bool sendInvitation(
const QString &jid,
const QString &reason);
229 Q_SLOT
bool sendMessage(
const QString &text);
234 Q_SLOT
void _q_disconnected();
235 Q_SLOT
void _q_messageReceived(
const QXmppMessage &message);
236 Q_SLOT
void _q_presenceReceived(
const QXmppPresence &presence);
238 const std::unique_ptr<QXmppMucRoomPrivate> d;
242 Q_DECLARE_OPERATORS_FOR_FLAGS(QXmppMucRoom::Actions)
virtual void onRegistered(QXmppClient *client)
Definition: QXmppClientExtension.cpp:85
virtual void onUnregistered(QXmppClient *client)
Definition: QXmppClientExtension.cpp:95
virtual bool handleStanza(const QDomElement &stanza)
You need to implement this method to process incoming XMPP stanzas.
Definition: client/compat/removed_api.cpp:45
Action
This enum is used to describe chat room actions.
Definition: QXmppMucManager.h:113
The QXmppMucRoom class represents a multi-user chat room as defined by XEP-0045: Multi-User Chat...
Definition: QXmppMucManager.h:89
Definition: QXmppDiscoveryIq.h:199
The QXmppPresence class represents an XMPP presence stanza.
Definition: QXmppPresence.h:21
virtual QStringList discoveryFeatures() const
Definition: QXmppClientExtension.cpp:22
The QXmppMessage class represents an XMPP message.
Definition: QXmppMessage.h:63
The QXmppMucManager class makes it possible to interact with multi-user chat rooms as defined by XEP-...
Definition: QXmppMucManager.h:43
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:31
The Error class represents a stanza error.
Definition: QXmppStanza.h:111
Action
Definition: QXmppExternalService.h:28
Main class for starting and managing connections to XMPP servers.
Definition: QXmppClient.h:61