--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/ctsydispatchlayer/exportinc/mltsydispatchsiminterface.h Tue Feb 02 01:41:59 2010 +0200
@@ -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_*/