aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-05-14 12:13:06 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-05-14 12:13:06 +0200
commit3a46f6b4c7bc3c601a9628d0fc47a0eb05d9cd9b (patch)
tree32c2072841e3ecb26e31499e8f0cb172d812faa3 /src
parentdf751de5222e8dd564f406470b48a695ec6eb945 (diff)
downloadqxmpp-3a46f6b4c7bc3c601a9628d0fc47a0eb05d9cd9b.tar.gz
hide QXmppVCardManager internals
Diffstat (limited to 'src')
-rw-r--r--src/client/QXmppVCardManager.cpp38
-rw-r--r--src/client/QXmppVCardManager.h12
2 files changed, 32 insertions, 18 deletions
diff --git a/src/client/QXmppVCardManager.cpp b/src/client/QXmppVCardManager.cpp
index 732b4244..b2d0e19c 100644
--- a/src/client/QXmppVCardManager.cpp
+++ b/src/client/QXmppVCardManager.cpp
@@ -25,12 +25,25 @@
#include "QXmppClient.h"
#include "QXmppConstants.h"
#include "QXmppUtils.h"
+#include "QXmppVCardIq.h"
#include "QXmppVCardManager.h"
+class QXmppVCardManagerPrivate
+{
+public:
+ QXmppVCardIq clientVCard;
+ bool isClientVCardReceived;
+};
+
QXmppVCardManager::QXmppVCardManager()
- : QXmppClientExtension(),
- m_isClientVCardReceived(false)
+ : d(new QXmppVCardManagerPrivate)
+{
+ d->isClientVCardReceived = false;
+}
+
+QXmppVCardManager::~QXmppVCardManager()
{
+ delete d;
}
QStringList QXmppVCardManager::discoveryFeatures() const
@@ -46,10 +59,9 @@ bool QXmppVCardManager::handleStanza(const QDomElement &element)
QXmppVCardIq vCardIq;
vCardIq.parse(element);
- if(vCardIq.from().isEmpty())
- {
- m_clientVCard = vCardIq;
- m_isClientVCardReceived = true;
+ if (vCardIq.from().isEmpty()) {
+ d->clientVCard = vCardIq;
+ d->isClientVCardReceived = true;
emit clientVCardReceived();
}
@@ -81,7 +93,7 @@ QString QXmppVCardManager::requestVCard(const QString& jid)
///
const QXmppVCardIq& QXmppVCardManager::clientVCard() const
{
- return m_clientVCard;
+ return d->clientVCard;
}
/// Sets the vCard of the connected client.
@@ -90,11 +102,11 @@ const QXmppVCardIq& QXmppVCardManager::clientVCard() const
///
void QXmppVCardManager::setClientVCard(const QXmppVCardIq& clientVCard)
{
- m_clientVCard = clientVCard;
- m_clientVCard.setTo("");
- m_clientVCard.setFrom("");
- m_clientVCard.setType(QXmppIq::Set);
- client()->sendPacket(m_clientVCard);
+ d->clientVCard = clientVCard;
+ d->clientVCard.setTo("");
+ d->clientVCard.setFrom("");
+ d->clientVCard.setType(QXmppIq::Set);
+ client()->sendPacket(d->clientVCard);
}
/// This function requests the server for vCard of the connected user itself.
@@ -112,5 +124,5 @@ QString QXmppVCardManager::requestClientVCard()
///
bool QXmppVCardManager::isClientVCardReceived() const
{
- return m_isClientVCardReceived;
+ return d->isClientVCardReceived;
}
diff --git a/src/client/QXmppVCardManager.h b/src/client/QXmppVCardManager.h
index 1e141678..28d1486e 100644
--- a/src/client/QXmppVCardManager.h
+++ b/src/client/QXmppVCardManager.h
@@ -25,10 +25,10 @@
#ifndef QXMPPVCARDMANAGER_H
#define QXMPPVCARDMANAGER_H
-#include <QObject>
-
#include "QXmppClientExtension.h"
-#include "QXmppVCardIq.h"
+
+class QXmppVCardIq;
+class QXmppVCardManagerPrivate;
/// \brief The QXmppVCardManager class gets/sets XMPP vCards. It is an
/// implementation of XEP-0054: vcard-temp.
@@ -59,10 +59,13 @@ class QXMPP_EXPORT QXmppVCardManager : public QXmppClientExtension
public:
QXmppVCardManager();
+ ~QXmppVCardManager();
+
QString requestVCard(const QString& bareJid = "");
const QXmppVCardIq& clientVCard() const;
void setClientVCard(const QXmppVCardIq&);
+
QString requestClientVCard();
bool isClientVCardReceived() const;
@@ -81,8 +84,7 @@ signals:
void clientVCardReceived();
private:
- QXmppVCardIq m_clientVCard; ///< Stores the vCard of the connected client
- bool m_isClientVCardReceived;
+ QXmppVCardManagerPrivate *d;
};
#endif // QXMPPVCARDMANAGER_H