contentpublishingsrv/contentpublishingserver/cpsqlitestorage/src/cpstorageengine.cpp
--- a/contentpublishingsrv/contentpublishingserver/cpsqlitestorage/src/cpstorageengine.cpp Tue Apr 27 16:57:49 2010 +0300
+++ b/contentpublishingsrv/contentpublishingserver/cpsqlitestorage/src/cpstorageengine.cpp Tue May 11 16:30:05 2010 +0300
@@ -29,7 +29,8 @@
//
// ---------------------------------------------------------------------------
//
-CCpStorageEngine::CCpStorageEngine()
+CCpStorageEngine::CCpStorageEngine(TLiwVariant& aDataMapCache) :
+ iDataMapCache(aDataMapCache)
{
}
@@ -72,9 +73,9 @@
//
// ---------------------------------------------------------------------------
//
-CCpStorageEngine* CCpStorageEngine::NewL()
+CCpStorageEngine* CCpStorageEngine::NewL(TLiwVariant& aDataMapCache)
{
- CCpStorageEngine* self = CCpStorageEngine::NewLC( );
+ CCpStorageEngine* self = CCpStorageEngine::NewLC(aDataMapCache);
CleanupStack::Pop( self );
return self;
}
@@ -84,9 +85,9 @@
//
// ---------------------------------------------------------------------------
//
-CCpStorageEngine* CCpStorageEngine::NewLC()
+CCpStorageEngine* CCpStorageEngine::NewLC(TLiwVariant& aDataMapCache)
{
- CCpStorageEngine* self = new (ELeave) CCpStorageEngine();
+ CCpStorageEngine* self = new (ELeave) CCpStorageEngine(aDataMapCache);
CleanupStack::PushL( self );
self->ConstructL( );
return self;
@@ -136,7 +137,10 @@
{
CP_DEBUG( _L8("CCpStorageEngine::GetListL()") );
const CCPLiwMap* map = static_cast<const CCPLiwMap*>(aMap);
+
RArray<TInt32> itemsToDelete;
+ CleanupClosePushL( itemsToDelete );
+
TUint numberOfItems = map->GetListL( iSqlDb, &aList, itemsToDelete );
//delete outdated items
CContentMap* removeItemMap = CContentMap::NewLC( );
@@ -148,7 +152,7 @@
removeItemMap->Remove( KId );
}
CleanupStack::PopAndDestroy( removeItemMap );
- itemsToDelete.Reset( );
+ CleanupStack::PopAndDestroy( &itemsToDelete );
if ( numberOfItems == 0 )
{
@@ -170,6 +174,8 @@
{
CLiwDefaultList* listOfMaps = CLiwDefaultList::NewLC( );
id = map->AddL( iSqlDb, listOfMaps );
+ iDataMapCache.Reset();
+ map->FindL(KDataMap, iDataMapCache);
iCallback->HandleChangeL( listOfMaps );
CleanupStack::PopAndDestroy( listOfMaps ) ;
}