contentstorage/casrv/cawidgetscanner/src/cawidgetdescription.cpp
changeset 87 9d806967057c
parent 85 7feec50967db
child 88 7f0462e8c3da
--- a/contentstorage/casrv/cawidgetscanner/src/cawidgetdescription.cpp	Tue Mar 23 23:28:12 2010 +0200
+++ b/contentstorage/casrv/cawidgetscanner/src/cawidgetdescription.cpp	Tue Mar 23 23:42:03 2010 +0200
@@ -63,10 +63,10 @@
     TBuf<KMaxUidName> uidDesc;
     aEntry->FindAttribute( KCaPackageUid, uidDesc );
     if ( uidDesc.Length() )
-    	{
-    	TLex uidLex(uidDesc);
-    	User::LeaveIfError( uidLex.Val( iPackageUid, EHex ));
-    	}
+        {
+        TLex uidLex(uidDesc);
+        User::LeaveIfError( uidLex.Val( iPackageUid, EHex ));
+        }
     iTitle.CreateL(aEntry->GetText().Length());
     iTitle = aEntry->GetText();
     iIconUri.CreateL(aEntry->GetIcon().iFileName.Length());
@@ -80,14 +80,21 @@
     //mmc id
     TBuf<KUidChars> mmcId;
     if( aEntry->FindAttribute( KCaAttrMmcId, mmcId ) )
-    	{
+        {
         TLex mmcLex( mmcId );
         User::LeaveIfError( mmcLex.Val( iMmcId, EHex ));
-    	}
+        }
     if( aEntry->GetFlags() &  EMissing )
         {
         iFlags = iFlags | EMissing;
         }
+    if( aEntry->GetFlags() &  EUsed )
+        {
+        iFlags = iFlags | EUsed;
+        }
+    
+    iModificationTime.CreateL(KCaMaxAttrValueLen);
+    aEntry->FindAttribute( KCaAttrInstallationTime, iModificationTime );
     }
 
 // -----------------------------------------------------------------------------
@@ -139,6 +146,7 @@
     iUri.Close();
     iIconUri.Close();
     iLibrary.Close();
+    iModificationTime.Close();
     }
 
 // ----------------------------------------------------------------------------
@@ -169,7 +177,9 @@
             aToCompare.GetUri() == GetUri() &&
             aToCompare.GetIconUri() == GetIconUri() &&
             aToCompare.GetTitle() == GetTitle() &&
-            aToCompare.GetLibrary() != KNoLibrary )
+            aToCompare.GetLibrary() != KNoLibrary &&
+            aToCompare.GetModificationTime() == GetModificationTime()
+            )
         {
         return ETrue;
         }
@@ -268,6 +278,15 @@
 //
 // -----------------------------------------------------------------------------
 //
+void CCaWidgetDescription::SetUsed( TBool aUsed )
+    {
+    SetFlag( EUsed, aUsed );
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
 void CCaWidgetDescription::SetFlag( TInt aFlag, TBool aValue )
     {
     if( aValue )
@@ -284,6 +303,16 @@
 //
 // -----------------------------------------------------------------------------
 //
+void CCaWidgetDescription::SetModificationTimeL( const TDesC& aModificationTime )
+    {
+    iModificationTime.Close();
+    iModificationTime.CreateL( aModificationTime );
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
 TInt CCaWidgetDescription::GetEntryId( ) const
     {
     return iEntryId;
@@ -341,13 +370,22 @@
 TPtrC CCaWidgetDescription::GetTitle( ) const
     {
     if ( iTitle == KNullDesC )
-    	{
-    	return GetLibraryName();
+        {
+        return GetLibraryName();
         }
     else
-    	{
-    	return iTitle;
-    	}
+        {
+        return iTitle;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TPtrC CCaWidgetDescription::GetModificationTime( ) const
+    {
+    return iModificationTime;
     }
 
 
@@ -360,6 +398,16 @@
     return iFlags & EMissing;
     }
 
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TBool CCaWidgetDescription::IsUsed( ) const
+    {
+    return iFlags & EUsed;
+    }
+
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
@@ -375,11 +423,11 @@
         }
 
     if ( iPackageUid )
-    	{
-    	TBuf<KMaxUidName> uidDesc;
-    	uidDesc.AppendNum( iPackageUid,EHex );
-    	entry->AddAttributeL( KCaPackageUid, uidDesc );
-    	}
+        {
+        TBuf<KMaxUidName> uidDesc;
+        uidDesc.AppendNum( iPackageUid,EHex );
+        entry->AddAttributeL( KCaPackageUid, uidDesc );
+        }
 
     if ( iEntryId != KNoId )
         {
@@ -426,6 +474,12 @@
         {
         entry->SetIconDataL(0, 0, 0, 0, iIconUri);
         }
+
+    if( iModificationTime != KNullDesC )
+        {
+        entry->AddAttributeL( KCaAttrInstallationTime, iModificationTime );
+        }
+
     return entry;
     }