--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/securitydialogs/lockapp/inc/lockappbasecontrol.h Tue Jan 26 15:20:08 2010 +0200
@@ -0,0 +1,158 @@
+/*
+* 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: Base control for logical UI components
+ *
+*/
+
+
+#ifndef __LOCKAPPBASECONTROL_H__
+#define __LOCKAPPBASECONTROL_H__
+
+// INCLUDES
+#include <coecntrl.h>
+#include "lockappstateobserver.h"
+#include "lockapplockednote.h"
+#include "lockappkeypattern.h"
+#include <keylockpolicyapi.h>
+
+// FORWARD DECLARATIONS
+class MLockAppStateControl;
+class CEikButtonGroupContainer;
+
+/**
+ * CLockAppBaseControl class is the base control of lockapp state controls,
+ * provides common interface and some protected utility methods.
+ *
+ * @lib lockapp
+ * @since 5.0
+ * @author Joona Petrell
+ * @author Tamas Koteles
+ */
+class CLockAppBaseControl : public CCoeControl, public MLockAppStateObserver
+ {
+ public:
+
+ /**
+ * Destructor.
+ */
+ ~CLockAppBaseControl( );
+
+ /**
+ * From @c MLockAppStateObserver. Method handles the lock state changes.
+ *
+ * @param aStatus The new lock state
+ */
+ virtual void HandleLockStatusChangedL( TLockStatus aStatus );
+
+ /**
+ * Handles control activation.
+ *
+ * @param aEnvMask environment bitmask
+ */
+ virtual void HandleActivateEventL( TUint aEnvMask );
+
+ /**
+ * Handles control deactivation.
+ *
+ * @param aEnvMask environment bitmask
+ */
+ virtual void HandleDeActivateEventL( TUint aEnvMask );
+
+ /**
+ * Handle environment bitmask change.
+ *
+ * @param aEnvMask environment bitmask
+ * @param aEventMask event bitmask
+ */
+ virtual void HandleEnvironmentChange( TUint aEnvMask, TUint aEventMask );
+
+ protected:
+
+ /**
+ * Default Constructor.
+ *
+ * @param aStateControl state control interface
+ */
+ CLockAppBaseControl( MLockAppStateControl& aStateControl );
+
+ /**
+ * 2nd phase constructor.
+ */
+ void ConstructL( );
+
+ /**
+ * Set up the control's keypattern matcher with the specified keylockpolicy.
+ *
+ * @param aType keylock policy type (lock,unlock,devicelock)
+ */
+ TBool SetupKeyPatternsWithPolicyL( TLockPolicyType aType );
+
+ /**
+ * Show a note. (cancels previous one if shown)
+ *
+ * @param aNote note to be shown
+ * @param aTimeout timeout for the note
+ * @param aTone tone type
+ */
+ void ShowNote( CLockAppLockedNote* aNote, const TInt aTimeout,
+ const CAknNoteDialog::TTone aTone );
+
+ /**
+ * Dismisses a note.
+ */
+ void CancelNote( );
+
+ /**
+ * Capture/Release primary keys.
+ */
+ void CapturePrimaryKeys( const TBool aCapture );
+
+ /**
+ * Show/Hide softkey cba.
+ */
+ void ShowCba( const TBool aShow );
+
+ /**
+ * Capture/Release pointer events.
+ */
+ void SetPointerEventCapture( const TBool aEnable );
+
+ /**
+ * Show/Hide keyguard indicator state.
+ */
+ void SetKeyguardIndicatorStateL( const TBool aEnable );
+
+ protected:
+
+ // interface to parent state control
+ MLockAppStateControl& iStateControl;
+
+ // application's window group
+ RWindowGroup& iWindowGroup;
+
+ // control's currently shown note (not owned)
+ CLockAppLockedNote* iCurrentNote;
+
+ // control's Cba (owned)
+ CEikButtonGroupContainer* iCba;
+
+ // key pattern matching (owned)
+ CLockAppKeyPattern* iKeyPattern;
+
+ // if control is active
+ TBool iActive;
+
+ };
+
+#endif // __LOCKAPPBASECONTROL_H__