[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/sysadmin/shaman/shaman/src
From:       Dario Freddi <drf () kde ! org>
Date:       2009-11-30 22:33:54
Message-ID: 1259620434.833611.32598.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1056815 by dafre:

Finish the serializer

Signed-off-by: Dario Freddi <drf@kde.org>

 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<QString, QString> entries = group.entryMap();
+    QHash<QString, int> rethash;
 
+    QMap<QString, QString>::const_iterator i;
+    for (i = entries.constBegin(); i != entries.constEnd(); ++i) {
+        // Just guessing, I wonder why it is a map
+        int res = group.readEntry<int>(i.key(), -1);
+        if (res != -1) {
+            rethash.insert(i.key(), res);
+        }
+
+        res = group.readEntry<int>(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<QString, int> queueSerialized();
     void saveQueueToFile(const KUrl &path);
-    void saveQueueToConfigGroup(const KConfigGroup &group);
+    void saveQueueToConfigGroup(KConfigGroup *group);
 
     void loadQueueFromSerialized(const QHash<QString, int> &queue);
     void loadQueueFromFile(const KUrl &path);
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic