From 4b36b027f19fccb3cca059edeecf8954fca91b5c Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Mon, 23 Jan 2012 18:43:38 +0000 Subject: add a property to access managed rooms --- src/QXmppMucManager.cpp | 10 ++++++++++ src/QXmppMucManager.h | 5 +++++ 2 files changed, 15 insertions(+) (limited to 'src') diff --git a/src/QXmppMucManager.cpp b/src/QXmppMucManager.cpp index bc4a0468..3f1cdef3 100644 --- a/src/QXmppMucManager.cpp +++ b/src/QXmppMucManager.cpp @@ -78,10 +78,20 @@ QXmppMucRoom *QXmppMucManager::addRoom(const QString &roomJid) d->rooms.insert(roomJid, room); connect(room, SIGNAL(destroyed(QObject*)), this, SLOT(_q_roomDestroyed(QObject*))); + + // emit signal + emit roomAdded(room); } return room; } +/// Returns the list of managed rooms. + +QList QXmppMucManager::rooms() const +{ + return d->rooms.values(); +} + void QXmppMucManager::setClient(QXmppClient* client) { bool check; diff --git a/src/QXmppMucManager.h b/src/QXmppMucManager.h index 61242219..3953a0fc 100644 --- a/src/QXmppMucManager.h +++ b/src/QXmppMucManager.h @@ -58,12 +58,14 @@ class QXmppMucRoomPrivate; class QXmppMucManager : public QXmppClientExtension { Q_OBJECT + Q_PROPERTY(QList rooms READ rooms NOTIFY roomAdded) public: QXmppMucManager(); ~QXmppMucManager(); QXmppMucRoom *addRoom(const QString &roomJid); + QList rooms() const; /// \cond QStringList discoveryFeatures() const; @@ -74,6 +76,9 @@ 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); + /// This signal is emitted when a new room is managed. + void roomAdded(QXmppMucRoom *room); + protected: /// \cond void setClient(QXmppClient* client); -- cgit v1.2.3