# HG changeset patch # User hgs # Date 1281076838 -10800 # Node ID 1c05ae5a7e4139c3a152bc8df4a88ba7bc13c1bf # Parent 221be23823c59241a46f349c65b24fe2a3cc4163 201031 diff -r 221be23823c5 -r 1c05ae5a7e41 imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagaudioobserver.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagaudioobserver.cpp Fri Jul 23 10:35:38 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagaudioobserver.cpp Fri Aug 06 09:40:38 2010 +0300 @@ -308,18 +308,20 @@ // set observing conditions CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd ); - addCondition->AddObjectConditionL( audioDef ); - CleanupStack::Pop( addCondition ); + CMdEObjectCondition& addObjectCondition = addCondition->AddObjectConditionL( audioDef ); + CleanupStack::PushL( &addObjectCondition ); CMdELogicCondition* modifyCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd ); - modifyCondition->AddObjectConditionL( audioDef ); - CleanupStack::Pop( modifyCondition ); + CMdEObjectCondition& modifyObjectCondition = modifyCondition->AddObjectConditionL( audioDef ); + CleanupStack::PushL( &modifyObjectCondition ); // add observer iMdESession->AddObjectObserverL( *this, addCondition, ENotifyAdd ); // modify observer iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify ); + + CleanupStack::Pop( 4, addCondition ); TN_DEBUG1( "CThumbAGAudioObserver::AddObserversL() - end" ); } diff -r 221be23823c5 -r 1c05ae5a7e41 imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.cpp Fri Jul 23 10:35:38 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.cpp Fri Aug 06 09:40:38 2010 +0300 @@ -303,18 +303,20 @@ // set observing conditions CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd ); - addCondition->AddPropertyConditionL( originPropDef, TMdEUintEqual(MdeConstants::Object::ECamera)); - CleanupStack::Pop( addCondition ); + CMdEPropertyCondition& addPropertyCondition = addCondition->AddPropertyConditionL( originPropDef, TMdEUintEqual(MdeConstants::Object::ECamera)); + CleanupStack::PushL( &addPropertyCondition ); CMdELogicCondition* modifyCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd ); - modifyCondition->AddPropertyConditionL( originPropDef, TMdEUintEqual(MdeConstants::Object::ECamera)); - CleanupStack::Pop( modifyCondition ); + CMdEPropertyCondition& modifyPropertyCondition = modifyCondition->AddPropertyConditionL( originPropDef, TMdEUintEqual(MdeConstants::Object::ECamera)); + CleanupStack::PushL( &modifyPropertyCondition ); // add observer iMdESession->AddObjectObserverL( *this, addCondition, ENotifyAdd ); // modify observer iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify ); + + CleanupStack::Pop( 4, addCondition ); TN_DEBUG1( "CThumbAGCameraObserver::AddObserversL() - end" ); } diff -r 221be23823c5 -r 1c05ae5a7e41 imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagimageobserver.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagimageobserver.cpp Fri Jul 23 10:35:38 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagimageobserver.cpp Fri Aug 06 09:40:38 2010 +0300 @@ -290,21 +290,28 @@ // set observing conditions CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd ); - addCondition->AddObjectConditionL( imageDef ); - addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera)); - CleanupStack::Pop( addCondition ); + + CMdEObjectCondition& addObjectCondition = addCondition->AddObjectConditionL( imageDef ); + CleanupStack::PushL( &addObjectCondition ); + + CMdEPropertyCondition& addPropertyCondition = addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera)); + CleanupStack::PushL( &addPropertyCondition ); CMdELogicCondition* modifyCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd ); - modifyCondition->AddObjectConditionL( imageDef ); - addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera)); - CleanupStack::Pop( modifyCondition ); - + CMdEObjectCondition& modifyObjectCondition = modifyCondition->AddObjectConditionL( imageDef ); + CleanupStack::PushL( &modifyObjectCondition ); + + CMdEPropertyCondition& modifyPropertyCondition = modifyCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera)); + CleanupStack::PushL( &modifyPropertyCondition ); + // add observers iMdESession->AddObjectObserverL( *this, addCondition, ENotifyAdd ); // modify observer iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify ); - + + CleanupStack::Pop( 6, addCondition ); + TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - end" ); } diff -r 221be23823c5 -r 1c05ae5a7e41 imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagprocessor.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagprocessor.cpp Fri Jul 23 10:35:38 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagprocessor.cpp Fri Aug 06 09:40:38 2010 +0300 @@ -958,39 +958,47 @@ CMdEObjectDef& objDef = iDefNamespace->GetObjectDefL( MdeConstants::Object::KBaseObject ); iQuery = iMdESession->NewObjectQueryL( *iDefNamespace, objDef, this ); - iQuery->SetResultMode( EQueryResultModeItem ); + + if(iQuery) + { + iQuery->SetResultMode( EQueryResultModeItem ); - CMdELogicCondition& rootCondition = iQuery->Conditions(); - rootCondition.SetOperator( ELogicConditionOperatorAnd ); + CMdELogicCondition& rootCondition = iQuery->Conditions(); + rootCondition.SetOperator( ELogicConditionOperatorAnd ); - // add IDs - CleanupClosePushL( iQueryQueue ); - rootCondition.AddObjectConditionL( iQueryQueue ); - CleanupStack::Pop( &iQueryQueue ); + // add IDs + CleanupClosePushL( iQueryQueue ); + rootCondition.AddObjectConditionL( iQueryQueue ); + CleanupStack::Pop( &iQueryQueue ); - // add object type conditions - if (!(iModify || iUnknown)) - { - CMdELogicCondition& objDefCondition = rootCondition.AddLogicConditionL( ELogicConditionOperatorOr ); + // add object type conditions + if (!(iModify || iUnknown)) + { + CMdELogicCondition& objDefCondition = rootCondition.AddLogicConditionL( ELogicConditionOperatorOr ); - if (iAutoImage) - { - CMdEObjectDef& imageDef = iDefNamespace->GetObjectDefL( MdeConstants::Image::KImageObject ); - objDefCondition.AddObjectConditionL( imageDef ); - } - if (iAutoVideo) - { - CMdEObjectDef& videoDef = iDefNamespace->GetObjectDefL( MdeConstants::Video::KVideoObject ); - objDefCondition.AddObjectConditionL( videoDef ); - } - if (iAutoAudio) - { - CMdEObjectDef& audioDef = iDefNamespace->GetObjectDefL( MdeConstants::Audio::KAudioObject ); - objDefCondition.AddObjectConditionL( audioDef ); - } - } + if (iAutoImage) + { + CMdEObjectDef& imageDef = iDefNamespace->GetObjectDefL( MdeConstants::Image::KImageObject ); + objDefCondition.AddObjectConditionL( imageDef ); + } + if (iAutoVideo) + { + CMdEObjectDef& videoDef = iDefNamespace->GetObjectDefL( MdeConstants::Video::KVideoObject ); + objDefCondition.AddObjectConditionL( videoDef ); + } + if (iAutoAudio) + { + CMdEObjectDef& audioDef = iDefNamespace->GetObjectDefL( MdeConstants::Audio::KAudioObject ); + objDefCondition.AddObjectConditionL( audioDef ); + } + } - iQuery->FindL(); + iQuery->FindL(); + } + else + { + iQueryActive = EFalse; + } TN_DEBUG1( "CThumbAGProcessor::QueryL() - end" ); } @@ -1036,25 +1044,33 @@ CMdEObjectDef& objDef = iDefNamespace->GetObjectDefL( MdeConstants::Object::KBaseObject); iQueryPlaceholders = iMdESession->NewObjectQueryL( *iDefNamespace, objDef, this ); - iQueryPlaceholders->SetResultMode( EQueryResultModeItem ); - - CMdELogicCondition& rootCondition = iQueryPlaceholders->Conditions(); - rootCondition.SetOperator( ELogicConditionOperatorOr ); - - CMdEObjectCondition& imagePHObjectCondition = rootCondition.AddObjectConditionL(imageObjDef); - imagePHObjectCondition.SetPlaceholderOnly( ETrue ); - imagePHObjectCondition.SetNotPresent( aPresent ); - - CMdEObjectCondition& videoPHObjectCondition = rootCondition.AddObjectConditionL(videoObjDef); - videoPHObjectCondition.SetPlaceholderOnly( ETrue ); - videoPHObjectCondition.SetNotPresent( aPresent ); - - CMdEObjectCondition& audioPHObjectCondition = rootCondition.AddObjectConditionL(audioObjDef); - audioPHObjectCondition.SetPlaceholderOnly( ETrue ); - audioPHObjectCondition.SetNotPresent( aPresent ); - - iQueryPlaceholders->FindL(KMaxTInt, KMaxQueryBatchSize); - + if(iQueryPlaceholders) + { + iQueryPlaceholders->SetResultMode( EQueryResultModeItem ); + + CMdELogicCondition& rootCondition = iQueryPlaceholders->Conditions(); + rootCondition.SetOperator( ELogicConditionOperatorOr ); + + CMdEObjectCondition& imagePHObjectCondition = rootCondition.AddObjectConditionL(imageObjDef); + CleanupStack::PushL( &imagePHObjectCondition ); + imagePHObjectCondition.SetPlaceholderOnly( ETrue ); + imagePHObjectCondition.SetNotPresent( aPresent ); + + CMdEObjectCondition& videoPHObjectCondition = rootCondition.AddObjectConditionL(videoObjDef); + CleanupStack::PushL( &videoPHObjectCondition ); + videoPHObjectCondition.SetPlaceholderOnly( ETrue ); + videoPHObjectCondition.SetNotPresent( aPresent ); + + CMdEObjectCondition& audioPHObjectCondition = rootCondition.AddObjectConditionL(audioObjDef); + CleanupStack::PushL( &audioPHObjectCondition ); + audioPHObjectCondition.SetPlaceholderOnly( ETrue ); + audioPHObjectCondition.SetNotPresent( aPresent ); + + iQueryPlaceholders->FindL(KMdEQueryDefaultMaxCount, KMaxQueryBatchSize); + + CleanupStack::Pop(3, &imagePHObjectCondition ); + } + TN_DEBUG1( "CThumbAGProcessor::QueryPlaceholdersL - end" ); } @@ -1879,12 +1895,17 @@ rootCondition.SetOperator( ELogicConditionOperatorOr ); CMdEObjectCondition& imageObjectCondition = rootCondition.AddObjectConditionL(imageObjDef); + CleanupStack::PushL( &imageObjectCondition ); CMdEObjectCondition& videoObjectCondition = rootCondition.AddObjectConditionL(videoObjDef); + CleanupStack::PushL( &videoObjectCondition ); CMdEObjectCondition& audioObjectCondition = rootCondition.AddObjectConditionL(audioObjDef); + CleanupStack::PushL( &audioObjectCondition ); - iQueryAllItems->FindL(KMaxTInt, KMaxQueryBatchSize); + iQueryAllItems->FindL(KMdEQueryDefaultMaxCount, KMaxQueryBatchSize); + + CleanupStack::Pop(3, &imageObjectCondition); TN_DEBUG1( "CThumbAGProcessor::QueryAllItemsL - end" ); } diff -r 221be23823c5 -r 1c05ae5a7e41 imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagvideoobserver.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagvideoobserver.cpp Fri Jul 23 10:35:38 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagvideoobserver.cpp Fri Aug 06 09:40:38 2010 +0300 @@ -301,20 +301,27 @@ // set observing conditions CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd ); - addCondition->AddObjectConditionL( videoDef ); - addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera)); - CleanupStack::Pop( addCondition ); + + CMdEObjectCondition& addObjectCondition = addCondition->AddObjectConditionL( videoDef ); + CleanupStack::PushL( &addObjectCondition ); + + CMdEPropertyCondition& addPropertyCondition = addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera)); + CleanupStack::PushL( &addPropertyCondition ); CMdELogicCondition* modifyCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd ); - modifyCondition->AddObjectConditionL( videoDef ); - addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera)); - CleanupStack::Pop( modifyCondition ); + CMdEObjectCondition& modifyObjectCondition = modifyCondition->AddObjectConditionL( videoDef ); + CleanupStack::PushL( &modifyObjectCondition ); + + CMdEPropertyCondition& modifyPropertyCondition = modifyCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera)); + CleanupStack::PushL( &modifyPropertyCondition ); // add observer iMdESession->AddObjectObserverL( *this, addCondition, ENotifyAdd ); // modify observer iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify ); + + CleanupStack::Pop( 6, addCondition ); TN_DEBUG1( "CThumbAGVideoObserver::AddObserversL() - end" ); } diff -r 221be23823c5 -r 1c05ae5a7e41 imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailfetchedchecker.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailfetchedchecker.cpp Fri Jul 23 10:35:38 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailfetchedchecker.cpp Fri Aug 06 09:40:38 2010 +0300 @@ -286,4 +286,5 @@ CThumbnailFetchedChecker::CEntry::~CEntry() { delete iUri; + iUri = NULL; } diff -r 221be23823c5 -r 1c05ae5a7e41 imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailmdsquerytask.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailmdsquerytask.cpp Fri Jul 23 10:35:38 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailmdsquerytask.cpp Fri Aug 06 09:40:38 2010 +0300 @@ -36,7 +36,8 @@ // CThumbnailMDSQueryTask::CThumbnailMDSQueryTask( CThumbnailTaskProcessor& aProcessor, TInt aPriority, CMdESession* aMdESession, CThumbnailServer& aServer): - CThumbnailTask( aProcessor, aPriority ), iMdESession( aMdESession ), iServer(aServer), iUpdateToDb(ETrue) + CThumbnailTask( aProcessor, aPriority ), iMdESession( aMdESession ), iQuery(NULL), + iServer(aServer), iUpdateToDb(ETrue) { TN_DEBUG2( "CThumbnailMDSQueryTask(0x%08x)::CThumbnailMDSQueryTask()", this ); } @@ -183,14 +184,21 @@ CMdENamespaceDef* defNamespace = &iMdESession->GetDefaultNamespaceDefL(); CMdEObjectDef& objDef = defNamespace->GetObjectDefL( MdeConstants::Object::KBaseObject ); + delete iQuery; + iQuery = NULL; + iQuery = iMdESession->NewObjectQueryL( *defNamespace, objDef, this ); - iQuery->SetResultMode( EQueryResultModeItem ); + + if(iQuery) + { + iQuery->SetResultMode( EQueryResultModeItem ); - CMdELogicCondition& rootCondition = iQuery->Conditions(); - rootCondition.SetOperator( ELogicConditionOperatorOr ); + CMdELogicCondition& rootCondition = iQuery->Conditions(); + rootCondition.SetOperator( ELogicConditionOperatorOr ); - // add ID condition - rootCondition.AddObjectConditionL( aId ); + // add ID condition + rootCondition.AddObjectConditionL( aId ); + } } // ---------------------------------------------------------------------------