diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/ctsydispatchlayer/exportinc/mltsydispatchsecurityinterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/ctsydispatchlayer/exportinc/mltsydispatchsecurityinterface.h Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,358 @@ +// Copyright (c) 2008-2009 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: +// This file contains all the interfaces classes that can be implemented by +// the Licensee LTSY relating to Security related features. +// + + + + +/** + @file + @internalAll +*/ + + +#ifndef MLTSYDISPATCHSECURITYINTERFACE_H_ +#define MLTSYDISPATCHSECURITYINTERFACE_H_ + +#include +#include +#include + +namespace DispatcherSecurity + { + + /** + * This namespace contains all types relating to the Security dispatcher. + */ + + enum TSecurityCodeId + { + ESecCodeSecurity = 1, + ESecCodePin, + ESecCodePuk, + ESecCodePin2, + ESecCodePuk2, + ESecCodeUpin = 7 + }; + + } + +class MLtsyDispatchSecurityGetSecurityCodeInfo : public MLtsyDispatchInterface + { +public: + + static const TInt KLtsyDispatchSecurityGetSecurityCodeInfoApiId = KDispatchSecurityFuncUnitId + 1; + + /** + * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetSecurityCodeInfo + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityGetSecurityCodeInfoComp() + * + * Implementation of this interface should allow a client to retrieve the current number or remaining entry attempts of a + * security code. + * + * @param aSecCode The security code whose information is to be retrieved. + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleGetSecurityCodeInfoReqL(RMobilePhone::TMobilePhoneSecurityCode aSecCode) = 0; + + }; // class MLtsyDispatchSecurityGetSecurityCodeInfo + + + +class MLtsyDispatchSecurityGetLockInfo : public MLtsyDispatchInterface + { +public: + + static const TInt KLtsyDispatchSecurityGetLockInfoApiId = KDispatchSecurityFuncUnitId + 2; + + /** + * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetLockInfo + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityGetLockInfoComp() + * + * Implementation of this interface should retrieve the current status and setting of a lock. + * + * @param aLockType The lock type whose information is to be retrieved. + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleGetLockInfoReqL(RMobilePhone::TMobilePhoneLock aLockType) = 0; + + }; // class MLtsyDispatchSecurityGetLockInfo + + + +class MLtsyDispatchSecurityAbortSecurityCode : public MLtsyDispatchInterface + { +public: + + static const TInt KLtsyDispatchSecurityAbortSecurityCodeApiId = KDispatchSecurityFuncUnitId + 3; + + /** + * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneAbortSecurityCode + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityAbortSecurityCodeComp() + * + * Implementation of this interface should inform the phone that the user has cancelled an outstanding + * "get security code" or "verify security code" request. + * + * @param aSecCode Specifies which code request has been cancelled. + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleAbortSecurityCodeReqL(RMobilePhone::TMobilePhoneSecurityCode aSecCode) = 0; + + }; // class MLtsyDispatchSecurityAbortSecurityCode + + + +class MLtsyDispatchSecurityGetCurrentActivePin : public MLtsyDispatchInterface + { +public: + + static const TInt KLtsyDispatchSecurityGetCurrentActivePinApiId = KDispatchSecurityFuncUnitId + 4; + + /** + * The CTSY Dispatcher shall invoke this function on receiving the EMmTsySecurityGetSimActivePinStateIPC + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityGetCurrentActivePinComp() + * + * Implementation of this interface should prepare the updating the information of the currently active PIN. + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleGetCurrentActivePinReqL() = 0; + + }; // class MLtsyDispatchSecurityGetCurrentActivePin + + + +class MLtsyDispatchSecuritySetLockSetting : public MLtsyDispatchInterface + { +public: + + static const TInt KLtsyDispatchSecuritySetLockSettingApiId = KDispatchSecurityFuncUnitId + 5; + + /** + * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetLockSetting + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecuritySetLockSettingComp() + * + * Implementation of this interface should allow a client to change the current setting of a lock. + * + * @param aLock The lock to change. + * @param aSetting The new settings for the lock. + * @param aPassword The password paramaters. + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + * + * @see RMobilePhone::SetLockSetting() + */ + virtual TInt HandleSetLockSettingReqL(RMobilePhone::TMobilePhoneLock aLock, RMobilePhone::TMobilePhoneLockSetting aSetting, const TDesC& aPassword) = 0; + + }; // class MLtsyDispatchSecuritySetLockSetting + + + +class MLtsyDispatchSecurityVerifySecurityCode : public MLtsyDispatchInterface + { +public: + + static const TInt KLtsyDispatchSecurityVerifySecurityCodeApiId = KDispatchSecurityFuncUnitId + 6; + + /** + * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneVerifySecurityCode + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityVerifySecurityCodeComp() + * + * Implementation of this interface should send a security code requiring verification to the phone. + * + * If the security code required is one of the unblock codes (either PUK1 or + * PUK2), then the user must supply a new PIN1 or PIN2 code as well as the associated + * unblocking code. In this case, aUnblockCode will contain the unblocking code + * and aCode will contain the new PIN1 or PIN2 value. If the security code required + * is NOT one of the unblock codes, then the user only has to supply the one + * security code. In this case, aUnblockCode will be invalid and aCode will contain + * the required security code (PIN1, PIN2 or Phone Password). + * + * @param aSecCode The type of code that is to be verified. + * @param aCodes The actual code and if a PUK1 or PUK2 is specified, the PUK code. + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleVerifySecurityCodeReqL( + RMobilePhone::TMobilePhoneSecurityCode aSecCode, + const RMobilePhone::TCodeAndUnblockCode& aCodes) = 0; + + }; // class MLtsyDispatchSecurityVerifySecurityCode + +class MLtsyDispatchSecurityGetPin1DisableSupported : public MLtsyDispatchInterface + { +public: + static const TInt KLtsyDispatchSecurityGetPin1DisableSupportedApiId = KDispatchSecurityFuncUnitId + 7; + /** + * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneGetPin1DisableSupportedIPC + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityGetPin1DisableSupportedComp() + * + * Implementation of this interface should complete whether the SIM supports disabling of PIN1. + * This is retrieved from either the EFsst (defined in 3GPP TS 31.102) or + * EFust (defined in 3GPP TS 11.11) tables. + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleGetPin1DisableSupportedReqL() = 0; + + }; // class MLtsyDispatchSimGetPin1DisableSupported + +class MLtsyDispatchSecurityCheckSecurityCode : public MLtsyDispatchInterface + { +public: + static const TInt KLtsyDispatchSecurityCheckSecurityCodeApiId = KDispatchSecurityFuncUnitId + 8; + /** + * The CTSY Dispatcher shall invoke this function on receiving the ECustomCheckSecurityCodeIPC + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityCheckSecurityCodeComp() + * + * Implementation of this interface should anwser the check security code request. + * + * @param aCodeID Code ID. + * @param aSecCode Security code (maximum length = KMaxMobilePasswordSize). + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleCheckSecurityCodeReqL(DispatcherSecurity::TSecurityCodeId aSecCodeID, const TDes& aSecCode) = 0; + + }; // class MLtsyDispatchSecurityCheckSecurityCode + + +class MLtsyDispatchSecurityDisablePhoneLock : public MLtsyDispatchInterface + { +public: + static const TInt KLtsyDispatchSecurityDisablePhoneLockApiId = KDispatchSecurityFuncUnitId + 9; + /** + * The CTSY Dispatcher shall invoke this function on receiving the ECustomDisablePhoneLockIPC + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityDisablePhoneLockComp() + * + * Implementation of this interface should disable phone lock. + * + * @param aSecCode Security code (maximum length = KMaxMobilePasswordSize). + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleDisablePhoneLockReqL(const TDesC& aSecCode) = 0; + + }; // class MLtsyDispatchSecurityDisablePhoneLock + +class MLtsyDispatchSecurityGetCipheringInfo : public MLtsyDispatchInterface + { +public: + static const TInt KLtsyDispatchSecurityGetCipheringInfoApiId = KDispatchSecurityFuncUnitId + 10; + /** + * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetCipheringInfoIPC + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityGetCipheringInfoComp() + * + * Implementation of this interface should allow retrieving ciphering info: indicator and ciphering status. + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleGetCipheringInfoReqL() = 0; + + }; // class MLtsyDispatchSecurityGetCipheringInfo + + +class MLtsyDispatchSecurityIsSecurityCodeBlocked : public MLtsyDispatchInterface + { +public: + static const TInt KLtsyDispatchSecurityIsSecurityCodeBlockedApiId = KDispatchSecurityFuncUnitId + 11; + /** + * The CTSY Dispatcher shall invoke this function on receiving the ECustomIsBlockedIPC + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityIsSecurityCodeBlockedComp() + * + * Implementation of this interface should support retrieving synchronously the information + * if the security code is blocked or not. + * + * @param aCodeID Code ID. + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleIsSecurityCodeBlockedReqL(DispatcherSecurity::TSecurityCodeId aSecCodeID) = 0; + + }; // class MLtsyDispatchSecurityIsSecurityCodeBlocked + +class MLtsyDispatchSecurityCheckSecurityCodeCancel : public MLtsyDispatchInterface + { +public: + static const TInt KLtsyDispatchSecurityCheckSecurityCodeCancelApiId = KDispatchSecurityFuncUnitId + 12; + /** + * The CTSY Dispatcher shall invoke this function on receiving the ECustomCheckSecurityCodeCancelIPC + * request from the CTSY. + * + * It is a request call that is completed by invoking + * CCtsyDispatcherCallback::CallbackSecurityCheckSecurityCodeCancelComp() + * + * Implementation of this interface should cancel check security code request. + * + * @param aCodeID Code ID. + * + * @return KErrNone on success, otherwise another error code indicating the + * failure. + */ + virtual TInt HandleCheckSecurityCodeCancelReqL(DispatcherSecurity::TSecurityCodeId aSecCodeID) = 0; + + }; // class MLtsyDispatchSecurityCheckSecurityCodeCancel + + + +#endif /*MLTSYDISPATCHSECURITYINTERFACE_H_*/