From bfe46f2c3a0f52c32fe53cd87ab329556fc8619c Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Mon, 19 Jul 2010 11:21:20 +0000 Subject: rename QXmppRoster.[cpp|h] to QXmppRosterManager.[cpp|h] --- source/QXmppClient.cpp | 2 +- source/QXmppRoster.cpp | 269 ------------------------------------------ source/QXmppRoster.h | 122 ------------------- source/QXmppRosterManager.cpp | 269 ++++++++++++++++++++++++++++++++++++++++++ source/QXmppRosterManager.h | 122 +++++++++++++++++++ source/source.pro | 4 +- 6 files changed, 394 insertions(+), 394 deletions(-) delete mode 100644 source/QXmppRoster.cpp delete mode 100644 source/QXmppRoster.h create mode 100644 source/QXmppRosterManager.cpp create mode 100644 source/QXmppRosterManager.h (limited to 'source') diff --git a/source/QXmppClient.cpp b/source/QXmppClient.cpp index fa4836d9..c0e06a31 100644 --- a/source/QXmppClient.cpp +++ b/source/QXmppClient.cpp @@ -34,7 +34,7 @@ #include "QXmppReconnectionManager.h" #include "QXmppRpcIq.h" #include "QXmppRemoteMethod.h" -#include "QXmppRoster.h" +#include "QXmppRosterManager.h" #include "QXmppUtils.h" #include "QXmppTransferManager.h" #include "QXmppVCardManager.h" diff --git a/source/QXmppRoster.cpp b/source/QXmppRoster.cpp deleted file mode 100644 index 244f9fb0..00000000 --- a/source/QXmppRoster.cpp +++ /dev/null @@ -1,269 +0,0 @@ -/* - * Copyright (C) 2008-2010 Manjeet Dahiya - * - * Authors: - * Manjeet Dahiya - * Jeremy Lainé - * - * Source: - * http://code.google.com/p/qxmpp - * - * This file is a part of QXmpp library. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - */ - - -#include "QXmppRoster.h" -#include "QXmppUtils.h" -#include "QXmppRosterIq.h" -#include "QXmppPresence.h" -#include "QXmppStream.h" - -QXmppRosterManager::QXmppRosterManager(QXmppStream* stream, QObject *parent) - : QObject(parent), - m_stream(stream), - m_isRosterReceived(false) -{ - bool check = QObject::connect(m_stream, SIGNAL(xmppConnected()), - this, SLOT(connected())); - Q_ASSERT(check); - - check = QObject::connect(m_stream, SIGNAL(disconnected()), - this, SLOT(disconnected())); - Q_ASSERT(check); - - check = QObject::connect(m_stream, SIGNAL(presenceReceived(const QXmppPresence&)), - this, SLOT(presenceReceived(const QXmppPresence&))); - Q_ASSERT(check); - - check = QObject::connect(m_stream, SIGNAL(rosterIqReceived(const QXmppRosterIq&)), - this, SLOT(rosterIqReceived(const QXmppRosterIq&))); - Q_ASSERT(check); -} - -QXmppRosterManager::~QXmppRosterManager() -{ - -} - -/// Upon XMPP connection, request the roster. -/// -void QXmppRosterManager::connected() -{ - QXmppRosterIq roster; - roster.setType(QXmppIq::Get); - roster.setFrom(m_stream->configuration().jid()); - m_rosterReqId = roster.id(); - m_stream->sendPacket(roster); -} - -void QXmppRosterManager::disconnected() -{ - m_entries = QMap(); - m_presences = QMap >(); - m_isRosterReceived = false; -} - -void QXmppRosterManager::presenceReceived(const QXmppPresence& presence) -{ - QString jid = presence.from(); - QString bareJid = jidToBareJid(jid); - QString resource = jidToResource(jid); - - if (bareJid.isEmpty()) - return; - - switch(presence.type()) - { - case QXmppPresence::Available: - m_presences[bareJid][resource] = presence; - emit presenceChanged(bareJid, resource); - break; - case QXmppPresence::Unavailable: - m_presences[bareJid].remove(resource); - emit presenceChanged(bareJid, resource); - break; - case QXmppPresence::Subscribe: - if (m_stream->configuration().autoAcceptSubscriptions()) - m_stream->acceptSubscriptionRequest(jid); - break; - default: - break; - } -} - -void QXmppRosterManager::rosterIqReceived(const QXmppRosterIq& rosterIq) -{ - bool isInitial = (m_rosterReqId == rosterIq.id()); - - switch(rosterIq.type()) - { - case QXmppIq::Set: - { - // send result iq - QXmppIq returnIq(QXmppIq::Result); - returnIq.setId(rosterIq.id()); - m_stream->sendPacket(returnIq); - - // store updated entries and notify changes - QList items = rosterIq.items(); - for (int i = 0; i < items.count(); i++) - { - QString bareJid = items.at(i).bareJid(); - m_entries[bareJid] = items.at(i); - emit rosterChanged(bareJid); - } - - // when contact subscribes user...user sends 'subscribed' presence - // then after recieving following iq user requests contact for subscription - - // check the "from" is newly added in the roster...and remove this ask thing...and do this for all items - if(rosterIq.items().at(0).subscriptionType() == - QXmppRosterIq::Item::From && rosterIq.items().at(0). - subscriptionStatus().isEmpty()) - m_stream->sendSubscriptionRequest(rosterIq.items().at(0).bareJid()); - } - break; - case QXmppIq::Result: - { - QList items = rosterIq.items(); - for(int i = 0; i < items.count(); ++i) - { - QString bareJid = items.at(i).bareJid(); - m_entries[bareJid] = items.at(i); - if (!isInitial) - emit rosterChanged(bareJid); - } - if (isInitial) - { - m_isRosterReceived = true; - emit rosterReceived(); - } - break; - } - default: - break; - } -} - -/// Function to get all the bareJids present in the roster. -/// -/// \return QStringList list of all the bareJids -/// - -QStringList QXmppRosterManager::getRosterBareJids() const -{ - return m_entries.keys(); -} - -/// Returns the roster entry of the given bareJid. If the bareJid is not in the -/// database and empty QXmppRosterManager::QXmppRosterEntry will be returned. -/// -/// \param bareJid as a QString -/// \return QXmppRosterManager::QXmppRosterEntry -/// - -QXmppRosterManager::QXmppRosterEntry QXmppRosterManager::getRosterEntry( - const QString& bareJid) const -{ - // will return blank entry if bareJid does'nt exist - if(m_entries.contains(bareJid)) - return m_entries.value(bareJid); - else - return QXmppRosterManager::QXmppRosterEntry(); -} - -/// [OBSOLETE] Returns all the roster entries in the database. -/// -/// \return Map of bareJid and its respective QXmppRosterManager::QXmppRosterEntry -/// -/// \note This function is obsolete, use getRosterBareJids() and -/// getRosterEntry() to get all the roster entries. -/// - -QMap - QXmppRosterManager::getRosterEntries() const -{ - return m_entries; -} - -/// Get all the associated resources with the given bareJid. -/// -/// \param bareJid as a QString -/// \return list of associated resources as a QStringList -/// - -QStringList QXmppRosterManager::getResources(const QString& bareJid) const -{ - if(m_presences.contains(bareJid)) - return m_presences[bareJid].keys(); - else - return QStringList(); -} - -/// 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. -/// -/// \param bareJid as a QString -/// \return Map of resource and its respective presence QMap -/// - -QMap QXmppRosterManager::getAllPresencesForBareJid( - const QString& bareJid) const -{ - if(m_presences.contains(bareJid)) - return m_presences[bareJid]; - else - return QMap(); -} - -/// Get the presence of the given resource of the given bareJid. -/// -/// \param bareJid as a QString -/// \param resource as a QString -/// \return QXmppPresence -/// - -QXmppPresence QXmppRosterManager::getPresence(const QString& bareJid, - const QString& resource) const -{ - if(m_presences.contains(bareJid) && m_presences[bareJid].contains(resource)) - return m_presences[bareJid][resource]; - else - return QXmppPresence(); -} - -/// [OBSOLETE] Returns all the presence entries in the database. -/// -/// \return Map of bareJid and map of resource and its presence that is -/// QMap > -/// -/// \note This function is obsolete, use getRosterBareJids(), getResources() -/// and getPresence() or getAllPresencesForBareJid() -/// to get all the presence entries. - -QMap > QXmppRosterManager::getAllPresences() const -{ - return m_presences; -} - -/// Function to check whether the roster has been received or not. -/// -/// \return true if roster received else false - -bool QXmppRosterManager::isRosterReceived() -{ - return m_isRosterReceived; -} - diff --git a/source/QXmppRoster.h b/source/QXmppRoster.h deleted file mode 100644 index 26f9daa2..00000000 --- a/source/QXmppRoster.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (C) 2008-2010 Manjeet Dahiya - * - * Authors: - * Manjeet Dahiya - * Jeremy Lainé - * - * Source: - * http://code.google.com/p/qxmpp - * - * This file is a part of QXmpp library. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - */ - -#ifndef QXMPPROSTER_H -#define QXMPPROSTER_H - -#include -#include -#include -#include - -#include "QXmppRosterIq.h" - -class QXmppRosterIq; -class QXmppPresence; -class QXmppStream; - -/// \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 -/// 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 sucessfull 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. -/// -/// Signals presenceChanged() or rosterChanged() are emitted whenever presence -/// or roster changes respectively. -/// -/// \ingroup Managers - -class QXmppRosterManager : public QObject -{ - Q_OBJECT - -public: - // FIXME : is this class really necessary? - typedef QXmppRosterIq::Item QXmppRosterEntry; - - QXmppRosterManager(QXmppStream* stream, QObject *parent = 0); - ~QXmppRosterManager(); - - bool isRosterReceived(); - QStringList getRosterBareJids() const; - QXmppRosterManager::QXmppRosterEntry getRosterEntry(const QString& bareJid) const; - - QStringList getResources(const QString& bareJid) const; - QMap getAllPresencesForBareJid( - const QString& bareJid) const; - QXmppPresence getPresence(const QString& bareJid, - const QString& resource) const; - - - /// \cond - QMap Q_DECL_DEPRECATED getRosterEntries() const; - QMap > Q_DECL_DEPRECATED getAllPresences() const; - /// \endcond - -signals: - /// This signal is emitted when the Roster IQ is received after a successful - /// connection. - void rosterReceived(); - - /// This signal is emitted when the presence of a particular bareJid and resource changes. - void presenceChanged(const QString& bareJid, const QString& resource); - - /// This signal is emitted when the roster entry of a particular bareJid changes. - void rosterChanged(const QString& bareJid); - -private: - //reverse pointer to stream - QXmppStream* m_stream; - //map of bareJid and its rosterEntry - QMap m_entries; - // map of resources of the jid and map of resouces and presences - QMap > m_presences; - // flag to store that QXmppRoster has been populated - bool m_isRosterReceived; - // id of the initial roster request - QString m_rosterReqId; - -private slots: - void connected(); - void disconnected(); - void presenceReceived(const QXmppPresence&); - void rosterIqReceived(const QXmppRosterIq&); -}; - -// FIXME : remove this after next release -#define QXmppRoster QXmppRosterManager -#endif // QXMPPROSTER_H diff --git a/source/QXmppRosterManager.cpp b/source/QXmppRosterManager.cpp new file mode 100644 index 00000000..91882d8a --- /dev/null +++ b/source/QXmppRosterManager.cpp @@ -0,0 +1,269 @@ +/* + * Copyright (C) 2008-2010 Manjeet Dahiya + * + * Authors: + * Manjeet Dahiya + * Jeremy Lainé + * + * Source: + * http://code.google.com/p/qxmpp + * + * This file is a part of QXmpp library. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + */ + + +#include "QXmppRosterManager.h" +#include "QXmppUtils.h" +#include "QXmppRosterIq.h" +#include "QXmppPresence.h" +#include "QXmppStream.h" + +QXmppRosterManager::QXmppRosterManager(QXmppStream* stream, QObject *parent) + : QObject(parent), + m_stream(stream), + m_isRosterReceived(false) +{ + bool check = QObject::connect(m_stream, SIGNAL(xmppConnected()), + this, SLOT(connected())); + Q_ASSERT(check); + + check = QObject::connect(m_stream, SIGNAL(disconnected()), + this, SLOT(disconnected())); + Q_ASSERT(check); + + check = QObject::connect(m_stream, SIGNAL(presenceReceived(const QXmppPresence&)), + this, SLOT(presenceReceived(const QXmppPresence&))); + Q_ASSERT(check); + + check = QObject::connect(m_stream, SIGNAL(rosterIqReceived(const QXmppRosterIq&)), + this, SLOT(rosterIqReceived(const QXmppRosterIq&))); + Q_ASSERT(check); +} + +QXmppRosterManager::~QXmppRosterManager() +{ + +} + +/// Upon XMPP connection, request the roster. +/// +void QXmppRosterManager::connected() +{ + QXmppRosterIq roster; + roster.setType(QXmppIq::Get); + roster.setFrom(m_stream->configuration().jid()); + m_rosterReqId = roster.id(); + m_stream->sendPacket(roster); +} + +void QXmppRosterManager::disconnected() +{ + m_entries = QMap(); + m_presences = QMap >(); + m_isRosterReceived = false; +} + +void QXmppRosterManager::presenceReceived(const QXmppPresence& presence) +{ + QString jid = presence.from(); + QString bareJid = jidToBareJid(jid); + QString resource = jidToResource(jid); + + if (bareJid.isEmpty()) + return; + + switch(presence.type()) + { + case QXmppPresence::Available: + m_presences[bareJid][resource] = presence; + emit presenceChanged(bareJid, resource); + break; + case QXmppPresence::Unavailable: + m_presences[bareJid].remove(resource); + emit presenceChanged(bareJid, resource); + break; + case QXmppPresence::Subscribe: + if (m_stream->configuration().autoAcceptSubscriptions()) + m_stream->acceptSubscriptionRequest(jid); + break; + default: + break; + } +} + +void QXmppRosterManager::rosterIqReceived(const QXmppRosterIq& rosterIq) +{ + bool isInitial = (m_rosterReqId == rosterIq.id()); + + switch(rosterIq.type()) + { + case QXmppIq::Set: + { + // send result iq + QXmppIq returnIq(QXmppIq::Result); + returnIq.setId(rosterIq.id()); + m_stream->sendPacket(returnIq); + + // store updated entries and notify changes + QList items = rosterIq.items(); + for (int i = 0; i < items.count(); i++) + { + QString bareJid = items.at(i).bareJid(); + m_entries[bareJid] = items.at(i); + emit rosterChanged(bareJid); + } + + // when contact subscribes user...user sends 'subscribed' presence + // then after recieving following iq user requests contact for subscription + + // check the "from" is newly added in the roster...and remove this ask thing...and do this for all items + if(rosterIq.items().at(0).subscriptionType() == + QXmppRosterIq::Item::From && rosterIq.items().at(0). + subscriptionStatus().isEmpty()) + m_stream->sendSubscriptionRequest(rosterIq.items().at(0).bareJid()); + } + break; + case QXmppIq::Result: + { + QList items = rosterIq.items(); + for(int i = 0; i < items.count(); ++i) + { + QString bareJid = items.at(i).bareJid(); + m_entries[bareJid] = items.at(i); + if (!isInitial) + emit rosterChanged(bareJid); + } + if (isInitial) + { + m_isRosterReceived = true; + emit rosterReceived(); + } + break; + } + default: + break; + } +} + +/// Function to get all the bareJids present in the roster. +/// +/// \return QStringList list of all the bareJids +/// + +QStringList QXmppRosterManager::getRosterBareJids() const +{ + return m_entries.keys(); +} + +/// Returns the roster entry of the given bareJid. If the bareJid is not in the +/// database and empty QXmppRosterManager::QXmppRosterEntry will be returned. +/// +/// \param bareJid as a QString +/// \return QXmppRosterManager::QXmppRosterEntry +/// + +QXmppRosterManager::QXmppRosterEntry QXmppRosterManager::getRosterEntry( + const QString& bareJid) const +{ + // will return blank entry if bareJid does'nt exist + if(m_entries.contains(bareJid)) + return m_entries.value(bareJid); + else + return QXmppRosterManager::QXmppRosterEntry(); +} + +/// [OBSOLETE] Returns all the roster entries in the database. +/// +/// \return Map of bareJid and its respective QXmppRosterManager::QXmppRosterEntry +/// +/// \note This function is obsolete, use getRosterBareJids() and +/// getRosterEntry() to get all the roster entries. +/// + +QMap + QXmppRosterManager::getRosterEntries() const +{ + return m_entries; +} + +/// Get all the associated resources with the given bareJid. +/// +/// \param bareJid as a QString +/// \return list of associated resources as a QStringList +/// + +QStringList QXmppRosterManager::getResources(const QString& bareJid) const +{ + if(m_presences.contains(bareJid)) + return m_presences[bareJid].keys(); + else + return QStringList(); +} + +/// 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. +/// +/// \param bareJid as a QString +/// \return Map of resource and its respective presence QMap +/// + +QMap QXmppRosterManager::getAllPresencesForBareJid( + const QString& bareJid) const +{ + if(m_presences.contains(bareJid)) + return m_presences[bareJid]; + else + return QMap(); +} + +/// Get the presence of the given resource of the given bareJid. +/// +/// \param bareJid as a QString +/// \param resource as a QString +/// \return QXmppPresence +/// + +QXmppPresence QXmppRosterManager::getPresence(const QString& bareJid, + const QString& resource) const +{ + if(m_presences.contains(bareJid) && m_presences[bareJid].contains(resource)) + return m_presences[bareJid][resource]; + else + return QXmppPresence(); +} + +/// [OBSOLETE] Returns all the presence entries in the database. +/// +/// \return Map of bareJid and map of resource and its presence that is +/// QMap > +/// +/// \note This function is obsolete, use getRosterBareJids(), getResources() +/// and getPresence() or getAllPresencesForBareJid() +/// to get all the presence entries. + +QMap > QXmppRosterManager::getAllPresences() const +{ + return m_presences; +} + +/// Function to check whether the roster has been received or not. +/// +/// \return true if roster received else false + +bool QXmppRosterManager::isRosterReceived() +{ + return m_isRosterReceived; +} + diff --git a/source/QXmppRosterManager.h b/source/QXmppRosterManager.h new file mode 100644 index 00000000..26f9daa2 --- /dev/null +++ b/source/QXmppRosterManager.h @@ -0,0 +1,122 @@ +/* + * Copyright (C) 2008-2010 Manjeet Dahiya + * + * Authors: + * Manjeet Dahiya + * Jeremy Lainé + * + * Source: + * http://code.google.com/p/qxmpp + * + * This file is a part of QXmpp library. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + */ + +#ifndef QXMPPROSTER_H +#define QXMPPROSTER_H + +#include +#include +#include +#include + +#include "QXmppRosterIq.h" + +class QXmppRosterIq; +class QXmppPresence; +class QXmppStream; + +/// \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 +/// 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 sucessfull 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. +/// +/// Signals presenceChanged() or rosterChanged() are emitted whenever presence +/// or roster changes respectively. +/// +/// \ingroup Managers + +class QXmppRosterManager : public QObject +{ + Q_OBJECT + +public: + // FIXME : is this class really necessary? + typedef QXmppRosterIq::Item QXmppRosterEntry; + + QXmppRosterManager(QXmppStream* stream, QObject *parent = 0); + ~QXmppRosterManager(); + + bool isRosterReceived(); + QStringList getRosterBareJids() const; + QXmppRosterManager::QXmppRosterEntry getRosterEntry(const QString& bareJid) const; + + QStringList getResources(const QString& bareJid) const; + QMap getAllPresencesForBareJid( + const QString& bareJid) const; + QXmppPresence getPresence(const QString& bareJid, + const QString& resource) const; + + + /// \cond + QMap Q_DECL_DEPRECATED getRosterEntries() const; + QMap > Q_DECL_DEPRECATED getAllPresences() const; + /// \endcond + +signals: + /// This signal is emitted when the Roster IQ is received after a successful + /// connection. + void rosterReceived(); + + /// This signal is emitted when the presence of a particular bareJid and resource changes. + void presenceChanged(const QString& bareJid, const QString& resource); + + /// This signal is emitted when the roster entry of a particular bareJid changes. + void rosterChanged(const QString& bareJid); + +private: + //reverse pointer to stream + QXmppStream* m_stream; + //map of bareJid and its rosterEntry + QMap m_entries; + // map of resources of the jid and map of resouces and presences + QMap > m_presences; + // flag to store that QXmppRoster has been populated + bool m_isRosterReceived; + // id of the initial roster request + QString m_rosterReqId; + +private slots: + void connected(); + void disconnected(); + void presenceReceived(const QXmppPresence&); + void rosterIqReceived(const QXmppRosterIq&); +}; + +// FIXME : remove this after next release +#define QXmppRoster QXmppRosterManager +#endif // QXMPPROSTER_H diff --git a/source/source.pro b/source/source.pro index f00d91c9..29183565 100644 --- a/source/source.pro +++ b/source/source.pro @@ -42,8 +42,8 @@ HEADERS += QXmppUtils.h \ QXmppPacket.h \ QXmppPingIq.h \ QXmppPresence.h \ - QXmppRoster.h \ QXmppRosterIq.h \ + QXmppRosterManager.h \ QXmppSession.h \ QXmppSocks.h \ QXmppStanza.h \ @@ -85,8 +85,8 @@ SOURCES += QXmppUtils.cpp \ QXmppPacket.cpp \ QXmppPingIq.cpp \ QXmppPresence.cpp \ - QXmppRoster.cpp \ QXmppRosterIq.cpp \ + QXmppRosterManager.cpp \ QXmppSession.cpp \ QXmppSocks.cpp \ QXmppStanza.cpp \ -- cgit v1.2.3