aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-23 08:44:47 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-23 08:44:47 +0000
commit68cde9d6fbd783c528554ef2f767492c8fbbd82a (patch)
tree0ae2a9d1d1a159199d78cf0d5e99cfca9a1c5b71
parentf0ddddce663e30a88c5c5246743145fe8dd8e11a (diff)
downloadqxmpp-68cde9d6fbd783c528554ef2f767492c8fbbd82a.tar.gz
loadAllFromCache impl
-rw-r--r--examples/GuiClient/capabilitiesCollection.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/GuiClient/capabilitiesCollection.cpp b/examples/GuiClient/capabilitiesCollection.cpp
index ea3e5228..44096be9 100644
--- a/examples/GuiClient/capabilitiesCollection.cpp
+++ b/examples/GuiClient/capabilitiesCollection.cpp
@@ -28,6 +28,7 @@
#include "QXmppDiscoveryManager.h"
#include <utils.h>
+#include <QCoreApplication>
#include <QXmlStreamWriter>
#include <QDir>
@@ -92,6 +93,26 @@ void capabilitiesCollection::infoReceived(const QXmppDiscoveryIq& discoIqRcv)
void capabilitiesCollection::loadAllFromCache()
{
+ QDir dirCaps(getSettingsDir(m_client->configuration().jidBare())+ "capabilities/");
+ if(dirCaps.exists())
+ {
+ QStringList list = dirCaps.entryList(QStringList("*.xml"));
+ foreach(QString fileName, list)
+ {
+ QFile file(getSettingsDir(m_client->configuration().jidBare())+ "capabilities/" + fileName);
+ if(file.open(QIODevice::ReadOnly))
+ {
+ QDomDocument doc;
+ if(doc.setContent(&file, true))
+ {
+ QXmppDiscoveryIq discoIq;
+ discoIq.parse(doc.documentElement());
+ m_mapCapabilities[discoIq.queryNode()] = discoIq;
+ QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
+ }
+ }
+ }
+ }
}
void capabilitiesCollection::saveToCache(const QString& nodeVer)