diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-23 08:44:47 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-23 08:44:47 +0000 |
| commit | 68cde9d6fbd783c528554ef2f767492c8fbbd82a (patch) | |
| tree | 0ae2a9d1d1a159199d78cf0d5e99cfca9a1c5b71 /examples/GuiClient | |
| parent | f0ddddce663e30a88c5c5246743145fe8dd8e11a (diff) | |
| download | qxmpp-68cde9d6fbd783c528554ef2f767492c8fbbd82a.tar.gz | |
loadAllFromCache impl
Diffstat (limited to 'examples/GuiClient')
| -rw-r--r-- | examples/GuiClient/capabilitiesCollection.cpp | 21 |
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)
|
