diff -r 13d7c31c74e0 -r b183ec05bd8c terminalsecurity/SCP/SCPClient/src/SCPLockObserver.cpp --- a/terminalsecurity/SCP/SCPClient/src/SCPLockObserver.cpp Thu Aug 19 10:44:50 2010 +0300 +++ b/terminalsecurity/SCP/SCPClient/src/SCPLockObserver.cpp Tue Aug 31 16:04:06 2010 +0300 @@ -24,6 +24,7 @@ #include "SCPQueryDialog.h" #include "SCPDebug.h" + // ================= MEMBER FUNCTIONS ======================= // // ---------------------------------------------------------- @@ -54,9 +55,9 @@ CSCPLockObserver::~CSCPLockObserver() { - Dprint(_L("CSCPLockObserver::~CSCPLockObserver >>>")); + Dprint(_L("CSCPLockObserver::~CSCPLockObserver")); + Cancel(); - Dprint(_L("CSCPLockObserver::~CSCPLockObserver <<<")); } // // ---------------------------------------------------------- @@ -79,27 +80,31 @@ iStatus = KRequestPending; - switch(iType) { - case ESecUiDeviceLockObserver: - - Dprint(_L("CSCPLockObserver::Start() Device Lock Observer")); - - iProperty.Attach(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus); - break; - case ESecUiCallStateObserver: { - Dprint(_L("CSCPLockObserver::Start() Call State Observer")); - iProperty.Attach(KPSUidCtsyCallInformation, KCTsyCallState); + switch(iType) + { + case ESecUiDeviceLockObserver: + + Dprint(_L("CSCPLockObserver::Start() Device Lock Observer")); + + iProperty.Attach(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus); + break; + case ESecUiCallStateObserver: + + Dprint(_L("CSCPLockObserver::Start() Call State Observer")); + + iProperty.Attach(KPSUidCtsyCallInformation, KCTsyCallState); + break; + + default: + break; } - break; - - default: - break; - } iProperty.Subscribe(iStatus); + SetActive(); iSubscribedToEvent = ETrue; - SetActive(); - Dprint(_L("CSCPLockObserver::Start() END")); + + Dprint(_L("CSCPLockObserver::Start() END")); + return KErrNone; } // @@ -108,30 +113,9 @@ // C++ constructor // ---------------------------------------------------------- // -CSCPLockObserver :: CSCPLockObserver(CSCPQueryDialog* aDialog, TInt aType) : CActive(0), - iDialog(aDialog), iType(aType), - iInformCallEnding(EFalse), iSubscribedToEvent(EFalse) { - - TInt lStatus; - RProperty :: Get(KPSUidCtsyCallInformation, KCTsyCallState, lStatus); - - switch(lStatus) { - default: - case EPSCTsyCallStateUninitialized: - case EPSCTsyCallStateNone: - iInformCallEnding = EFalse; - break; - case EPSCTsyCallStateDisconnecting: - case EPSCTsyCallStateAlerting: - case EPSCTsyCallStateHold: - case EPSCTsyCallStateRinging: - case EPSCTsyCallStateDialling: - case EPSCTsyCallStateAnswering: - case EPSCTsyCallStateConnected: - iInformCallEnding = ETrue; - break; - }; -} +CSCPLockObserver::CSCPLockObserver(CSCPQueryDialog* aDialog, TInt aType) : CActive(0), iDialog(aDialog), iSubscribedToEvent(EFalse), iType(aType) + { + } // // ---------------------------------------------------------- // CSCPLockObserver::ConstructL() @@ -157,64 +141,50 @@ // Called by Active Scheduler // ---------------------------------------------------------- // -void CSCPLockObserver :: RunL() { - Dprint(_L("[CSCPLockObserver]-> RunL() >>>")); +void CSCPLockObserver::RunL() + { + + Dprint(_L("CSCPLockObserver::RunL() BEGIN")); + - switch(iType) { - case ESecUiDeviceLockObserver: - TInt autolockState; - iProperty.Get(autolockState); - - if(autolockState > EAutolockOff) { - Dprint(_L("CSCPLockObserver::RunL() TryCancelQueryL Device Lock")); - iDialog->TryCancelQueryL(ESecUiDeviceLocked); - iSubscribedToEvent = EFalse; + switch(iType) + { + case ESecUiDeviceLockObserver: + TInt autolockState; + iProperty.Get( autolockState ); + if (autolockState > EAutolockOff) + { + + Dprint(_L("CSCPLockObserver::RunL() TryCancelQueryL Device Lock")); + + iDialog->TryCancelQueryL(ESecUiDeviceLocked); + iSubscribedToEvent = EFalse; + } + break; + case ESecUiCallStateObserver: + TInt callState; + iProperty.Get( callState ); + + Dprint( (_L("CSCPLockObserver::RunL() callState : %d"),callState )); + if(callState == EPSCTsyCallStateDisconnecting) + { + + Dprint(_L("CSCPLockObserver::RunL() TryCancelQueryL Active Call")); + + iDialog->TryCancelQueryL(EPSCTsyCallStateDisconnecting); + iSubscribedToEvent = EFalse; + } + break; + + default: + break; } - else if((autolockState == EAutolockOff)||(autolockState == EAutolockStatusUninitialized)) - { - Dprint(_L("CSCPLockObserver::RunL() TryCancelQueryL Device UnLocked")); - iDialog->TryCancelQueryL(ESecUiNone); - iSubscribedToEvent = EFalse; - } - break; - case ESecUiCallStateObserver: { - TInt callState; - iProperty.Get(callState); - Dprint( (_L("CSCPLockObserver::RunL() callState before Start() : %d"), callState )); - Start(); - - switch(callState) { - default: - break; - case EPSCTsyCallStateNone: - if(iInformCallEnding) { - Dprint( (_L("CSCPLockObserver::RunL() Branched to EPSCTsyCallStateNone"))); - iDialog->TryCancelQueryL(EEnded); - iInformCallEnding = EFalse; - } - break; - case EPSCTsyCallStateAlerting: - case EPSCTsyCallStateHold: - case EPSCTsyCallStateRinging: - case EPSCTsyCallStateDialling: - case EPSCTsyCallStateAnswering: - case EPSCTsyCallStateConnected: { - Dprint(_L("CSCPLockObserver::RunL() TryCancelQueryL Active Call")); - TRAPD(lErr, iDialog->TryCancelQueryL(EInProgress)); - Dprint( (_L("CSCPLockObserver::RunL() lErr : %d"), lErr )); - iInformCallEnding = ETrue; - } - break; - }; - } - break; - default: - break; - } + + + + Dprint(_L("CSCPLockObserver::RunL() END")); - Dprint(_L("[CSCPLockObserver]-> RunL() <<<")); -} - + } // ---------------------------------------------------------------------------- // CSCPLockObserver::RunError // ---------------------------------------------------------------------------- @@ -222,8 +192,6 @@ { return KErrNone; } - - // // ---------------------------------------------------------- // CSCPLockObserver::DoCancel() @@ -236,8 +204,7 @@ Dprint(_L("CSCPLockObserver::DoCancel() BEGIN")); if(iSubscribedToEvent) - iProperty.Cancel(); - + iProperty.Cancel(); iStatus = KErrNone; Dprint(_L("CSCPLockObserver::DoCancel() END"));