From f6c2c215ab8bb438b01d44a99feaf3c0aaf1e9b7 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Tue, 9 Mar 2010 15:48:43 +0000 Subject: store the vCard of the connected client --- source/QXmppVCardManager.cpp | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'source/QXmppVCardManager.cpp') 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; +} + -- cgit v1.2.3