From kde-commits Mon Nov 30 22:33:54 2009 From: Dario Freddi Date: Mon, 30 Nov 2009 22:33:54 +0000 To: kde-commits Subject: playground/sysadmin/shaman/shaman/src Message-Id: <1259620434.833611.32598.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=125962045425108 SVN commit 1056815 by dafre: Finish the serializer Signed-off-by: Dario Freddi M +32 -3 QueueSerializer.cpp M +1 -1 QueueSerializer.h --- trunk/playground/sysadmin/shaman/shaman/src/QueueSerializer.cpp #1056814:1056815 @@ -38,14 +38,24 @@ return rethash; } -void QueueSerializer::saveQueueToConfigGroup(const KConfigGroup& group) +void QueueSerializer::saveQueueToConfigGroup(KConfigGroup *group) { + QHash< QString, int > serialized = queueSerialized(); + QHash< QString, int >::const_iterator i; + for (i = serialized.constBegin(); i != serialized.constEnd(); ++i) { + group->writeEntry(i.key(), i.value()); + } + + group->config()->sync(); } void QueueSerializer::saveQueueToFile(const KUrl& path) { - + KSharedConfig::Ptr config = KSharedConfig::openConfig(path.pathOrUrl()); + KConfigGroup group(config, "QueueSerialized"); + saveQueueToConfigGroup(&group); + config.data()->sync(); } void QueueSerializer::loadQueueFromSerialized(const QHash< QString, int >& queue) @@ -63,11 +73,30 @@ void QueueSerializer::loadQueueFromConfigGroup(const KConfigGroup& group) { + QMap entries = group.entryMap(); + QHash rethash; + QMap::const_iterator i; + for (i = entries.constBegin(); i != entries.constEnd(); ++i) { + // Just guessing, I wonder why it is a map + int res = group.readEntry(i.key(), -1); + if (res != -1) { + rethash.insert(i.key(), res); + } + + res = group.readEntry(i.value(), -1); + if (res != -1) { + rethash.insert(i.value(), res); + } + } + + loadQueueFromSerialized(rethash); } void QueueSerializer::loadQueueFromFile(const KUrl& path) { - + KSharedConfig::Ptr config = KSharedConfig::openConfig(path.pathOrUrl()); + KConfigGroup group(config, "QueueSerialized"); + loadQueueFromConfigGroup(group); } --- trunk/playground/sysadmin/shaman/shaman/src/QueueSerializer.h #1056814:1056815 @@ -28,7 +28,7 @@ { QHash queueSerialized(); void saveQueueToFile(const KUrl &path); - void saveQueueToConfigGroup(const KConfigGroup &group); + void saveQueueToConfigGroup(KConfigGroup *group); void loadQueueFromSerialized(const QHash &queue); void loadQueueFromFile(const KUrl &path);