diff -r 220a17280356 -r 1f3c3f2f5b0a webengine/wrtharvester/src/wrtharvesterpsnotifier.cpp --- a/webengine/wrtharvester/src/wrtharvesterpsnotifier.cpp Fri Mar 12 15:48:51 2010 +0200 +++ b/webengine/wrtharvester/src/wrtharvesterpsnotifier.cpp Mon Mar 15 12:44:50 2010 +0200 @@ -20,6 +20,7 @@ #include "wrtharvester.h" #include //For MMC Observing #include //For USB monitor +#include // For shutdown observer // ============================ MEMBER FUNCTIONS ============================= @@ -90,6 +91,10 @@ { User::LeaveIfError( iProperty.Attach( KUsbMsDriveState_Category,EUsbMsDriveState_DriveStatus )); } + else if( iKey == EWidgetSystemShutdown ) + { + User::LeaveIfError( iProperty.Attach( KPSUidStartup,KPSGlobalSystemState )); + } else { User::LeaveIfError( iProperty.Attach( KPropertyCat, iKey)); @@ -131,7 +136,10 @@ TUsbMsDrivesStatus allDrivesStatus; if( iKey != EWidgetMMCAltered && iKey != EWidgetMassStorageMode ) { - iProperty.Get( KPropertyCat, iKey, value ); + if (iKey == EWidgetSystemShutdown) + GetValue( value); + else + iProperty.Get( KPropertyCat, iKey, value ); } else { @@ -164,6 +172,10 @@ } iHarvester->UpdateL(); } + else if( iKey == EWidgetSystemShutdown && value == ESwStateShuttingDown ) + { + iHarvester->SetSystemShutdown(ETrue); + } } }