--- 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;
}