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 <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelmm.h>
+#include <ctsy/serviceapi/cmmutility.h>
+
+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_*/