securitydialogs/lockapp/inc/lockappwait.h
branchRCL_3
changeset 50 03674e5abf46
parent 0 164170e6151a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/securitydialogs/lockapp/inc/lockappwait.h	Wed Sep 01 12:19:59 2010 +0100
@@ -0,0 +1,130 @@
+/*
+* 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
+ *
+*/
+
+
+#ifndef __LOCKAPPWAIT_H
+#define __LOCKAPPWAIT_H
+
+//  INCLUDES
+
+#include <e32base.h>
+#include <eikappui.h>
+#include <coecntrl.h>
+
+//  CLASS DEFINITIONS
+class CWait : public CActive
+	{
+public:
+	/**
+	 * Creates instance of the CWait class.
+	 *
+	 * @return Returns the instance just created.
+	 */
+	static CWait* NewL( );
+
+	/**
+	 * Destructor.
+	 */
+	~CWait( );
+
+	/**
+	 * Starts waiting for aReqStatus.
+	 */
+	TInt WaitForRequestL( );
+
+	/**
+	 * Sets active request type.
+	 */
+	void SetRequestType(TInt aRequestType );
+	
+	/**
+	 * Gets active request type.
+	 */
+	TInt GetRequestType( );
+
+private:
+	
+	/**
+	 * C++ default constructor.
+	 */
+	CWait( );
+	
+	/**
+	 * Symbian OS constructor.
+	 */
+	void ConstructL( );
+
+private: // from CActive
+
+	/** @see CActive::RunL() */
+	void RunL( );
+
+	/** @see CActive::DoCancel() */
+	void DoCancel( );
+
+private: // data
+
+	RTimer iTimer;
+
+	CActiveSchedulerWait iWait;
+
+	// Used if there is a need to cancel an active request;
+	// namely in situations where destructor is called when Wait
+	// is active.
+	TInt iRequestType;
+	};
+
+// ----------------------------------------------------------
+// CWaitAbsorbingControl
+// absorbs all the key presses.
+// ----------------------------------------------------------
+//
+class CWaitAbsorbingControl : public CCoeControl
+	{
+public:
+
+	/**
+	 * Creates instance of the CWaitAbsorbingControl class.
+	 *
+	 * @return Returns the instance just created.
+	 */
+	static CWaitAbsorbingControl* NewLC( );
+
+	/**
+	 * Destructor.
+	 */
+	virtual ~CWaitAbsorbingControl( );
+
+private:
+
+	virtual TKeyResponse OfferKeyEventL(const TKeyEvent& /*aKeyEvent*/, TEventCode /*aType*/);
+
+private:
+
+	CWaitAbsorbingControl( );
+
+	void ConstructL( );
+
+private: // data
+
+	CEikAppUi* iAppUi;
+
+	};
+
+#endif
+
+// End of file