aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-01-23 18:43:38 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2012-01-23 18:43:38 +0000
commit4b36b027f19fccb3cca059edeecf8954fca91b5c (patch)
treed92e19efd9ff75266d563e55fc15966a17cfa0ed /src
parent2eb90c28083e1bff46da4e58b228353ce2bb078d (diff)
downloadqxmpp-4b36b027f19fccb3cca059edeecf8954fca91b5c.tar.gz
add a property to access managed rooms
Diffstat (limited to 'src')
-rw-r--r--src/QXmppMucManager.cpp10
-rw-r--r--src/QXmppMucManager.h5
2 files changed, 15 insertions, 0 deletions
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<QXmppMucRoom*> 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<QXmppMucRoom*> rooms READ rooms NOTIFY roomAdded)
public:
QXmppMucManager();
~QXmppMucManager();
QXmppMucRoom *addRoom(const QString &roomJid);
+ QList<QXmppMucRoom*> 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);