harvesterplugins/file/src/cmmcmonitor.cpp
changeset 16 e918432ddd92
parent 3 6832643895f7
child 18 1edf350003c5
equal deleted inserted replaced
15:df6898e696c6 16:e918432ddd92
   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     TRAP_IGNORE( RunL() ); // Need to TRAP this rather than use RunError
   136     iProperty.Subscribe( iStatus );
       
   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         }
   137     CPIXLOGSTRING("END CMMCMonitor::StartMonitoring");
   164     CPIXLOGSTRING("END CMMCMonitor::StartMonitoring");
   138     OstTraceFunctionExit0( CMMCMONITOR_STARTMONITORING_EXIT );
   165     OstTraceFunctionExit0( CMMCMONITOR_STARTMONITORING_EXIT );
   139     return ETrue;
   166     return ETrue;
   140     }
   167     }
   141 
   168 
   240         if ( drvStatus & DriveInfo::EDrivePresent )
   267         if ( drvStatus & DriveInfo::EDrivePresent )
   241             {
   268             {
   242             OstTrace0( TRACE_NORMAL, DUP2_CMMCMONITOR_RUNL, "CMMCMonitor::RunL insert event" );
   269             OstTrace0( TRACE_NORMAL, DUP2_CMMCMONITOR_RUNL, "CMMCMonitor::RunL insert event" );
   243             CPIXLOGSTRING("CMMCMonitor::RunL insert event");
   270             CPIXLOGSTRING("CMMCMonitor::RunL insert event");
   244             // Mount MMC and force reharvest
   271             // Mount MMC and force reharvest
   245             iFilePlugin.MountL(drv, EFalse); //dont force reharvest
   272             iFilePlugin.MountL(drv, ETrue);
   246             }
   273             }
   247         else
   274         else
   248             {
   275             {
   249             OstTrace0( TRACE_NORMAL, DUP3_CMMCMONITOR_RUNL, "CMMCMonitor::RunL eject event" );
   276             OstTrace0( TRACE_NORMAL, DUP3_CMMCMONITOR_RUNL, "CMMCMonitor::RunL eject event" );
   250             CPIXLOGSTRING("CMMCMonitor::RunL eject event");
   277             CPIXLOGSTRING("CMMCMonitor::RunL eject event");