secsrv_plat/security_code_ui_api/inc/SecUiSecurityHandler.h
author hgs
Wed, 20 Oct 2010 14:51:23 +0300
changeset 66 67b3e3c1fc87
parent 30 cc1cea6aabaf
permissions -rw-r--r--
201041

/*
* Copyright (c) 2002 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: 
*		Provides api for handling security events.
*
*
*/


#ifndef     __CSECURIHANDLER_H__
#define     __CSECURIHANDLER_H__

//  INCLUDES

#include <etelmm.h>
#include <rmmcustomapi.h>
#include <e32base.h>
#define EErrorTone 1
#define EConfirmationTone 2

// FORWARD DECLARATIONS
class RTASecuritySession;
class CCodeQueryDialog;

//  CLASS DEFINITIONS 
class CSecurityHandler : public CBase
	{
    public:  
		/**
        * C++ default constructor.
        */
		IMPORT_C CSecurityHandler(RMobilePhone& aPhone);	
		/**
        * Destructor.
        */
		IMPORT_C ~CSecurityHandler();
	public:
		/**
		* Handles different security events. Called from security notifier
		*
		* @param aEvent MAdvGsmPhoneSecurity::TSecurityEvent
		*/	
		IMPORT_C void HandleEventL(RMobilePhone::TMobilePhoneSecurityEvent aEvent);
        IMPORT_C void HandleEventL( RMobilePhone::TMobilePhoneSecurityEvent aEvent, TInt& aResult );
        IMPORT_C void HandleEventL( RMobilePhone::TMobilePhoneSecurityEvent aEvent, TBool aStartup, TInt& aResult );
		/**
		* Asks and verifies the security code.
        *
		* @return ETrue: code was accepted
        *         EFalse: user canceled the code query		  
		*/			
		IMPORT_C TBool AskSecCodeL();			
		/**
        * Clears activated security query. Called from security notifier when
		* there is incoming call
     	*/	
		IMPORT_C void CancelSecCodeQuery();	
		/**
		* Asks and verifies the security code when device is locked.
        * Unlocks the device if code was accepted
		*
		* @return ETrue: code was accepted and device is unlocked
        *         EFalse: user canceled the code query		  
		*/			
		IMPORT_C TBool AskSecCodeInAutoLockL(); 		
	private:    
		/**
        * Handles EPin1Required security event
     	*/	
        TInt Pin1RequiredL();
		/**
        * Handles EPuk1Required security event
     	*/	
        TInt Puk1RequiredL();
		/**
        * Handles EPin2Required security event
     	*/	
		void Pin2RequiredL();
		/**
        * Handles EPuk2Required security event
     	*/	
		void Puk2RequiredL();
        /**
        * Handles EUniversalPinRequired security event
     	*/	
        TInt UPinRequiredL();
        /**
        * Handles EUniversalPukRequired security event
     	*/	
        TInt UPukRequiredL();
		/**
        * Handles EPassPhraseRequired security event
     	*/	
        TInt PassPhraseRequiredL();
		/**
        * Handles sim lock pending event
     	*/	
		void SimLockEventL();
        /**
        *  Removes the splashscreen
        */
        void RemoveSplashScreenL() const;
        
        /**
        *  ShowGenericErrorNoteL
        */
        void ShowGenericErrorNoteL(TInt aStatus);
        /**
        *  CancelOpenQuery
        */
			TInt CancelOpenQuery(TInt aStatus);
		  HBufC* TranslateLC(const TDesC& aMessageId, TInt aFlags);

	private: // DATA
		/*****************************************************
		*	Series 60 Customer / ETel
		*	Series 60  ETel API
		*****************************************************/
		RMobilePhone& iPhone;
		TBool iQueryCanceled;
		CCodeQueryDialog* iSecurityDlg;
		TBool* iDestroyedPtr;
        RMmCustomAPI iCustomPhone;
        RTASecuritySession* iSecuritySession;
        TBool iStartup; // System state: true means we are in the middle of a boot.
	};
#endif                  
// End of file