QXmpp: QXmppRosterManager Class Reference

QXmpp Version:0.7.5

- Main Page
- Modules
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

All Classes Functions Variables Enumerations Enumerator Properties Groups
Public Slots | Signals | Public Member Functions | List of all members
QXmppRosterManager Class Reference
Managers

The QXmppRosterManager class provides access to a connected client's roster. More...

`#include <QXmppRosterManager.h>`

Inheritance diagram for QXmppRosterManager:

## Public Slots
bool | acceptSubscription (const QString &bareJid, const QString &reason=QString())
bool | refuseSubscription (const QString &bareJid, const QString &reason=QString())
bool | addItem (const QString &bareJid, const QString &name=QString(), const QSet< QString > &groups=QSet< QString >())
bool | removeItem (const QString &bareJid)
bool | renameItem (const QString &bareJid, const QString &name)
bool | subscribe (const QString &bareJid, const QString &reason=QString())
bool | unsubscribe (const QString &bareJid, const QString &reason=QString())

## Signals
void | rosterReceived ()
void | presenceChanged (const QString &bareJid, const QString &resource)
| This signal is emitted when the presence of a particular bareJid and resource changes.
void | subscriptionReceived (const QString &bareJid)
void | itemAdded (const QString &bareJid)
void | itemChanged (const QString &bareJid)
void | itemRemoved (const QString &bareJid)

## Public Member Functions
| QXmppRosterManager (QXmppClient *stream)
| Constructs a roster manager.
bool | isRosterReceived () const
QStringList | getRosterBareJids () const
QXmppRosterIq::Item | getRosterEntry (const QString &bareJid) const
QStringList | getResources (const QString &bareJid) const
QMap< QString, QXmppPresence > | getAllPresencesForBareJid (const QString &bareJid) const
QXmppPresence | getPresence (const QString &bareJid, const QString &resource) const
Public Member Functions inherited from QXmppClientExtension
| QXmppClientExtension ()
virtual | ~QXmppClientExtension ()
virtual QStringList | discoveryFeatures () const
virtual QList < QXmppDiscoveryIq::Identity > | discoveryIdentities () const
virtual bool | handleStanza (const QDomElement &stanza)=0
| You need to implement this method to process incoming XMPP stanzas.
Public Member Functions inherited from QXmppLoggable
| QXmppLoggable (QObject *parent=0)

## Additional Inherited Members
Protected Member Functions inherited from QXmppClientExtension
QXmppClient * | client ()
virtual void | setClient (QXmppClient *client)

## Detailed Description

The QXmppRosterManager class provides access to a connected client's roster.

Note
  It's object should not be created using it's constructor. Instead QXmppClient::rosterManager() should be used to get the reference of instantiated object this class.

It stores all the Roster and Presence details of all the roster entries (that is all the bareJids) in the client's friend's list. It provides the functionality to get all the bareJids in the client's roster and Roster and Presence details of the same.

After the successful xmpp connection that after the signal QXmppClient::connected() is emitted QXmpp requests for getting the roster. Once QXmpp receives the roster the signal QXmppRosterManager::rosterReceived() is emitted and after that user can use the functions of this class to get roster entries.

Function QXmppRosterManager::isRosterReceived() tells whether the roster has been received or not.

The itemAdded(), itemChanged() and itemRemoved() signals are emitted whenever roster entries are added, changed or removed.

The presenceChanged() signal is emitted whenever the presence for a roster item changes.

## Member Function Documentation

bool QXmppRosterManager::acceptSubscription | ( | const QString & | bareJid,
|  | const QString & | reason = `QString()`
| ) |  |
| slot

Accepts a subscription request.

You can call this method in reply to the subscriptionRequest() signal.

bool QXmppRosterManager::addItem | ( | const QString & | bareJid,
|  | const QString & | name = `QString()`,
|  | const QSet< QString > & | groups = `QSet<QString>()`
| ) |  |
| slot

Adds a new item to the roster without sending any subscription requests.

