diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-03-09 15:48:43 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-03-09 15:48:43 +0000 |
| commit | f6c2c215ab8bb438b01d44a99feaf3c0aaf1e9b7 (patch) | |
| tree | 59212395ac6f33f863cb546ea4fcf2433b36e9a6 /source/QXmppVCardManager.cpp | |
| parent | d29ba3eac155af207a453c6e7ec815e4ea549051 (diff) | |
| download | qxmpp-f6c2c215ab8bb438b01d44a99feaf3c0aaf1e9b7.tar.gz | |
store the vCard of the connected client
Diffstat (limited to 'source/QXmppVCardManager.cpp')
| -rw-r--r-- | source/QXmppVCardManager.cpp | 34 |
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; +} + |
