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