contentstorage/casrv/cawidgetscanner/src/cawidgetscannerparser.cpp
changeset 87 9d806967057c
parent 86 e492551a0d54
child 89 1e87eb3b400f
--- a/contentstorage/casrv/cawidgetscanner/src/cawidgetscannerparser.cpp	Tue Mar 23 23:28:12 2010 +0200
+++ b/contentstorage/casrv/cawidgetscanner/src/cawidgetscannerparser.cpp	Tue Mar 23 23:42:03 2010 +0200
@@ -31,6 +31,7 @@
 
 const TInt KChunkSize = 8192;
 const TInt KDriveLetterLength = 2;
+const TInt KModificationTimeLength = 17;
 
 _LIT( KManifest, ".manifest");
 _LIT( KColen, ":" );
@@ -212,7 +213,7 @@
         element = elementList.Next();
         if ( element.HasAttributes() )
             {
-            ParseWidgetL( element, aPackageUid );
+            ParseWidgetL( aFilePath, element, aPackageUid );
             }
         }
     CleanupStack::PopAndDestroy(&elementList);
@@ -225,7 +226,8 @@
 // ----------------------------------------------------------------------------
 //
 void CCaWidgetScannerParser::ParseWidgetL(
-        TXmlEngElement aElement, const TDesC& aPackageUid )
+        const TDesC& aFilePath, TXmlEngElement aElement,
+        const TDesC& aPackageUid )
     {
     CCaWidgetDescription* widget = CCaWidgetDescription::NewLC();
 
@@ -236,7 +238,17 @@
     SetVisibilityL( aElement, widget );
     SetIconUriL( aElement, aPackageUid, widget);
     widget->SetPackageUidL( aPackageUid );
-    SetMmcIdL( widget);
+    SetMmcIdL( widget );
+    
+    TTime modificationTime;
+    iFs.Modified( aFilePath, modificationTime);
+    TInt64 modificationIntTime = modificationTime.Int64();
+    RBuf16 rBuf;
+    rBuf.CleanupClosePushL();
+    rBuf.CreateL( KModificationTimeLength );
+    rBuf.AppendNum( modificationIntTime );
+    widget->SetModificationTimeL( rBuf );
+    CleanupStack::PopAndDestroy( &rBuf );
 
     TInt index = iWidgets.Find( widget, CCaWidgetDescription::Compare );
     if ( index != KErrNotFound )