contentstorage/caclient/stub/src/hswidgetregistryservice.cpp
changeset 93 82b66994846c
parent 92 782e3408c2ab
child 99 7aaf39b772ac
--- a/contentstorage/caclient/stub/src/hswidgetregistryservice.cpp	Fri Apr 16 14:45:49 2010 +0300
+++ b/contentstorage/caclient/stub/src/hswidgetregistryservice.cpp	Fri Apr 30 15:22:08 2010 +0300
@@ -21,15 +21,9 @@
 
 #include "hswidgetregistryservice.h"
 #include "hswidgetregistryservice_p.h"
-#include "hswidgetprovidermanifest.h"
+#include "hswidgetcomponentdescriptor.h"
+#include "hswidgetcomponentparser.h"
 
-const char POSTERURI[] = "homescreen.nokia.com/widget/poster/";
-const char POSTERWIDGETNAME[] = "name";
-const char POSTERWIDGETID[] = "posterwidgetid";
-const char PUBLISHER[] = "publisher";
-const char TEMPLATETYPE[] = "templatetype";
-const char CONTENTID[] = "contentid";
-const char CONTENTTYPE[] = "contenttype";
 
 /*!
     ?Qt_style_documentation
@@ -161,7 +155,6 @@
     const QString &manifestFilePath)
 {
     QList<HsWidgetToken> widgets;
-    HsWidgetProviderManifest manifest;
     QStringList filters("*.manifest");
     QDir dir(manifestFilePath);
     QStringList manifestDir = dir.entryList(filters, QDir::Files);
@@ -169,12 +162,30 @@
     if (!manifestDir.isEmpty()) {
         // ?
         QString fileName = manifestDir.first();
+        HsWidgetComponentParser componentParser(dir.absoluteFilePath(fileName));
+        if ( !componentParser.error() ) {
+            HsWidgetToken widgetToken;
+            HsWidgetComponentDescriptor widgetDescriptor = componentParser.widgetComponentDescriptor();
+            widgetToken.mUri = widgetDescriptor.uri;
+            widgetToken.mLibrary = manifestFilePath + "/" + widgetDescriptor.uri + ".dll";
+            widgetToken.mTitle = widgetDescriptor.title;
+            if (widgetDescriptor.iconUri.length() > 0 ) {
+                widgetToken.mIconUri = manifestFilePath + "/" + widgetDescriptor.iconUri;
+            }
+            widgetToken.mDescription = widgetDescriptor.description;
+            int widgetUid = dir.dirName().toUInt(0, 16);
+            widgetToken.mUid = widgetUid;
+            widgets << widgetToken;
+            qDebug() << "HsWidgetRegistryServicePrivate::readManifestFile - " \
+                     "widget added: " << fileName;
+        }
+#if 0
 
         if (fileName != "hsposterwidgetprovider.manifest") {
             // Directory differs from the poster widget's directory
             // which is not supported for the time being.
-            manifest.loadFromXml(dir.absoluteFilePath(fileName));
-            widgets = manifest.widgets();
+//            manifest.loadFromXml(dir.absoluteFilePath(fileName));
+//            widgets = manifest.widgets();
             int widgetUid = dir.dirName().toUInt(0, 16);
 
             // ?
@@ -190,6 +201,7 @@
             qDebug() << "HsWidgetRegistryServicePrivate::readManifestFile - " \
                      "widget added: " << fileName;
         }
+#endif                
     }
     return widgets;
 }