diff -r 09b1ac925e3f -r 03674e5abf46 securitydialogs/lockapp/src/lockappwait.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitydialogs/lockapp/src/lockappwait.cpp Wed Sep 01 12:19:59 2010 +0100 @@ -0,0 +1,176 @@ +/* +* Copyright (c) 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: Async-Sync utility class + * +*/ + + +#include +#include +#include +#include "lockappwait.h" + +// ---------------------------------------------------------- +// Standard Symbian OS construction sequence +// ---------------------------------------------------------- +// +CWait* CWait::NewL( ) + { + CWait* self = new (ELeave) CWait( ); + CleanupStack::PushL( self ); + self->ConstructL( ); + CleanupStack::Pop( self ); + return self; + } + +// ---------------------------------------------------------- +// 2nd phase constructor. +// ---------------------------------------------------------- +// +void CWait::ConstructL( ) + { + CActiveScheduler::Add( this ); + } + +// ---------------------------------------------------------- +// Constructor +// ---------------------------------------------------------- +// +CWait::CWait( ) : + CActive(0) + { + // no implementation required + } + +// ---------------------------------------------------------- +// Destructor. +// ---------------------------------------------------------- +// +CWait::~CWait( ) + { + Cancel( ); + } + +// ---------------------------------------------------------- +// +// ---------------------------------------------------------- +// +TInt CWait::WaitForRequestL( ) + { + CWaitAbsorbingControl* absorbing = CWaitAbsorbingControl::NewLC( ); + SetActive( ); + iWait.Start( ); + CleanupStack::PopAndDestroy( absorbing ); + return iStatus.Int( ); + } + +// ---------------------------------------------------------- +// +// ---------------------------------------------------------- +// +void CWait::RunL( ) + { + if ( iWait.IsStarted( ) ) + { + iWait.AsyncStop( ); + } + } + +// ---------------------------------------------------------- +// Cancels code request +// ---------------------------------------------------------- +// +void CWait::DoCancel( ) + { + if ( iWait.IsStarted( ) ) + { + iWait.AsyncStop( ); + } + } + +// ---------------------------------------------------------- +// Sets active request type +// ---------------------------------------------------------- +// +void CWait::SetRequestType(TInt aRequestType ) + { + iRequestType = aRequestType; + } + +// ---------------------------------------------------------- +// Gets active request type +// ---------------------------------------------------------- +// +TInt CWait::GetRequestType( ) + { + return iRequestType; + } + +// ---------------------------------------------------------- +// Standard Symbian OS construction sequence +// ---------------------------------------------------------- +// +CWaitAbsorbingControl* CWaitAbsorbingControl::NewLC( ) + { + CWaitAbsorbingControl* self= new (ELeave) CWaitAbsorbingControl(); + CleanupStack::PushL( self ); + self->ConstructL( ); + return self; + } + +// ---------------------------------------------------------- +// +// ---------------------------------------------------------- +// +CWaitAbsorbingControl::CWaitAbsorbingControl( ) + { + // no implementation required + } + +// ---------------------------------------------------------- +// Destructor. +// ---------------------------------------------------------- +// +CWaitAbsorbingControl::~CWaitAbsorbingControl( ) + { + if ( iCoeEnv && iAppUi ) + iAppUi->RemoveFromStack( this ); + } + +// ---------------------------------------------------------- +// +// ---------------------------------------------------------- +// +void CWaitAbsorbingControl::ConstructL( ) + { + CreateWindowL( ); + SetExtent( TPoint( 0, 0 ), TSize( 0, 0 ) ); + ActivateL( ); + SetPointerCapture( ETrue ); + ClaimPointerGrab( ETrue ); + iAppUi = iEikonEnv->EikAppUi(); + iAppUi->AddToStackL( this, ECoeStackPriorityEnvironmentFilter ); + } + +// ---------------------------------------------------------- +// +// ---------------------------------------------------------- +// +TKeyResponse CWaitAbsorbingControl::OfferKeyEventL(const TKeyEvent& /*aKeyEvent*/, TEventCode /*aType*/) + { + RDebug::Printf( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 1 ); + return EKeyWasConsumed; + } + +// End of file