29 #include "mtpimagedppanic.h" |
29 #include "mtpimagedppanic.h" |
30 #include "mtpimagedputilits.h" |
30 #include "mtpimagedputilits.h" |
31 #include "cmtpimagedpthumbnailcreator.h" |
31 #include "cmtpimagedpthumbnailcreator.h" |
32 #include "cmtpimagedpobjectpropertymgr.h" |
32 #include "cmtpimagedpobjectpropertymgr.h" |
33 #include "cmtpimagedp.h" |
33 #include "cmtpimagedp.h" |
|
34 #include "OstTraceDefinitions.h" |
|
35 #ifdef OST_TRACE_COMPILER_IN_USE |
|
36 #include "cmtpimagedpgetthumbTraces.h" |
|
37 #endif |
34 |
38 |
35 // Class constants. |
|
36 __FLOG_STMT(_LIT8(KComponent,"ImageDpGetThumb");) |
|
37 |
39 |
38 |
40 |
39 /** |
41 /** |
40 Two-phase construction method |
42 Two-phase construction method |
41 @param aPlugin The data provider plugin |
43 @param aPlugin The data provider plugin |
76 /** |
77 /** |
77 Second-phase constructor. |
78 Second-phase constructor. |
78 */ |
79 */ |
79 void CMTPImageDpGetThumb::ConstructL() |
80 void CMTPImageDpGetThumb::ConstructL() |
80 { |
81 { |
81 __FLOG_OPEN(KMTPSubsystem, KComponent); |
82 OstTraceFunctionEntry0( CMTPIMAGEDPGETTHUMB_CONSTRUCTL_ENTRY ); |
82 __FLOG(_L8("CMTPImageDpGetThumb::ConstructL")); |
|
83 iThumb = CMTPTypeOpaqueData::NewL(); |
83 iThumb = CMTPTypeOpaqueData::NewL(); |
84 iObjectMeta = CMTPObjectMetaData::NewL(); |
84 iObjectMeta = CMTPObjectMetaData::NewL(); |
85 __FLOG(_L8("CMTPImageDpGetThumb::ConstructL")); |
85 OstTraceFunctionExit0( CMTPIMAGEDPGETTHUMB_CONSTRUCTL_EXIT ); |
86 } |
86 } |
87 |
87 |
88 |
88 |
89 TMTPResponseCode CMTPImageDpGetThumb::CheckRequestL() |
89 TMTPResponseCode CMTPImageDpGetThumb::CheckRequestL() |
90 { |
90 { |
91 __FLOG(_L8(">> CMTPImageDpGetThumb::CheckRequestL")); |
91 OstTraceFunctionEntry0( CMTPIMAGEDPGETTHUMB_CHECKREQUESTL_ENTRY ); |
92 TMTPResponseCode result = MTPImageDpUtilits::VerifyObjectHandleL(iFramework, Request().Uint32(TMTPTypeRequest::ERequestParameter1), *iObjectMeta); |
92 TMTPResponseCode result = MTPImageDpUtilits::VerifyObjectHandleL(iFramework, Request().Uint32(TMTPTypeRequest::ERequestParameter1), *iObjectMeta); |
93 __FLOG(_L8("<< CMTPImageDpGetThumb::CheckRequestL")); |
93 OstTraceFunctionExit0( CMTPIMAGEDPGETTHUMB_CHECKREQUESTL_EXIT ); |
94 return result; |
94 return result; |
95 } |
95 } |
96 |
96 |
97 |
97 |
98 /** |
98 /** |
99 GetObject request handler |
99 GetObject request handler |
100 */ |
100 */ |
101 void CMTPImageDpGetThumb::ServiceL() |
101 void CMTPImageDpGetThumb::ServiceL() |
102 { |
102 { |
103 __FLOG(_L8(">> CMTPImageDpGetThumb::ServiceL")); |
103 OstTraceFunctionEntry0( CMTPIMAGEDPGETTHUMB_SERVICEL_ENTRY ); |
104 TInt err = KErrNone; |
104 TInt err = KErrNone; |
105 |
105 |
106 //at first, try to query thumbnail from property manager |
106 //at first, try to query thumbnail from property manager |
107 HBufC8* thumbnailData = imgDp.PropertyMgr().Thumbnail(iObjectMeta->Uint(CMTPObjectMetaData::EHandle)); |
107 HBufC8* thumbnailData = imgDp.PropertyMgr().Thumbnail(iObjectMeta->Uint(CMTPObjectMetaData::EHandle)); |
108 if (thumbnailData == NULL) |
108 if (thumbnailData == NULL) |
109 { |
109 { |
110 __FLOG(_L8("CMTPImageDpGetThumb::ServiceL- fail to query thumbnail from cache")); |
110 OstTrace0( TRACE_NORMAL, CMTPIMAGEDPGETTHUMB_SERVICEL, "CMTPImageDpGetThumb::ServiceL- fail to query thumbnail from cache" ); |
111 TEntry fileEntry; |
111 TEntry fileEntry; |
112 |
112 |
113 User::LeaveIfError(iFramework.Fs().Entry(iObjectMeta->DesC(CMTPObjectMetaData::ESuid), fileEntry)); |
113 LEAVEIFERROR(iFramework.Fs().Entry(iObjectMeta->DesC(CMTPObjectMetaData::ESuid), fileEntry), |
|
114 OstTraceExt2( TRACE_ERROR, DUP1_CMTPIMAGEDPGETTHUMB_SERVICEL, |
|
115 "Gets the entry details for %S failed! error code %d", iObjectMeta->DesC(CMTPObjectMetaData::ESuid), munged_err)); |
114 |
116 |
115 CMTPImageDpThumbnailCreator* tnc = imgDp.ThumbnailManager(); |
117 CMTPImageDpThumbnailCreator* tnc = imgDp.ThumbnailManager(); |
116 if(tnc != NULL) |
118 if(tnc != NULL) |
117 { |
119 { |
118 tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags); |
120 tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDefaultFlags); |
119 if(fileEntry.FileSize() > KFileSizeMax) |
121 if(fileEntry.FileSize() > KFileSizeMax) |
120 { |
122 { |
121 __FLOG(_L8(">> CMTPImageDpGetThumb::ServiceL, fileEntry.FileSize() > KFileSizeMax")); |
123 OstTrace0( TRACE_NORMAL, DUP2_CMTPIMAGEDPGETTHUMB_SERVICEL, "fileEntry.FileSize() > KFileSizeMax" ); |
122 tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate); |
124 tnc->GetThumbMgr()->SetFlagsL(CThumbnailManager::EDoNotCreate); |
123 } |
125 } |
124 |
126 |
125 tnc->GetThumbnailL(iObjectMeta->DesC(CMTPObjectMetaData::ESuid), thumbnailData, err); |
127 tnc->GetThumbnailL(iObjectMeta->DesC(CMTPObjectMetaData::ESuid), thumbnailData, err); |
126 imgDp.PropertyMgr().StoreThunmnail(iObjectMeta->Uint(CMTPObjectMetaData::EHandle), thumbnailData); |
128 imgDp.PropertyMgr().StoreThunmnail(iObjectMeta->Uint(CMTPObjectMetaData::EHandle), thumbnailData); |