secsrv_plat/security_code_ui_api/inc/SecUiSecuritySettings.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:19:59 +0100
branchRCL_3
changeset 22 03674e5abf46
parent 21 09b1ac925e3f
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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 changing security settings.  
*
*
*/


#ifndef     __CSECUISECURITYSETTINGS_H
#define     __CSECUISECURITYSETTINGS_H

//  INCLUDES
#include <etelmm.h>
#include <rmmcustomapi.h>
#include <aknnotedialog.h>


class CWait;
class CSecurityHandler;

//  CLASS DEFINITIONS 
class CSecuritySettings : public CBase
	{
    public: 
		/**
        * Creates instance of the CSecuritySettings class.
        *
		* @return Returns the instance just created.
        */
		IMPORT_C static CSecuritySettings* NewL();
		/**
        * Destructor.
        */
		IMPORT_C ~CSecuritySettings();
		/**
        * C++ default constructor.
        */
		IMPORT_C CSecuritySettings();
		/**
		* Symbian OS constructor.
        */
		IMPORT_C void ConstructL();
	public:
		/**
        * Launches dialogs for changing pin code 
        */
		IMPORT_C void  ChangePinL();
        /**
        * Launches dialogs for changing upin code
        */
		IMPORT_C void  ChangeUPinL();
		/**
        * Launches dialogs for changing pin2 code
        */
		IMPORT_C void  ChangePin2L();
		/**
        * Launches dialogs for changing security code
        */
		IMPORT_C void  ChangeSecCodeL();
		/**
        * Launches dialogs for changing autolock period
        *
		* @param aPeriod TInt (old autolock value)
		* @return TInt (new autolock value) 
		*/
		IMPORT_C TInt  ChangeAutoLockPeriodL(TInt aPeriod);	
		/**
        * Launches dialogs for changing sim change security setting
        *
		* @return ETrue: successful
		*         EFalse: user cancelled 
		*/
		IMPORT_C TBool ChangeSimSecurityL();				
		/**
        * Launches dialogs for changing pin request setting
        *
		* @return ETrue: successful
		*         EFalse: user cancelled
		*/
		IMPORT_C TBool ChangePinRequestL();
        /**
        * Launches dialogs for changing upin request setting
        *
		* @return ETrue: successful
		*         EFalse: user cancelled
		*/
		IMPORT_C TBool ChangeUPinRequestL();
        /**
        * Launches dialogs for changing code in use setting
        *
		* @return ETrue: successful
		*         EFalse: user cancelled
		*/
		IMPORT_C TBool SwitchPinCodesL();
		/**
        * Is aLockType lock on or off
        *
		* @param aLockType RAdvGsmPhone::TLockType
		* @return ETrue: lock is on
        *         EFalse: lock is off
		*/
		IMPORT_C TBool IsLockEnabledL(RMobilePhone::TMobilePhoneLock aLockType);
		/**
        * Launches dialogs for fixed dialing settings
        */
		IMPORT_C void SetFdnModeL();		
		/**
		* Gets current fixed dialing mode
		*
		* @param aFdnMode RMobilePhone::TMobilePhoneFdnStatus& (fixed dialing mode)
		* @return TInt: KErrNone (succesful) 
		*/
		IMPORT_C TInt GetFdnMode(RMobilePhone::TMobilePhoneFdnStatus& aFdnMode);		
		/**
		* Asks and verifies the security code.
        *
		* @return ETrue: code was accepted
        *         EFalse: user canceled the code query		  
		*/			
		IMPORT_C TBool AskSecCodeL();			
		/**
		* Asks and verifies the pin2 code.
		*
		* @return ETrue: code was accepted
		*         EFalse: user canceled the code query
		*/
		IMPORT_C TBool AskPin2L();
		/**
		* Checks whether UPIN code is supported.
		*
		* @return ETrue: UPIN code is supported.
		*         EFalse: UPIN code is not supported.
		*/
		IMPORT_C TBool IsUpinSupportedL();
		/**
		* Checks whether a code is blocked.
		*
		* @return ETrue:  code is blocked.
		*         EFalse: code is not blocked.
		*/
		IMPORT_C TBool IsUpinBlocked();
        /**
		* Checks whether a code is blocked.
		*
		* @return ETrue:  Upin is active.
		*         EFalse: Upin is not active.
		*/
		IMPORT_C TBool IsUpinActive();
        /**
        * Shows error note 
        *
		* @return Void
		*/			
		static void ShowErrorNoteL(TInt aError);
		/**
        * Shows error note 
        *
		* @return Void
		*/			
		static void ShowResultNoteL(TInt aResourceID, CAknNoteDialog::TTone aTone);

        IMPORT_C TInt ChangeRemoteLockStatusL( TBool& aRemoteLockStatus, TDes& aRemoteLockCode, TInt aAutoLockPeriod );
        
        TInt RemoteLockCodeQueryL( TDes& aRemoteLockCode );
        
    private:
    
        TInt RemoteLockSetLockSettingL( TBool aLockSetting );    
        
	private: // DATA	
		TBool iPuk1;
		TBool iPuk2;

		/*****************************************************
		*	Series 60 Customer / ETel
		*	Series 60  ETel API
		*****************************************************/
		RTelServer      iServer;
		RMobilePhone    iPhone;
		RMmCustomAPI	iCustomPhone;
		CWait*			iWait;
        CSecurityHandler* iSecurityHandler;
	};


#endif      
            
// End of file