idlefw/plugins/wsplugin/src/keylockhandler.cpp
branchRCL_3
changeset 8 d0529222e3f0
parent 4 1a2a00e78665
child 11 bd874ee5e5e2
--- a/idlefw/plugins/wsplugin/src/keylockhandler.cpp	Tue Feb 02 00:23:10 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
-* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Keylock handler implementation for Active Idle WS Plug-in
-*
-*/
-
-
-#include "keylockhandler.h"
-#include "keyhandlertimer.h"
-#include "keylockstates.h"
-#include "aiwspluginanimdef.h"
-#include "uistate.h"
-
-#include <e32property.h>
-#include <activeidle2internalpskeys.h>
-#include <keylockpolicyapi.h>
-
-#include "debug.h"
-
-namespace AiWsPlugin {
-
-CKeyLockHandler::CKeyLockHandler() :
-    // Initialize to start-up state
-    iCurrentState( &TKeylockState::StartupState() ),
-    iNextState( &iCurrentState->iDefaultNextState() )
-    {
-    }
-    
-void CKeyLockHandler::ConstructL()
-    {
-    // Read capability: ReadDeviceData.
-    _LIT_SECURITY_POLICY_C1( KReadDevicePolicy, ECapabilityReadDeviceData );
-    // Write capability: WriteDeviceData.
-    _LIT_SECURITY_POLICY_C1( KWriteDevicePolicy, ECapabilityWriteDeviceData );
-
-    // Initialize Shortcut Plug-in command API
-    RProperty::Define( 
-    	KUidSystemCategory,
-    	KPSUidShortcutCmd,  
-      	RProperty::EText,
-        KReadDevicePolicy,
-        KWriteDevicePolicy 
-        );
-
-    iSettings.ReadFromRepositoryL();    
-    iKeypadLockTimer = CPeriodic::NewL( CActive::EPriorityUserInput );
-    iKeylockApi = CKeyLockPolicyApi::NewL( EPolicyActivateKeyguard );
-    if ( !iKeylockApi->HasConfiguration() )
-        {
-        delete iKeylockApi;
-        iKeylockApi = NULL;
-        }
-    }
-
-CKeyLockHandler* CKeyLockHandler::NewLC()
-    {
-    CKeyLockHandler* self = new( ELeave ) CKeyLockHandler;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-CKeyLockHandler::~CKeyLockHandler()
-    {
-    delete iKeypadLockTimer;
-    delete iKeylockApi;
-    }
-
-void CKeyLockHandler::SetUiStateQuery( MUiState& aUiState )
-    {
-    iUiState = &aUiState;
-    }
-
-TBool CKeyLockHandler::HasFocus()
-    {
-    return iUiState->HasFocus();
-    }
-    
-TBool CKeyLockHandler::TimeoutTimerActive()
-    {
-    return iKeypadLockTimer->IsActive();
-    }
-
-void CKeyLockHandler::FocusChanged( TBool aState )
-    {
-    iCurrentState->FocusChanged( *this, aState );
-    }
-    
-TBool CKeyLockHandler::OfferRawEvent(const TRawEvent& aRawEvent)
-    {
-    return iCurrentState->OfferRawEvent( *this, aRawEvent );    
-    }
-
-TBool CKeyLockHandler::IsFirstLockKey( TInt aScanCode )
-    {  
-    if ( iKeylockApi )
-        {
-        TKeyEvent event;
-        event.iModifiers = 0;
-        event.iCode = 0;
-        event.iRepeats = 0;
-        event.iScanCode = aScanCode;
-        // Keylock API return ETrue on handlekeyeventL only if the whole key
-        // sequence has been inputted (1st + 2nd key pressed)
-        TRAP_IGNORE(iKeylockApi->HandleKeyEventL( event,EEventKeyDown ));
-        return iKeylockApi->PrimaryKeyPressed();
-        }
-    else
-        {
-        return Settings().IsFirstLockKey( aScanCode );
-        }
-    }
-
-TBool CKeyLockHandler::IsSecondLockKey( TInt aScanCode )
-    {   
-    TBool returnValue = EFalse;
-    if ( iKeylockApi )
-        {
-        TKeyEvent event;
-        event.iModifiers = 0;
-        event.iCode = 0;
-        event.iRepeats = 0;
-        event.iScanCode = aScanCode;
-        TRAP_IGNORE(returnValue = iKeylockApi->HandleKeyEventL( event,EEventKeyDown ));
-        return returnValue;
-        }
-    else
-        {
-        return Settings().IsSecondLockKey( aScanCode );
-        }
-    }
-
-const TKeypadSettings& CKeyLockHandler::Settings() const
-    {
-    return iSettings;
-    }
-
-void CKeyLockHandler::StartTimeoutTimer( TInt aTimeout )
-    {
-    __PRINTS( "AiWsPlugin: CKeyLockHandler::StartTimeoutTimer()" );
-    
-    iKeypadLockTimer->Cancel();
-    if( aTimeout < 0 )
-        {
-        iKeypadLockTimer->Start( 
-            iSettings.KeylockTimeout(), iSettings.KeylockTimeout(),
-            TCallBack( &CKeyLockHandler::TimerElapsed, this ) );
-        }
-    else
-        {
-        iKeypadLockTimer->Start( 
-            aTimeout, aTimeout,
-            TCallBack( &CKeyLockHandler::TimerElapsed, this ) );
-        }
-    }
-    
-void CKeyLockHandler::StopTimeoutTimer()
-    {
-    __PRINTS( "AiWsPlugin: CKeyLockHandler::StopTimeoutTimer()" );
-    iKeypadLockTimer->Cancel();
-    }
-
-void CKeyLockHandler::ActivateKeypadLock()
-	{
-    __PRINTS( "AiWsPlugin: CKeyLockHandler::ActivateKeypadLock()" );
-	StopTimeoutTimer();
-	// Use Shortcut Plug-in API to set the keylock
-	RProperty::Set(
-		KUidSystemCategory, 
-	    KPSUidShortcutCmd,
-	    KAiPSEnableKeyLock );
-    }
-
-void CKeyLockHandler::CancelKeypadLock()
-	{
-    __PRINTS( "AiWsPlugin: CKeyLockHandler::CancelKeypadLock()" );
-	StopTimeoutTimer();
-	RProperty::Set(
-		KUidSystemCategory, 
-	    KPSUidShortcutCmd,
-	    KAiPSSkipKeyLock );
-	} 
-
-void CKeyLockHandler::KeypadLockTimeout()
-	{
-    __PRINTS( "AiWsPlugin: CKeyLockHandler::CancelKeypadLock()" );
-	StopTimeoutTimer();
-	RProperty::Set(
-		KUidSystemCategory, 
-	    KPSUidShortcutCmd,
-	    KAiPSKeyLockTimeout );
-	} 
-
-void CKeyLockHandler::SetNextState( const TKeylockState& aState )
-    {
-    iNextState = &aState;
-    }
-
-void CKeyLockHandler::ActivateNextState()
-    {
-    iCurrentState = iNextState;
-    iNextState = &(*iCurrentState->iDefaultNextState)();
-    }
-
-void CKeyLockHandler::SetLastLockKeyScanCode( TInt aScanCode )
-    {
-    iLastLockKeyScanCode = aScanCode;
-    }
-    
-TInt CKeyLockHandler::LastLockKeyScanCode() const
-    {
-    return iLastLockKeyScanCode;
-    }
-    
-TInt CKeyLockHandler::TimerElapsed(TAny* aSelf)
-    {
-    CKeyLockHandler* self = static_cast<CKeyLockHandler*>(aSelf);
-    if( self )
-        {
-        self->iCurrentState->TimerElapsed( *self );
-        }
-    return KErrNone;
-    }
-    
-void CKeyLockHandler::TimerDone()
-    {
-        
-    }
-
-} // namespace AiWsPlugin