aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppMucManager.h
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-09-10 10:22:08 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-09-10 10:22:08 +0000
commit874b51e41dcff2187707f4331d274dbb37cde5b0 (patch)
tree2c31bef75d6c029a8e19eda3f1eff942e8154410 /src/QXmppMucManager.h
parentc9c8c38170863ea3316e92fcfb570e99f7862402 (diff)
downloadqxmpp-874b51e41dcff2187707f4331d274dbb37cde5b0.tar.gz
refactor QXmppMucManager as a client extension
Diffstat (limited to 'src/QXmppMucManager.h')
-rw-r--r--src/QXmppMucManager.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/QXmppMucManager.h b/src/QXmppMucManager.h
index 35295b18..7e353d88 100644
--- a/src/QXmppMucManager.h
+++ b/src/QXmppMucManager.h
@@ -24,9 +24,10 @@
#ifndef QXMPPMUCMANAGER_H
#define QXMPPMUCMANAGER_H
-#include <QObject>
#include <QMap>
+#include "QXmppClientExtension.h"
+#include "QXmppMucIq.h"
#include "QXmppPresence.h"
class QXmppDataForm;
@@ -40,12 +41,12 @@ class QXmppOutgoingClient;
///
/// \ingroup Managers
-class QXmppMucManager : public QObject
+class QXmppMucManager : public QXmppClientExtension
{
Q_OBJECT
public:
- QXmppMucManager(QXmppOutgoingClient* stream, QObject *parent = 0);
+ QXmppMucManager(QXmppClient* client);
bool joinRoom(const QString &roomJid, const QString &nickName);
bool leaveRoom(const QString &roomJid);
@@ -53,11 +54,18 @@ public:
bool requestRoomConfiguration(const QString &roomJid);
bool setRoomConfiguration(const QString &roomJid, const QXmppDataForm &form);
+ bool requestRoomPermissions(const QString &roomJid);
+
bool sendInvitation(const QString &roomJid, const QString &jid, const QString &reason);
bool sendMessage(const QString &roomJid, const QString &text);
QMap<QString, QXmppPresence> roomParticipants(const QString& bareJid) const;
+ /// \cond
+ QStringList discoveryFeatures() const;
+ bool handleStanza(QXmppStream *stream, const QDomElement &element);
+ /// \endcond
+
signals:
/// This signal is emitted when an invitation to a chat room is received.
void invitationReceived(const QString &roomJid, const QString &inviter, const QString &reason);
@@ -65,6 +73,9 @@ signals:
/// This signal is emitted when the configuration form for a chat room is received.
void roomConfigurationReceived(const QString &roomJid, const QXmppDataForm &configuration);
+ /// This signal is emitted when the permissions for a chat room are received.
+ void roomPermissionsReceived(const QString &roomJid, const QList<QXmppMucAdminIq::Item> &permissions);
+
void roomParticipantChanged(const QString &roomJid, const QString &nickName);
private slots: