From 5a671a2987f0d905d786587fb700ab6d3e6ddf25 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Sun, 26 Sep 2010 10:56:08 +0000 Subject: vCardManager to vCardCache --- examples/GuiClient/vCardManager.cpp | 141 ------------------------------------ 1 file changed, 141 deletions(-) delete mode 100644 examples/GuiClient/vCardManager.cpp (limited to 'examples/GuiClient/vCardManager.cpp') diff --git a/examples/GuiClient/vCardManager.cpp b/examples/GuiClient/vCardManager.cpp deleted file mode 100644 index 778b7a08..00000000 --- a/examples/GuiClient/vCardManager.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (C) 2008-2010 The QXmpp developers - * - * Author: - * Manjeet Dahiya - * - * 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 "vCardManager.h" -#include "QXmppClient.h" -#include "QXmppUtils.h" -#include "utils.h" -#include "QXmppVCardManager.h" -#include -#include -#include -#include -#include -#include - -vCardManager::vCardManager(QXmppClient* client) : QObject(client), - m_client(client) -{ -} - -void vCardManager::vCardReceived(const QXmppVCardIq& vcard) -{ - QString from = vcard.from(); - if(from.isEmpty() && m_client) - { - from = m_client->configuration().jidBare(); - m_selfFullName = vcard.fullName(); - } - - m_mapBareJidVcard[from] = vcard; - - saveToCache(from); - - emit vCardReadyToUse(from); -} - -bool vCardManager::isVCardAvailable(const QString& bareJid) -{ - return m_mapBareJidVcard.contains(bareJid); -} - -void vCardManager::requestVCard(const QString& bareJid) -{ - if(m_client) - m_client->vCardManager().requestVCard(bareJid); -} - -//TODO not a good way to handle -QXmppVCardIq& vCardManager::getVCard(const QString& bareJid) -{ - return m_mapBareJidVcard[bareJid]; -} - -void vCardManager::saveToCache(const QString& bareJid) -{ - QDir dir; - if(!dir.exists(getSettingsDir(m_client->configuration().jidBare()))) - dir.mkpath(getSettingsDir(m_client->configuration().jidBare())); - - QDir dir2; - if(!dir2.exists(getSettingsDir(m_client->configuration().jidBare())+ "vCards/")) - dir2.mkpath(getSettingsDir(m_client->configuration().jidBare())+ "vCards/"); - - foreach(QString bareJid, m_mapBareJidVcard.keys()) - { - QString fileVCard = getSettingsDir(m_client->configuration().jidBare()) + "vCards/" + bareJid + ".xml"; - QFile file(fileVCard); - - if(file.open(QIODevice::ReadWrite)) - { - QXmlStreamWriter stream(&file); - stream.setAutoFormatting(true); - stream.setAutoFormattingIndent(2); - m_mapBareJidVcard[bareJid].toXml(&stream); - file.close(); - } - } -} - -void vCardManager::loadAllFromCache() -{ - m_mapBareJidVcard.clear(); - - QDir dirVCards(getSettingsDir(m_client->configuration().jidBare())+ "vCards/"); - if(dirVCards.exists()) - { - QStringList list = dirVCards.entryList(QStringList("*.xml")); - foreach(QString fileName, list) - { - QFile file(getSettingsDir(m_client->configuration().jidBare())+ "vCards/" + fileName); - QString bareJid = fileName; - bareJid.chop(4); - if(file.open(QIODevice::ReadOnly)) - { - QDomDocument doc; - if(doc.setContent(&file, true)) - { - QXmppVCardIq vCardIq; - vCardIq.parse(doc.documentElement()); - m_mapBareJidVcard[bareJid] = vCardIq; - QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents); - } - } - } - } -} - -QString vCardManager::getSelfFullName() -{ - return m_selfFullName; -} - -// this should return scaled image -QImage vCardManager::getAvatar(const QString& bareJid) const -{ - if(m_mapBareJidVcard.contains(bareJid)) - return getImageFromByteArray(m_mapBareJidVcard[bareJid].photo()); - else - return QImage(); -} -- cgit v1.2.3