87 // CThumbnailManagerImpl::CThumbnailManagerImpl() |
87 // CThumbnailManagerImpl::CThumbnailManagerImpl() |
88 // C++ default constructor can NOT contain any code, that might leave. |
88 // C++ default constructor can NOT contain any code, that might leave. |
89 // --------------------------------------------------------------------------- |
89 // --------------------------------------------------------------------------- |
90 // |
90 // |
91 CThumbnailManagerImpl::CThumbnailManagerImpl( MThumbnailManagerObserver& |
91 CThumbnailManagerImpl::CThumbnailManagerImpl( MThumbnailManagerObserver& |
92 aObserver ): iObserver( aObserver ), iDisplayMode( |
92 aObserver ): iObserver( aObserver ), iRequestObserver( NULL ), iDisplayMode( |
93 KThumbnailDefaultDisplayMode ), iFlags( EDefaultFlags ), iQualityPreference |
93 KThumbnailDefaultDisplayMode ), iFlags( EDefaultFlags ), iQualityPreference |
94 ( EOptimizeForQuality ), iRequestId( 0 ) |
94 ( EOptimizeForQuality ), iRequestId( 0 ) |
95 { |
95 { |
96 // No implementation required |
96 // No implementation required |
97 } |
97 } |
152 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
152 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
153 |
153 |
154 TInt priority = ValidatePriority(aPriority); |
154 TInt priority = ValidatePriority(aPriority); |
155 |
155 |
156 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
156 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
157 ( iFs, iSession, iObserver, iRequestId, priority, iRequestQueue ); |
157 ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue ); |
158 CleanupStack::PushL( getThumbnailActive ); |
158 CleanupStack::PushL( getThumbnailActive ); |
159 |
159 |
160 if(aObjectSource.Id() > 0) |
160 if(aObjectSource.Id() > 0) |
161 { |
161 { |
162 getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), iFlags, |
162 getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), iFlags, |
213 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
213 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
214 |
214 |
215 TInt priority = ValidatePriority(aPriority); |
215 TInt priority = ValidatePriority(aPriority); |
216 |
216 |
217 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
217 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
218 ( iFs, iSession, iObserver, iRequestId, priority, iRequestQueue ); |
218 ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue ); |
219 CleanupStack::PushL( getThumbnailActive ); |
219 CleanupStack::PushL( getThumbnailActive ); |
220 |
220 |
221 getThumbnailActive->GetThumbnailL( KNullDesC, aThumbnailId, iFlags, |
221 getThumbnailActive->GetThumbnailL( KNullDesC, aThumbnailId, iFlags, |
222 iQualityPreference, iSize, iDisplayMode, priority, aClientData, |
222 iQualityPreference, iSize, iDisplayMode, priority, aClientData, |
223 EFalse, KNullDesC, iThumbnailSize ); |
223 EFalse, KNullDesC, iThumbnailSize ); |
247 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
247 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
248 |
248 |
249 TInt priority = ValidatePriority(aPriority); |
249 TInt priority = ValidatePriority(aPriority); |
250 |
250 |
251 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
251 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
252 ( iFs, iSession, iObserver, iRequestId, priority, iRequestQueue ); |
252 ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue ); |
253 CleanupStack::PushL( getThumbnailActive ); |
253 CleanupStack::PushL( getThumbnailActive ); |
254 |
254 |
255 if ( aObjectSource.Uri().Length()) |
255 if ( aObjectSource.Uri().Length()) |
256 { |
256 { |
257 getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), iFlags, |
257 getThumbnailActive->GetThumbnailL( aObjectSource.Uri(), aObjectSource.Id(), iFlags, |
288 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
288 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
289 |
289 |
290 TInt priority = ValidatePriority(aPriority); |
290 TInt priority = ValidatePriority(aPriority); |
291 |
291 |
292 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
292 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
293 ( iFs, iSession, iObserver, iRequestId, priority, iRequestQueue ); |
293 ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue ); |
294 CleanupStack::PushL( getThumbnailActive ); |
294 CleanupStack::PushL( getThumbnailActive ); |
295 |
295 |
296 if ( aObjectSource.Uri().Length() && |
296 if (aObjectSource.Uri().Length() && |
297 aObjectSource.Buffer() != NULL && |
297 aObjectSource.Bitmap() != NULL) |
298 aObjectSource.MimeType() != KNullDesC8) |
298 { |
299 { |
299 // from bitmap |
|
300 getThumbnailActive->SetThumbnailL( aObjectSource.GetBitmapOwnership(), |
|
301 aObjectSource.Id(), KBmpMime, iFlags, iQualityPreference, |
|
302 iSize, iDisplayMode, priority, aClientData, ETrue, |
|
303 aObjectSource.Uri(), iThumbnailSize, ETrue); |
|
304 } |
|
305 else if (aObjectSource.Uri().Length() && |
|
306 aObjectSource.Buffer() != NULL && |
|
307 aObjectSource.MimeType() != KNullDesC8) |
|
308 { |
|
309 // from buffer |
300 getThumbnailActive->SetThumbnailL( aObjectSource.GetBufferOwnership(), aObjectSource.Id(), |
310 getThumbnailActive->SetThumbnailL( aObjectSource.GetBufferOwnership(), aObjectSource.Id(), |
301 aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode, |
311 aObjectSource.MimeType(), iFlags, iQualityPreference, iSize, iDisplayMode, |
302 priority, aClientData, EFalse, aObjectSource.Uri(), iThumbnailSize); |
312 priority, aClientData, ETrue, aObjectSource.Uri(), iThumbnailSize, ETrue); |
303 } |
313 } |
304 |
314 |
305 iRequestQueue->AddRequestL( getThumbnailActive ); |
315 iRequestQueue->AddRequestL( getThumbnailActive ); |
306 CleanupStack::Pop( getThumbnailActive ); |
316 CleanupStack::Pop( getThumbnailActive ); |
307 |
317 |
327 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
337 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
328 |
338 |
329 TInt priority = ValidatePriority(aPriority); |
339 TInt priority = ValidatePriority(aPriority); |
330 |
340 |
331 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
341 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
332 ( iFs, iSession, iObserver, iRequestId, priority, iRequestQueue ); |
342 ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue ); |
333 |
343 |
334 CleanupStack::PushL( getThumbnailActive ); |
344 CleanupStack::PushL( getThumbnailActive ); |
335 |
345 |
336 if (aObjectSource.Bitmap()) |
346 if (aObjectSource.Bitmap()) |
337 { |
347 { |
338 // from bitmap |
348 // from bitmap |
339 getThumbnailActive->SetThumbnailL( aObjectSource.GetBitmapOwnership(), |
349 getThumbnailActive->SetThumbnailL( aObjectSource.GetBitmapOwnership(), |
340 aObjectSource.Id(), KBmpMime, iFlags, iQualityPreference, |
350 aObjectSource.Id(), KBmpMime, iFlags, iQualityPreference, |
341 iSize, iDisplayMode, priority, NULL, ETrue, |
351 iSize, iDisplayMode, priority, NULL, ETrue, |
342 aObjectSource.Uri(), EUnknownThumbnailSize); |
352 aObjectSource.Uri(), EUnknownThumbnailSize, EFalse); |
343 } |
353 } |
344 else if( !aObjectSource.Buffer() ) |
354 else if( !aObjectSource.Buffer() ) |
345 { |
355 { |
346 getThumbnailActive->GetThumbnailL( aObjectSource.Id(), |
356 getThumbnailActive->GetThumbnailL( aObjectSource.Id(), |
347 aObjectSource.Uri(), iFlags, iQualityPreference, iSize, |
357 aObjectSource.Uri(), iFlags, iQualityPreference, iSize, |
352 { |
362 { |
353 // from buffer |
363 // from buffer |
354 getThumbnailActive->SetThumbnailL( aObjectSource.GetBufferOwnership(), |
364 getThumbnailActive->SetThumbnailL( aObjectSource.GetBufferOwnership(), |
355 aObjectSource.Id(), aObjectSource.MimeType(), iFlags, |
365 aObjectSource.Id(), aObjectSource.MimeType(), iFlags, |
356 iQualityPreference, iSize, iDisplayMode, priority, NULL, |
366 iQualityPreference, iSize, iDisplayMode, priority, NULL, |
357 ETrue, aObjectSource.Uri(), EUnknownThumbnailSize); |
367 ETrue, aObjectSource.Uri(), EUnknownThumbnailSize, EFalse); |
358 } |
368 } |
359 |
369 |
360 iRequestQueue->AddRequestL( getThumbnailActive ); |
370 iRequestQueue->AddRequestL( getThumbnailActive ); |
361 |
371 |
362 CleanupStack::Pop( getThumbnailActive ); |
372 CleanupStack::Pop( getThumbnailActive ); |
489 TN_DEBUG2( "CThumbnailManagerImpl::DeleteThumbnails() URI==%S ", &aObjectSource.Uri() ); |
499 TN_DEBUG2( "CThumbnailManagerImpl::DeleteThumbnails() URI==%S ", &aObjectSource.Uri() ); |
490 |
500 |
491 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
501 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
492 |
502 |
493 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
503 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
494 ( iFs, iSession, iObserver, iRequestId, CActive::EPriorityIdle, iRequestQueue ); |
504 ( iFs, iSession, iObserver, iRequestObserver, iRequestId, CActive::EPriorityIdle, |
|
505 iRequestQueue ); |
495 |
506 |
496 CleanupStack::PushL( getThumbnailActive ); |
507 CleanupStack::PushL( getThumbnailActive ); |
497 |
508 |
498 const TDesC& uri = aObjectSource.Uri(); |
509 const TDesC& uri = aObjectSource.Uri(); |
499 |
510 |
531 TN_DEBUG2( "CThumbnailManagerImpl::DeleteThumbnails() aItemId==%d ", aItemId ); |
542 TN_DEBUG2( "CThumbnailManagerImpl::DeleteThumbnails() aItemId==%d ", aItemId ); |
532 |
543 |
533 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
544 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
534 |
545 |
535 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
546 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
536 ( iFs, iSession, iObserver, iRequestId, CActive::EPriorityIdle, iRequestQueue ); |
547 ( iFs, iSession, iObserver, iRequestObserver, iRequestId, CActive::EPriorityIdle, |
|
548 iRequestQueue ); |
537 |
549 |
538 CleanupStack::PushL( getThumbnailActive ); |
550 CleanupStack::PushL( getThumbnailActive ); |
539 |
551 |
540 getThumbnailActive->DeleteThumbnails( KNullDesC, aItemId, CActive::EPriorityIdle ); |
552 getThumbnailActive->DeleteThumbnails( KNullDesC, aItemId, CActive::EPriorityIdle ); |
541 |
553 |
618 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
630 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
619 |
631 |
620 TInt priority = ValidatePriority(aPriority); |
632 TInt priority = ValidatePriority(aPriority); |
621 |
633 |
622 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
634 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
623 ( iFs, iSession, iObserver, iRequestId, priority, iRequestQueue ); |
635 ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue ); |
624 CleanupStack::PushL( getThumbnailActive ); |
636 CleanupStack::PushL( getThumbnailActive ); |
625 |
637 |
626 getThumbnailActive->UpdateThumbnailsL( aPath, aItemId, iFlags, iQualityPreference, |
638 getThumbnailActive->UpdateThumbnailsL( aPath, aItemId, iFlags, iQualityPreference, |
627 iDisplayMode, priority, aOrientation, aModified ); |
639 iDisplayMode, priority, aOrientation, aModified ); |
628 |
640 |
646 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
658 __ASSERT_DEBUG(( iRequestId > 0 ), ThumbnailPanic( EThumbnailWrongId )); |
647 |
659 |
648 TInt priority = ValidatePriority(aPriority); |
660 TInt priority = ValidatePriority(aPriority); |
649 |
661 |
650 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
662 CThumbnailRequestActive* getThumbnailActive = CThumbnailRequestActive::NewL |
651 ( iFs, iSession, iObserver, iRequestId, priority, iRequestQueue ); |
663 ( iFs, iSession, iObserver, iRequestObserver, iRequestId, priority, iRequestQueue ); |
652 CleanupStack::PushL( getThumbnailActive ); |
664 CleanupStack::PushL( getThumbnailActive ); |
653 |
665 |
654 getThumbnailActive->RenameThumbnails( aCurrentPath, aNewPath, priority ); |
666 getThumbnailActive->RenameThumbnails( aCurrentPath, aNewPath, priority ); |
655 |
667 |
656 iRequestQueue->AddRequestL( getThumbnailActive ); |
668 iRequestQueue->AddRequestL( getThumbnailActive ); |
659 iRequestQueue->Process(); |
671 iRequestQueue->Process(); |
660 |
672 |
661 return iRequestId; |
673 return iRequestId; |
662 } |
674 } |
663 |
675 |
|
676 |
|
677 // --------------------------------------------------------------------------- |
|
678 // CThumbnailManagerImpl::SetRequestObserver() |
|
679 // Adds optional request observer |
|
680 // --------------------------------------------------------------------------- |
|
681 // |
|
682 void CThumbnailManagerImpl::SetRequestObserver( MThumbnailManagerRequestObserver& aObserver ) |
|
683 { |
|
684 iRequestObserver = NULL; |
|
685 iRequestObserver = &aObserver; |
|
686 } |
|
687 |
|
688 // --------------------------------------------------------------------------- |
|
689 // CThumbnailManagerImpl::RemoveRequestObserver() |
|
690 // Removes optional request observer |
|
691 // --------------------------------------------------------------------------- |
|
692 // |
|
693 void CThumbnailManagerImpl::RemoveRequestObserver() |
|
694 { |
|
695 if (iRequestObserver) |
|
696 { |
|
697 iRequestObserver = NULL; |
|
698 } |
|
699 } |
|
700 |
|
701 |
664 // --------------------------------------------------------------------------- |
702 // --------------------------------------------------------------------------- |
665 // CThumbnailManagerImpl::ValidatePriority() |
703 // CThumbnailManagerImpl::ValidatePriority() |
666 // Check that given priority is in range of CActive::TPriority |
704 // Check that given priority is in range of CActive::TPriority |
667 // --------------------------------------------------------------------------- |
705 // --------------------------------------------------------------------------- |
668 // |
706 // |