aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppVCardManager.cpp
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-03-09 15:48:43 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-03-09 15:48:43 +0000
commitf6c2c215ab8bb438b01d44a99feaf3c0aaf1e9b7 (patch)
tree59212395ac6f33f863cb546ea4fcf2433b36e9a6 /source/QXmppVCardManager.cpp
parentd29ba3eac155af207a453c6e7ec815e4ea549051 (diff)
downloadqxmpp-f6c2c215ab8bb438b01d44a99feaf3c0aaf1e9b7.tar.gz
store the vCard of the connected client
Diffstat (limited to 'source/QXmppVCardManager.cpp')
-rw-r--r--source/QXmppVCardManager.cpp34
1 files changed, 33 insertions, 1 deletions
diff --git a/source/QXmppVCardManager.cpp b/source/QXmppVCardManager.cpp
index 845959f7..c5873071 100644
--- a/source/QXmppVCardManager.cpp
+++ b/source/QXmppVCardManager.cpp
@@ -26,7 +26,7 @@
#include "QXmppUtils.h"
QXmppVCardManager::QXmppVCardManager(QXmppClient* client) :
- QObject(client), m_client(client)
+ QObject(client), m_client(client), m_isClientVCardReceived(false)
{
}
@@ -38,6 +38,38 @@ void QXmppVCardManager::requestVCard(const QString& jid)
void QXmppVCardManager::vCardIqReceived(const QXmppVCard& vcard)
{
+ // self vCard received
+ if(vcard.from().isEmpty())
+ {
+ m_clientVCard = vcard;
+ m_isClientVCardReceived = true;
+ emit clientVCardReceived();
+ }
+
emit vCardReceived(vcard);
}
+const QXmppVCard& QXmppVCardManager::clientVCard() const
+{
+ return m_clientVCard;
+}
+
+void QXmppVCardManager::setClientVCard(const QXmppVCard& clientVCard)
+{
+ m_clientVCard = clientVCard;
+ m_clientVCard.setTo("");
+ m_clientVCard.setFrom("");
+ m_clientVCard.setType(QXmppIq::Set);
+ m_client->sendPacket(m_clientVCard);
+}
+
+void QXmppVCardManager::requestClientVCard()
+{
+ requestVCard();
+}
+
+bool QXmppVCardManager::isClientVCardReceived()
+{
+ return m_isClientVCardReceived;
+}
+