harvesterplugins/file/src/cmmcmonitor.cpp
changeset 20 68cdadcf169e
parent 17 7d8c8d8f5eab
child 26 367228f82b66
equal deleted inserted replaced
17:7d8c8d8f5eab 20:68cdadcf169e
   131 //
   131 //
   132 TBool CMMCMonitor::StartMonitoring()
   132 TBool CMMCMonitor::StartMonitoring()
   133     {
   133     {
   134     OstTraceFunctionEntry0( CMMCMONITOR_STARTMONITORING_ENTRY );
   134     OstTraceFunctionEntry0( CMMCMONITOR_STARTMONITORING_ENTRY );
   135     CPIXLOGSTRING("ENTER CMMCMonitor::StartMonitoring");
   135     CPIXLOGSTRING("ENTER CMMCMonitor::StartMonitoring");
   136     iProperty.Subscribe( iStatus );
   136     TRAP_IGNORE( RunL() );//Need to TRAP this rather than use RunError
   137     SetActive();
       
   138     User::LeaveIfError( iProperty.Get( KPSUidUikon, KUikMMCInserted, iMmcStatus ) );
       
   139     
       
   140     for ( TInt driveNumber = EDriveA; driveNumber <= EDriveZ; driveNumber++ )
       
   141         {
       
   142         const TBool foundMmc = MmcStatus( driveNumber );
       
   143         if ( !foundMmc )
       
   144             {
       
   145             continue;
       
   146             }
       
   147 
       
   148         // This drive has been recognized as MMC. 
       
   149         TDriveNumber drv = TDriveNumber( driveNumber );
       
   150 
       
   151         TUint drvStatus( 0 );
       
   152 
       
   153         const TInt err = DriveInfo::GetDriveStatus( *iFsSession, driveNumber, drvStatus );
       
   154         if ( err ) 
       
   155             {
       
   156             continue;  // should not happen
       
   157             }
       
   158 
       
   159         if ( drvStatus & DriveInfo::EDrivePresent )
       
   160             {            
       
   161             iFilePlugin.MountL(drv, EFalse);
       
   162             }
       
   163         }
       
   164     CPIXLOGSTRING("END CMMCMonitor::StartMonitoring");
   137     CPIXLOGSTRING("END CMMCMonitor::StartMonitoring");
   165     OstTraceFunctionExit0( CMMCMONITOR_STARTMONITORING_EXIT );
   138     OstTraceFunctionExit0( CMMCMONITOR_STARTMONITORING_EXIT );
   166     return ETrue;
   139     return ETrue;
   167     }
   140     }
   168 
   141 
   267         if ( drvStatus & DriveInfo::EDrivePresent )
   240         if ( drvStatus & DriveInfo::EDrivePresent )
   268             {
   241             {
   269             OstTrace0( TRACE_NORMAL, DUP2_CMMCMONITOR_RUNL, "CMMCMonitor::RunL insert event" );
   242             OstTrace0( TRACE_NORMAL, DUP2_CMMCMONITOR_RUNL, "CMMCMonitor::RunL insert event" );
   270             CPIXLOGSTRING("CMMCMonitor::RunL insert event");
   243             CPIXLOGSTRING("CMMCMonitor::RunL insert event");
   271             // Mount MMC and force reharvest
   244             // Mount MMC and force reharvest
   272             iFilePlugin.MountL(drv, ETrue);
   245             iFilePlugin.MountL(drv, EFalse);//dont force reharvest
   273             }
   246             }
   274         else
   247         else
   275             {
   248             {
   276             OstTrace0( TRACE_NORMAL, DUP3_CMMCMONITOR_RUNL, "CMMCMonitor::RunL eject event" );
   249             OstTrace0( TRACE_NORMAL, DUP3_CMMCMONITOR_RUNL, "CMMCMonitor::RunL eject event" );
   277             CPIXLOGSTRING("CMMCMonitor::RunL eject event");
   250             CPIXLOGSTRING("CMMCMonitor::RunL eject event");