93 { |
93 { |
94 PRINT(_L("MM MTP <> CGetObjectPropValue::CheckRequestL, objectInfo is NULL")); |
94 PRINT(_L("MM MTP <> CGetObjectPropValue::CheckRequestL, objectInfo is NULL")); |
95 return EMTPRespCodeInvalidObjectHandle; |
95 return EMTPRespCodeInvalidObjectHandle; |
96 } |
96 } |
97 |
97 |
98 TFileName fileName = objectInfo->DesC( CMTPObjectMetaData::ESuid ); |
|
99 TUint32 formatCode = objectInfo->Uint( CMTPObjectMetaData::EFormatCode ); |
98 TUint32 formatCode = objectInfo->Uint( CMTPObjectMetaData::EFormatCode ); |
100 |
99 |
101 PRINT3( _L( "MM MTP <> CGetObjectPropValue::CheckRequestL, handle = 0x%x, filename = %S, formatCode = 0x%x" ), objectHandle, &fileName, formatCode); |
100 PRINT3( _L( "MM MTP <> CGetObjectPropValue::CheckRequestL, handle = 0x%x, filename = %S, formatCode = 0x%x" ), |
|
101 objectHandle, |
|
102 &( objectInfo->DesC( CMTPObjectMetaData::ESuid ) ), |
|
103 formatCode ); |
|
104 |
102 const RArray<TUint>* properties = iDpConfig.GetSupportedPropertiesL( formatCode ); |
105 const RArray<TUint>* properties = iDpConfig.GetSupportedPropertiesL( formatCode ); |
103 TInt count = properties->Count(); |
106 TInt count = properties->Count(); |
104 |
107 |
105 TUint32 propCode = Request().Uint32( TMTPTypeRequest::ERequestParameter2 ); |
108 TUint32 propCode = Request().Uint32( TMTPTypeRequest::ERequestParameter2 ); |
106 PRINT1( _L( "MM MTP <> CGetObjectPropValue::CheckRequestL propCode = 0x%x" ), propCode ); |
109 PRINT1( _L( "MM MTP <> CGetObjectPropValue::CheckRequestL propCode = 0x%x" ), propCode ); |
128 // |
131 // |
129 EXPORT_C void CGetObjectPropValue::ServiceL() |
132 EXPORT_C void CGetObjectPropValue::ServiceL() |
130 { |
133 { |
131 PRINT( _L( "MM MTP => CGetObjectPropValue::ServiceL" ) ); |
134 PRINT( _L( "MM MTP => CGetObjectPropValue::ServiceL" ) ); |
132 |
135 |
133 MmMtpDpUtility::SetPSStatus(EMtpPSStatusActive); |
136 MmMtpDpUtility::SetPSStatus( EMtpPSStatusActive ); |
134 |
137 |
135 //Get the request information |
138 //Get the request information |
136 TUint32 objectHandle = Request().Uint32( TMTPTypeRequest::ERequestParameter1 ); |
139 TUint32 objectHandle = Request().Uint32( TMTPTypeRequest::ERequestParameter1 ); |
137 TUint32 propCode = Request().Uint32( TMTPTypeRequest::ERequestParameter2 ); |
140 TUint32 propCode = Request().Uint32( TMTPTypeRequest::ERequestParameter2 ); |
138 PRINT2( _L( "MM MTP <> CGetObjectPropValue::ServiceL objectHandle = 0x%x, propCode = 0x%x" ), |
141 PRINT2( _L( "MM MTP <> CGetObjectPropValue::ServiceL objectHandle = 0x%x, propCode = 0x%x" ), |
140 |
143 |
141 // don't have the ownship of the object |
144 // don't have the ownship of the object |
142 iObjectInfo = iRequestChecker->GetObjectInfo( objectHandle ); |
145 iObjectInfo = iRequestChecker->GetObjectInfo( objectHandle ); |
143 TPtrC suid( iObjectInfo->DesC( CMTPObjectMetaData::ESuid ) ); |
146 TPtrC suid( iObjectInfo->DesC( CMTPObjectMetaData::ESuid ) ); |
144 PRINT1( _L( "MM MTP <> CGetObjectPropValue::ServiceL object file name is %S" ), &suid ); |
147 PRINT1( _L( "MM MTP <> CGetObjectPropValue::ServiceL object file name is %S" ), &suid ); |
145 TParsePtrC parse( suid ); |
|
146 |
148 |
147 if ( iMTPTypeString != NULL ) |
149 if ( iMTPTypeString != NULL ) |
148 { |
150 { |
149 delete iMTPTypeString; |
151 delete iMTPTypeString; |
150 iMTPTypeString = NULL; |
152 iMTPTypeString = NULL; |
175 |
177 |
176 // ProtectionStatus |
178 // ProtectionStatus |
177 case EMTPObjectPropCodeProtectionStatus: |
179 case EMTPObjectPropCodeProtectionStatus: |
178 { |
180 { |
179 iMTPTypeUint16.Set( 0 ); |
181 iMTPTypeUint16.Set( 0 ); |
180 iMTPTypeUint16 = MmMtpDpUtility::GetProtectionStatusL( iFramework.Fs(), |
182 iMTPTypeUint16 = MmMtpDpUtility::GetProtectionStatusL( iFramework.Fs(), suid ); |
181 iObjectInfo->DesC( CMTPObjectMetaData::ESuid ) ); |
|
182 SendDataL( iMTPTypeUint16 ); |
183 SendDataL( iMTPTypeUint16 ); |
183 } |
184 } |
184 break; |
185 break; |
185 |
186 |
186 // Object Size |
187 // Object Size |
187 case EMTPObjectPropCodeObjectSize: |
188 case EMTPObjectPropCodeObjectSize: |
188 { |
189 { |
189 iMTPTypeUint64.Set( 0 ); |
190 iMTPTypeUint64.Set( 0 ); |
190 iMTPTypeUint64 = MmMtpDpUtility::GetObjectSizeL( iFramework.Fs(), |
191 iMTPTypeUint64 = MmMtpDpUtility::GetObjectSizeL( iFramework.Fs(), suid ); |
191 iObjectInfo->DesC( CMTPObjectMetaData::ESuid ) ); |
|
192 SendDataL( iMTPTypeUint64 ); |
192 SendDataL( iMTPTypeUint64 ); |
193 } |
193 } |
194 break; |
194 break; |
195 |
195 |
196 // Filename |
196 // Filename |
197 case EMTPObjectPropCodeObjectFileName: |
197 case EMTPObjectPropCodeObjectFileName: |
198 { |
198 { |
199 const TDesC& suid( iObjectInfo->DesC( CMTPObjectMetaData::ESuid ) ); |
199 TParsePtrC parse( suid ); |
200 PRINT1( _L( "MM MTP <> CGetObjectPropValue::ServiceL SUID = %S" ), &suid ); |
|
201 |
|
202 TPtrC path( suid.Ptr(), suid.Length() ); |
|
203 TParsePtrC parse( path ); |
|
204 iMTPTypeString = CMTPTypeString::NewL( parse.NameAndExt() ); |
200 iMTPTypeString = CMTPTypeString::NewL( parse.NameAndExt() ); |
205 SendDataL( *iMTPTypeString ); |
201 SendDataL( *iMTPTypeString ); |
206 } |
202 } |
207 break; |
203 break; |
208 |
204 |
236 //lint -fallthrough |
232 //lint -fallthrough |
237 case EMTPObjectPropCodeDateCreated: |
233 case EMTPObjectPropCodeDateCreated: |
238 case EMTPObjectPropCodeDateModified: |
234 case EMTPObjectPropCodeDateModified: |
239 { |
235 { |
240 TBuf<KMtpMaxDateTimeStringLength> timeStr; |
236 TBuf<KMtpMaxDateTimeStringLength> timeStr; |
241 MmMtpDpUtility::GetObjectDateModifiedL( iFramework.Fs(), |
237 MmMtpDpUtility::GetObjectDateModifiedL( iFramework.Fs(), suid, timeStr ); |
242 iObjectInfo->DesC( CMTPObjectMetaData::ESuid ), |
|
243 timeStr ); |
|
244 |
238 |
245 PRINT1( _L( "MM MTP <> CGetObjectPropValue::ServiceL Date time %S" ), &timeStr ); |
239 PRINT1( _L( "MM MTP <> CGetObjectPropValue::ServiceL Date time %S" ), &timeStr ); |
246 iMTPTypeString = CMTPTypeString::NewL( timeStr ); |
240 iMTPTypeString = CMTPTypeString::NewL( timeStr ); |
247 SendDataL( *iMTPTypeString ); |
241 SendDataL( *iMTPTypeString ); |
248 } |
242 } |