452 /** |
452 /** |
453 * try to query thumbnail from TNM, and then store thumbnail to cache |
453 * try to query thumbnail from TNM, and then store thumbnail to cache |
454 */ |
454 */ |
455 TEntry fileEntry; |
455 TEntry fileEntry; |
456 TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry); |
456 TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry); |
457 CMTPImageDpThumbnailCreator* tnc = iDataProvider.ThumbnailManager(); |
457 if (err == KErrNone) |
458 if (err == KErrNone && tnc != NULL) |
458 { |
459 { |
|
460 |
|
461 if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate) |
459 if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate) |
462 { |
460 { |
463 tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate); |
461 iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate); |
464 } |
462 } |
465 else |
463 else |
466 { |
464 { |
467 tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags); |
465 iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags); |
468 } |
466 } |
469 |
467 |
470 /** |
468 /** |
471 * trap the leave to avoid return general error when PC get object property list |
469 * trap the leave to avoid return general error when PC get object property list |
472 */ |
470 */ |
473 TRAP(err, tnc->GetThumbnailL(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), iThumbnailCache.iThumbnailData, err)); |
471 TRAP(err, iDataProvider.ThumbnailManager().GetThumbnailL(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), iThumbnailCache.iThumbnailData, err)); |
474 if (err == KErrNone) |
472 if (err == KErrNone) |
475 { |
473 { |
476 iThumbnailCache.iObjectHandle = iObjectInfo->Uint(CMTPObjectMetaData::EHandle); |
474 iThumbnailCache.iObjectHandle = iObjectInfo->Uint(CMTPObjectMetaData::EHandle); |
477 if (iThumbnailCache.iThumbnailData != NULL) |
475 if (iThumbnailCache.iThumbnailData != NULL) |
478 { |
476 { |
603 /** |
597 /** |
604 * try to query thumbnail from TNM, and then store thumbnail to cache |
598 * try to query thumbnail from TNM, and then store thumbnail to cache |
605 */ |
599 */ |
606 TEntry fileEntry; |
600 TEntry fileEntry; |
607 TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry); |
601 TInt err = iFs.Entry(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), fileEntry); |
608 CMTPImageDpThumbnailCreator* tnc = iDataProvider.ThumbnailManager(); |
602 if (err == KErrNone) |
609 if (err == KErrNone && tnc != NULL) |
|
610 { |
603 { |
611 |
604 |
612 if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate) |
605 if(fileEntry.FileSize() > KFileSizeMax || !alwaysCreate) |
613 { |
606 { |
614 tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate); |
607 iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate); |
615 } |
608 } |
616 else |
609 else |
617 { |
610 { |
618 tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags); |
611 iDataProvider.ThumbnailManager().GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags); |
619 } |
612 } |
620 |
613 |
621 /** |
614 /** |
622 * trap the leave to avoid return general error when PC get object property list |
615 * trap the leave to avoid return general error when PC get object property list |
623 */ |
616 */ |
624 TRAP(err, tnc->GetThumbnailL(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), iThumbnailCache.iThumbnailData, err)); |
617 TRAP(err, iDataProvider.ThumbnailManager().GetThumbnailL(iObjectInfo->DesC(CMTPObjectMetaData::ESuid), iThumbnailCache.iThumbnailData, err)); |
625 if (err == KErrNone) |
618 if (err == KErrNone) |
626 { |
619 { |
627 iThumbnailCache.iObjectHandle = iObjectInfo->Uint(CMTPObjectMetaData::EHandle); |
620 iThumbnailCache.iObjectHandle = iObjectInfo->Uint(CMTPObjectMetaData::EHandle); |
628 if (iThumbnailCache.iThumbnailData != NULL) |
621 if (iThumbnailCache.iThumbnailData != NULL) |
629 { |
622 { |