252 { |
252 { |
253 case EMounted: |
253 case EMounted: |
254 { |
254 { |
255 WRITELOG( "CMMCMonitorPlugin::MountEvent with parameter EMounted" ); |
255 WRITELOG( "CMMCMonitorPlugin::MountEvent with parameter EMounted" ); |
256 mountData->iMountType = TMountData::EMount; |
256 mountData->iMountType = TMountData::EMount; |
|
257 |
|
258 // If mass storage mounting was delayed in boot so that mount event |
|
259 // occures in mmc monitor, update the mass storage media id in the |
|
260 // db in case factory settings were reseted and mass storage formatted |
|
261 TInt drive( -1 ); |
|
262 TInt internalMassStorageError( DriveInfo::GetDefaultDrive( DriveInfo::EDefaultMassStorage, drive ) ); |
|
263 if( internalMassStorageError == KErrNone ) |
|
264 { |
|
265 TVolumeInfo internalMassStorageVolumeInfo; |
|
266 internalMassStorageError = iFs.Volume( internalMassStorageVolumeInfo, drive ); |
|
267 if( internalMassStorageError == KErrNone ) |
|
268 { |
|
269 const TUint32 massStorageMediaId( internalMassStorageVolumeInfo.iUniqueID ); |
|
270 TUint32 mmcMediaId( 0 ); |
|
271 TInt mmcError( DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRemovableMassStorage, drive ) ); |
|
272 if( mmcError == KErrNone ) |
|
273 { |
|
274 TVolumeInfo mmcVolumeInfo; |
|
275 mmcError = iFs.Volume( mmcVolumeInfo, drive ); |
|
276 if( mmcError == KErrNone ) |
|
277 { |
|
278 mmcMediaId = mmcVolumeInfo.iUniqueID; |
|
279 } |
|
280 } |
|
281 |
|
282 // If removable storage is not found, assume internal mass storage was mounted |
|
283 if( mmcError ) |
|
284 { |
|
285 if( massStorageMediaId != 0 && |
|
286 massStorageMediaId == aMediaID ) |
|
287 { |
|
288 iMdEClient->CheckMassStorageMediaId( massStorageMediaId ); |
|
289 } |
|
290 } |
|
291 else if( massStorageMediaId != mmcMediaId && |
|
292 massStorageMediaId != 0 && |
|
293 massStorageMediaId == aMediaID ) |
|
294 { |
|
295 iMdEClient->CheckMassStorageMediaId( massStorageMediaId ); |
|
296 } |
|
297 } |
|
298 } |
|
299 |
257 TRAPD(err, iMountTask->StartMountL( *mountData )) |
300 TRAPD(err, iMountTask->StartMountL( *mountData )) |
258 |
301 |
259 if(err != KErrNone ) |
302 if(err != KErrNone ) |
260 { |
303 { |
261 delete mountData; |
304 delete mountData; |