As a result, the server will initiate a roster push, causing the itemAdded() or itemChanged() signal to be emitted.

Parameters

  bareJid |
  name | Optional name for the item.
  groups | Optional groups for the item.

QMap< QString, QXmppPresence > QXmppRosterManager::getAllPresencesForBareJid | ( | const QString & | bareJid | ) | const

Get all the presences of all the resources of the given bareJid. A bareJid can have multiple resources and each resource will have a presence associated with it.

Parameters

  bareJid | as a QString

Returns
  Map of resource and its respective presence QMap<QString, QXmppPresence>

QXmppPresence QXmppRosterManager::getPresence | ( | const QString & | bareJid,
|  | const QString & | resource
| ) |  | const

Get the presence of the given resource of the given bareJid.

Parameters

  bareJid | as a QString
  resource | as a QString

Returns
  QXmppPresence

QStringList QXmppRosterManager::getResources | ( | const QString & | bareJid | ) | const

Get all the associated resources with the given bareJid.

Parameters

  bareJid | as a QString

Returns
  list of associated resources as a QStringList

QStringList QXmppRosterManager::getRosterBareJids | ( |  | ) | const

Function to get all the bareJids present in the roster.

Returns
  QStringList list of all the bareJids

QXmppRosterIq::Item QXmppRosterManager::getRosterEntry | ( | const QString & | bareJid | ) | const

Returns the roster entry of the given bareJid. If the bareJid is not in the database and empty QXmppRosterIq::Item will be returned.

Parameters

  bareJid | as a QString

bool QXmppRosterManager::isRosterReceived | ( |  | ) | const

Function to check whether the roster has been received or not.

Returns
  true if roster received else false

void QXmppRosterManager::itemAdded | ( | const QString & | bareJid | ) |
| signal

This signal is emitted when the roster entry of a particular bareJid is added as a result of roster push.

void QXmppRosterManager::itemChanged | ( | const QString & | bareJid | ) |
| signal

This signal is emitted when the roster entry of a particular bareJid changes as a result of roster push.

void QXmppRosterManager::itemRemoved | ( | const QString & | bareJid | ) |
| signal

This signal is emitted when the roster entry of a particular bareJid is removed as a result of roster push.

bool QXmppRosterManager::refuseSubscription | ( | const QString & | bareJid,
|  | const QString & | reason = `QString()`
| ) |  |
| slot

Refuses a subscription request.

You can call this method in reply to the subscriptionRequest() signal.

bool QXmppRosterManager::removeItem | ( | const QString & | bareJid | ) |
| slot

Removes a roster item and cancels subscriptions to and from the contact.

As a result, the server will initiate a roster push, causing the itemRemoved() signal to be emitted.

Parameters

  bareJid |

bool QXmppRosterManager::renameItem | ( | const QString & | bareJid,
|  | const QString & | name
| ) |  |
| slot

Renames a roster item.

As a result, the server will initiate a roster push, causing the itemChanged() signal to be emitted.

Parameters

  bareJid |
  name |

void QXmppRosterManager::rosterReceived | ( |  | ) |
| signal

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. One should use getRosterBareJids() and getRosterEntry() only after this signal has been emitted.

bool QXmppRosterManager::subscribe | ( | const QString & | bareJid,
|  | const QString & | reason = `QString()`
| ) |  |
| slot

Requests a subscription to the given contact.

As a result, the server will initiate a roster push, causing the itemAdded() or itemChanged() signal to be emitted.

void QXmppRosterManager::subscriptionReceived | ( | const QString & | bareJid | ) |
| signal

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.

bool QXmppRosterManager::unsubscribe | ( | const QString & | bareJid,
|  | const QString & | reason = `QString()`
| ) |  |
| slot

Removes a subscription to the given contact.

As a result, the server will initiate a roster push, causing the itemChanged() signal to be emitted.

The documentation for this class was generated from the following files:

- QXmppRosterManager.h
- QXmppRosterManager.cpp