Telephony/ctsydispatchlayer/exportinc/mltsydispatchsiminterface.h
changeset 21 ab1d0f4d2aa4
child 22 e3587ca0d5e1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsiminterface.h	Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,775 @@
+// 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 Sim related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll 
+*/
+
+
+#ifndef MLTSYDISPATCHSIMINTERFACE_H_
+#define MLTSYDISPATCHSIMINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelmm.h>
+#include <ctsy/rmmcustomapi.h>
+
+
+class MLtsyDispatchSimGetApnControlListServiceStatus : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimGetApnControlListServiceStatusApiId = KDispatchSimFuncUnitId + 1;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetAPNControlListServiceStatus
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimGetApnControlListServiceStatusComp()
+	 *
+	 * Implementation of this interface should get the current Apn Control List Service status from the LTSY.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleGetApnControlListServiceStatusReqL() = 0;
+
+	}; // class MLtsyDispatchSimGetApnControlListServiceStatus
+
+
+
+class MLtsyDispatchSimDeleteApnName : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimDeleteApnNameApiId = KDispatchSimFuncUnitId + 2;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneDeleteAPNName
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimDeleteApnNameComp()
+	 *
+	 * Implementation of this interface should delete the given entry from the APN control list.
+	 *
+	 * @param aIndex The index of the entry to delete.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleDeleteApnNameReqL(TUint32 aIndex) = 0;
+
+	}; // class MLtsyDispatchSimDeleteApnName
+
+
+
+class MLtsyDispatchSimEnumerateApnEntries : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimEnumerateApnEntriesApiId = KDispatchSimFuncUnitId + 3;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneEnumerateAPNEntries
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimEnumerateApnEntriesComp()
+	 *
+	 * Implementation of this interface should enumerate the available APN names in the Access Control list.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleEnumerateApnEntriesReqL() = 0;
+
+	}; // class MLtsyDispatchSimEnumerateApnEntries
+
+
+
+class MLtsyDispatchSimChangeSecurityCode : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimChangeSecurityCodeApiId = KDispatchSimFuncUnitId + 4;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneChangeSecurityCode
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimChangeSecurityCodeComp()
+	 *
+	 * Implementation of this interface should allow a client to change a security code.
+	 *
+	 * @param aSecCode The security code to be changed.
+	 * @param aPasswds The old and the new values of the security code.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleChangeSecurityCodeReqL(RMobilePhone::TMobilePhoneSecurityCode aSecCode,
+			   								  const RMobilePhone::TMobilePhonePasswordChangeV1& aPasswds) = 0;
+
+	}; // class MLtsyDispatchSimChangeSecurityCode
+
+
+
+class MLtsyDispatchSimSetFdnSetting : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimSetFdnSettingApiId = KDispatchSimFuncUnitId + 5;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetFdnSetting
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimSetFdnSettingComp()
+	 *
+	 * Implementation of this interface should activate or deactivate the Fixed Dialling Numbers (FDN) service
+	 * PIN2 must have been verified prior to changing the Fixed Dialling Numbers setting.
+	 *
+	 * @param aFdnSetting The FDN setting value.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleSetFdnSettingReqL(RMobilePhone::TMobilePhoneFdnSetting aFdnSetting) = 0;
+
+	}; // class MLtsyDispatchSimSetFdnSetting
+
+
+
+class MLtsyDispatchSimGetCustomerServiceProfile : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimGetCustomerServiceProfileApiId = KDispatchSimFuncUnitId + 6;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetCustomerServiceProfile
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimGetCustomerServiceProfileComp()
+	 *
+	 * Implementation of this interface should retrieve the whole Customer Service Profile file from LTSY.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleGetCustomerServiceProfileReqL() = 0;
+
+	}; // class MLtsyDispatchSimGetCustomerServiceProfile
+
+
+
+class MLtsyDispatchSimGetSubscriberId : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimGetSubscriberIdApiId = KDispatchSimFuncUnitId + 7;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetSubscriberId
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimGetSubscriberIdComp()
+	 *
+	 * Implementation of this interface should get the subscriber's identity as described by its IMSI from the LTSY.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleGetSubscriberIdReqL() = 0;
+
+	}; // class MLtsyDispatchSimGetSubscriberId
+
+
+
+class MLtsyDispatchSimAppendApnName : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimAppendApnNameApiId = KDispatchSimFuncUnitId + 8;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneAppendAPNName
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimAppendApnNameComp()
+	 *
+	 * Implementation of this interface should append the given entry to the end of the APN control list.
+	 *
+	 * @param aEntry The entry to append to the APN list.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleAppendApnNameReqL(const RMobilePhone::TAPNEntryV3& aEntry) = 0;
+
+	}; // class MLtsyDispatchSimAppendApnName
+
+
+
+class MLtsyDispatchSimGetActiveIccApplicationType : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimGetActiveIccApplicationTypeApiId = KDispatchSimFuncUnitId + 9;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMmTsySimGetICCType
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimGetActiveIccApplicationTypeComp()
+	 *
+	 * This handler is called by the CTSY to retrieve the current active ICC application type.
+	 * Types are defined in MLtsyDispatchSimGetActiveIccApplicationType::TIccType.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	
+	enum TIccType
+	    {
+	    EIccTypeSim2GGsm,
+	    EIccTypeSim3G,
+	    EIccTypeSimUnknown
+	    };
+	
+	virtual TInt HandleGetActiveIccApplicationTypeReqL() = 0;
+
+	}; // class MLtsyDispatchSimGetActiveIccApplicationType
+
+
+
+class MLtsyDispatchSimSetIccMessageWaitingIndicators : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimSetIccMessageWaitingIndicatorsApiId = KDispatchSimFuncUnitId + 10;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetIccMessageWaitingIndicators
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimSetIccMessageWaitingIndicatorsComp()
+	 *
+	 * Implementation of this interface should set the message waiting indicators on the current ICC.
+	 *
+	 * @param aIndicators The message waiting indicators to set.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleSetIccMessageWaitingIndicatorsReqL(const RMobilePhone::TMobilePhoneMessageWaitingV1& aIndicators) = 0;
+
+	}; // class MLtsyDispatchSimSetIccMessageWaitingIndicators
+
+
+
+class MLtsyDispatchSimSetApnControlListServiceStatus : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimSetApnControlListServiceStatusApiId = KDispatchSimFuncUnitId + 11;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetAPNControlListServiceStatus
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimSetApnControlListServiceStatusComp()
+	 *
+	 * Implementation of this interface should set the status of the APN Control List Service.
+	 *
+	 * @param aStatus The service status to set.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleSetApnControlListServiceStatusReqL(RMobilePhone::TAPNControlListServiceStatus aStatus) = 0;
+
+	}; // class MLtsyDispatchSimSetApnControlListServiceStatus
+
+
+
+class MLtsyDispatchSimGetApnName : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimGetApnNameApiId = KDispatchSimFuncUnitId + 12;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetAPNname
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimGetApnNameComp()
+	 *
+	 * Implementation of this interface should get the APN entry from the APN list at the index specified.
+	 *
+	 * @param aIndex The index of the APN entry to get from LTSY.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleGetApnNameReqL(TUint32 aIndex) = 0;
+
+	}; // class MLtsyDispatchSimGetApnName
+
+
+
+class MLtsyDispatchSimSimRefreshDone : public MLtsyDispatchInterface
+	{
+public:
+	
+	static const TInt KLtsyDispatchSimSimRefreshDoneApiId = KDispatchSimFuncUnitId + 13;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMmTsySimRefreshDoneIPC
+	 * request from the CTSY.
+	 *
+	 * It is a request call that has no complete.
+	 *
+	 *
+	 * Implementation of this interface indicates to the LTSY the SIM refresh has finished.
+	 *
+	 *
+	 * @param aError An error code relating to the result of the refresh.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleSimRefreshDoneReqL(TInt aError) = 0;
+
+	}; // class MLtsyDispatchSimSimRefreshDone
+
+class MLtsyDispatchSimGetServiceTable : public MLtsyDispatchInterface
+	{
+public:
+	
+	static const TInt KLtsyDispatchSimGetServiceTableApiId = KDispatchSimFuncUnitId + 14;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetServiceTable
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackSimGetServiceTableComp()
+	 *
+	 * Implementation of this interface should read the EFust or EFsst service tables as specified by aServiceTable.
+	 *
+	 * @param aServiceTable Specifies the service table to retrieve.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleGetServiceTableReqL(RMobilePhone::TMobilePhoneServiceTable aServiceTable) = 0;
+
+	}; // class MLtsyDispatchSimGetServiceTable
+
+class MLtsyDispatchSimGetIccMessageWaitingIndicators : public MLtsyDispatchInterface
+	{
+public:
+	
+	static const TInt KLtsyDispatchSimGetIccMessageWaitingIndicatorsApiId = KDispatchSimFuncUnitId + 15;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetIccMessageWaitingIndicators
+	 * request from the CTSY.
+	 *
+	 * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackSimGetIccMessageWaitingIndicatorsComp()
+	 *
+	 * Implementation of this interface should get the ICC message waiting indicators from the (U)SIM field EFmwis.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleGetIccMessageWaitingIndicatorsReqL() = 0;
+
+	}; // class MLtsyDispatcSimGetIccMessageWaitingIndicators
+
+class MLtsyDispatchSimSimLockActivate : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimSimLockActivateApiId = KDispatchSimFuncUnitId + 16;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSimLockActivateIPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimSimLockActivateComp()
+	 * 
+	 * Implementation of this interface should send a SIM Lock Activation request.
+	 *
+	 * @param aPassword The password used for the SIM Lock activation.
+	 * @param aLockNumber The lock number that defines SIM Lock types.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleSimLockActivateReqL(const TDesC& aPassword, RMmCustomAPI::TLockNumber aLockNumber) = 0;
+
+	}; // class MLtsyDispatchSimSimLockActivate
+
+
+class MLtsyDispatchSimSimLockDeActivate : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimSimLockDeActivateApiId = KDispatchSimFuncUnitId + 17;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSimLockDeActivateIPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimSimLockDeActivateComp()
+	 * 
+	 * Implementation of this interface should send a SIM Lock Deactivation request. 
+	 * 
+	 * @param aPassword The password used for the SIM Lock deactivation.
+	 * @param aLockNumber The lock number that defines SIM Lock types.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleSimLockDeActivateReqL(const TDesC& aPassword, RMmCustomAPI::TLockNumber aLockNumber) = 0;
+
+	}; // class MLtsyDispatchSimSimLockDeActivate
+
+
+class MLtsyDispatchSimGetAnswerToReset : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimGetAnswerToResetApiId = KDispatchSimFuncUnitId + 18;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetATRIPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimGetAnswerToResetComp()
+	 * 
+	 * Implementation of this interface should retrieve the answer to reset. 
+	 *
+	 * @param aAnswerToReset The answer to reset information which contains details of the request.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleGetAnswerToResetReqL(const TDesC8& aAnswerToReset) = 0;
+
+	}; // class MLtsyDispatchSimGetAnswerToReset
+
+
+class MLtsyDispatchSimGetSimCardReaderStatus : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimGetSimCardReaderStatusApiId = KDispatchSimFuncUnitId + 19;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetSimCardReaderStatusIPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimGetSimCardReaderStatusComp()
+	 * 
+	 * Implementation of this interface should retrieve the card reader status.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleGetSimCardReaderStatusReqL() = 0;
+
+	}; // class MLtsyDispatchSimGetSimCardReaderStatus
+
+
+class MLtsyDispatchSimGetSimAuthenticationEapSimData : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimGetSimAuthenticationEapSimDataApiId = KDispatchSimFuncUnitId + 20;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetSimAuthenticationDataIPC for 
+ 	 * Extensible Authentication Protocol Subscriber Identity Module authentication method
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimGetSimAuthenticationEapSimDataComp()
+	 * 
+	 * Implementation of this interface should retrieve Sim Authentication Data for EapSim authentication method.
+	 *
+	 * @param aRandomParameters The random parameters from the client.
+	 * @param aRFStateInfo The RF state info.
+	 * 
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleGetSimAuthenticationEapSimDataReqL(const TDesC8& aRandomParameters, TInt aRFStateInfo) = 0;
+
+	}; // class MLtsyDispatchSimGetSimAuthenticationEapSimData
+
+class MLtsyDispatchSimGetSimAuthenticationEapAkaData : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimGetSimAuthenticationEapAkaDataApiId = KDispatchSimFuncUnitId + 21;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetSimAuthenticationDataIPC for 
+	 * Extensible Authentication Protocol UMTS Authentication and Key Agreement authentication method
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimGetSimAuthenticationEapAkaDataComp()
+	 * 
+	 * Implementation of this interface should retrieve Sim Authentication Data for EapAka authentication method.
+	 *
+	 * @param aRandomParameters The random parameters from the client.
+	 * @param aAUTN The AUTN parameter. AUTN is an authentication value generated by
+	 *        the Authentication Centre, which, together with the random parameters, authenticates the server to the peer, 128 bits.
+	 * @param aRFStateInfo The RF state info.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 */
+	virtual TInt HandleGetSimAuthenticationEapAkaDataReqL(const TDesC8& aRandomParameters, const TDesC8& aAUTN, TInt aRFStateInfo) = 0;
+
+	}; // class MLtsyDispatchSimGetSimAuthenticationEapAkaData
+
+class MLtsyDispatchSimPowerSimOff : public MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimPowerSimOffApiId = KDispatchSimFuncUnitId + 22;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomPowerSimOffIPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimPowerSimOffComp()
+	 * 
+	 * Implementation of this interface should send a Power SIM Off request to the APDU server.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 * 
+	 * @see RMmCustomAPI::PowerSimOff()
+	 */
+	virtual TInt HandlePowerSimOffReqL() = 0;
+
+	}; // class MLtsyDispatchSimPowerSimOff
+
+
+class MLtsyDispatchSimPowerSimOn : virtual MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimPowerSimOnApiId = KDispatchSimFuncUnitId + 23;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomPowerSimOnIPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimPowerSimOnComp()
+	 * 
+	 * Implementation of this interface should send a Power SIM On request to the APDU server.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 * 
+	 * @see RMmCustomAPI::PowerSimOn()
+	 */
+	virtual TInt HandlePowerSimOnReqL() = 0;
+
+	}; // class MLtsyDispatchSimPowerSimOn
+
+
+class MLtsyDispatchSimReadSimFile : virtual MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimReadSimFileApiId = KDispatchSimFuncUnitId + 24;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomReadSimFileIPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimReadSimFileComp()
+	 * 
+	 * Implementation of this interface should request to read full or partial contents of a 
+	 * given SIM file. The path, size and offset for the requested SIM file are provided.
+	 * 
+	 *
+	 * @param aPath The absolute file path of the SIM file in the file system of the SIM.
+	 * see ETSI TS 131 102 Under "Files of USIM"
+	 * @param aOffset The value of the Offset, the offset is related with the type of SIM file being read.
+	 * @param aSize The amount of bytes to be read from the SIM file.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 * 
+	 * @see RMmCustomAPI::ReadSimFile()
+	 */
+	virtual TInt HandleReadSimFileReqL(const TDesC8& aPath, TUint16 aOffset, TUint16 aSize) = 0;
+
+	}; // class MLtsyDispatchSimReadSimFile
+
+
+class MLtsyDispatchSimSendApduRequest : virtual MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimSendApduRequestApiId = KDispatchSimFuncUnitId + 25;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSendAPDUReqIPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimSendApduRequestComp()
+	 * 
+	 * Implementation of this interface should pass the send APDU request to the baseband.
+	 * 
+	 * The service type, card reader number and application type is the address information 
+	 * and the data is an envelope. The client side and baseband are responsible for the 
+	 * consistency of the data buffer's content (i.e. they have to have an agreement on the contents).
+	 * 
+	 *
+	 * @param aServiceType The value for the service type of the request.
+	 * @param aCardReaderNumber The value for the card reader number of the request.
+	 * @param aApplicationType The value for the application type of the request.
+	 * @param aCommandData The transparent data to be conveyed to the Baseband.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 * 
+	 * @see RMmCustomAPI::SendAPDUReq()
+	 */
+	virtual TInt HandleSimSendApduRequestReqL(TUint8 aServiceType, TUint8 aCardReaderNumber, TUint8 aApplicationType, const TDesC8& aCommandData) = 0;
+
+	}; // class MLtsyDispatchSimSendApduRequest
+
+class MLtsyDispatchSimSendApduRequestV2 : virtual MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimSendApduRequestV2ApiId = KDispatchSimFuncUnitId + 26;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSendAPDUReqV2IPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimSendApduRequestV2Comp()
+	 * 
+	 * Implementation of this interface should pass the send APDU request to the baseband.
+	 * 
+	 * The client side and baseband are responsible for the consistency of the data buffer's content 
+	 * (i.e. they have to have an agreement on the contents).
+	 * 
+	 *
+	 * @param aCardReaderId The value for the card reader Id of the request.
+	 * @param aCommandData The transparent data to be conveyed to the Baseband.
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 * 
+	 * @see RMmCustomAPI::SendAPDUReq()
+	 */
+	virtual TInt HandleSimSendApduRequestV2ReqL(TUint8 aCardReaderId, const TDesC8& aCommandData) = 0;
+
+	}; // class MLtsyDispatchSimSendApduRequest
+
+class MLtsyDispatchSimSimWarmReset : virtual MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimSimWarmResetApiId = KDispatchSimFuncUnitId + 27;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSimWarmResetIPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimSimWarmResetComp()
+	 * 
+	 * Implementation of this interface should handle the reqest for a SIM warm reset.
+	 * 
+	 * See ETSI TS 102 221 under "Reset procedures"
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 * 
+	 * @see RMmCustomAPI::SimWarmReset()
+	 */
+	virtual TInt HandleSimWarmResetReqL() = 0;
+
+	}; // class MLtsyDispatchSimSimWarmReset
+
+
+class MLtsyDispatchSimSetSimMessageStatusRead : virtual MLtsyDispatchInterface
+	{
+public:
+
+	static const TInt KLtsyDispatchSimSetSimMessageStatusReadApiId = KDispatchSimFuncUnitId + 28;
+
+	/**
+	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSetSimMessageStatusReadIPC
+	 * request from the CTSY.
+	 * 
+	 * It is a request call that is completed by invoking
+	 * CCtsyDispatcherCallback::CallbackSimSetSimMessageStatusReadComp()
+	 * 
+	 * No error code is returned to the ETel client - if no SMS message with matching timestamp is identified
+	 * on the SIM then this error will be silently ignored.
+	 *
+	 * @param aTimestamp timestamp that uniquely identifies a particular message in the message store.
+	 * @param aTimezoneDiff the difference, expressed in quarters of an hour, between the service centre local time and GMT
+	 *
+	 * @return KErrNone on success, otherwise another error code indicating the
+	 * failure.
+	 * 
+	 * @see RMmCustomAPI::SetSimMessageStatusRead()
+	 */
+	virtual TInt HandleSetSimMessageStatusReadReqL(const TTime& aTimestamp, TInt aTimezoneDiff) = 0;
+
+	}; // class MLtsyDispatchSimSetSimMessageStatusRead
+
+
+#endif /*MLTSYDISPATCHSIMINTERFACE_H_*/