From 6bee004d52df797e402e9a0c6feb21179f9389e6 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Wed, 18 May 2011 08:15:45 +0000 Subject: add signals and slots for managing subscriptions (Closes: #92) --- src/QXmppRosterManager.h | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'src/QXmppRosterManager.h') diff --git a/src/QXmppRosterManager.h b/src/QXmppRosterManager.h index 2ddf6445..92655bc3 100644 --- a/src/QXmppRosterManager.h +++ b/src/QXmppRosterManager.h @@ -22,20 +22,17 @@ * */ -#ifndef QXMPPROSTER_H -#define QXMPPROSTER_H +#ifndef QXMPPROSTERMANAGER_H +#define QXMPPROSTERMANAGER_H #include #include -#include #include #include "QXmppClientExtension.h" #include "QXmppPresence.h" #include "QXmppRosterIq.h" -class QXmppRosterIq; - /// \brief The QXmppRosterManager class provides access to a connected client's roster. /// /// \note It's object should not be created using it's constructor. Instead @@ -72,7 +69,6 @@ public: bool isRosterReceived(); QStringList getRosterBareJids() const; QXmppRosterIq::Item getRosterEntry(const QString& bareJid) const; - void removeRosterEntry(const QString &bareJid); QStringList getResources(const QString& bareJid) const; QMap getAllPresencesForBareJid( @@ -84,12 +80,18 @@ public: bool handleStanza(const QDomElement &element); /// \endcond - // deprecated in release 0.2.0 + // deprecated in release 0.4.0 /// \cond - QMap Q_DECL_DEPRECATED getRosterEntries() const; - QMap > Q_DECL_DEPRECATED getAllPresences() const; + void Q_DECL_DEPRECATED removeRosterEntry(const QString &bareJid); /// \endcond +public slots: + bool acceptSubscription(const QString &bareJid); + bool refuseSubscription(const QString &bareJid); + bool removeItem(const QString &bareJid); + bool subscribe(const QString &bareJid); + bool unsubscribe(const QString &bareJid); + signals: /// This signal is emitted when the Roster IQ is received after a successful /// connection. That is the roster entries are empty before this signal is emitted. @@ -105,6 +107,15 @@ signals: void rosterChanged(const QString& bareJid); /// \endcond + /// This signal is emitted when a contact asks to subscribe to your presence. + /// + /// You can either accept the request by calling acceptSubscription() or refuse it + /// by calling refuseSubscription(). + /// + /// \note If you set QXmppConfiguration::autoAcceptSubscriptions() to true, this + /// signal will not be emitted. + void subscriptionReceived(const QString& bareJid); + /// This signal is emitted when the roster entry of a particular bareJid is /// added as a result of roster push. void itemAdded(const QString& bareJid); -- cgit v1.2.3