--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/basebandabstraction/basebandchanneladaptor/inc/bca2.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,328 @@
+
+/**
+* Copyright (c) 2005-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:
+* Baseband Channel Adaptor(BCA) APIs.
+* This file contains all the APIs required to implement a BCA interface for Symbian OS.
+*
+*
+*/
+
+
+
+/**
+ @file
+ @publishedPartner
+ @prototype
+ @released
+*/
+#ifndef BCA2_H
+#define BCA2_H
+
+/** This namespace includes the BCA component names.*/
+namespace BasebandChannelAdaptation2
+{
+/**
+ * The class implemented by an upper component to accept control signals from the lower component
+
+ * @publishedPartner
+ * @prototype
+ */
+class MUpperControl
+ {
+public:
+ /**
+ * Indicates to the layer above (link layer) that the Bca is ready to start
+ * receiving packets from the upper layer (either after MBca start
+ * completes or following congestion)
+
+ * @param none
+ * @return none.
+ */
+ virtual void StartSending()=0;
+
+ /**
+ * Any fatal error which occurs during the send/receive session is reported
+ * to the client by a call to this function. Fatal errors are errors which can’t
+ * be recovered from (e.g.: connection down) in which case MBca has become
+ * defunct and can no longer be used to send and receive data
+
+ * @param aErr TThe fatal error code from the session failures propagated
+ * to the upper layer of the communications stack . Non fatal errors keep
+ * the MBca2 functional which in the context of MBca2 implementation may
+ * include KErrNoMemory, KErrCommsParity, KErrCommsOverrun, KErrCommsFrame.
+ * @return none.
+ */
+ virtual void Error(TInt aErr)=0;
+
+ };
+
+/**
+ * The Class implemented by an upper component to accept inbound data travelling
+ * upwards from the lower component
+
+ * @publishedPartner
+ * @prototype
+ */
+class MUpperDataReceiver
+ {
+public:
+ /**
+ * This function is called whenever data has been received by MBca which
+ * should be processed by its client. The implementer takes ownership of the
+ * buffer and is responsible for its deletion.
+
+ * @param aCommsBufChain - The list of comms buffers containing data to be processed.
+ * Destination keeps the custody of the buffer.
+ * @return none.
+ */
+ virtual void Process(RCommsBufChain& aCommsBufChain)=0;
+ };
+
+/**
+ * The interface implemented by the lower component to accept data from the upper component
+
+ * @publishedPartner
+ * @prototype
+ */
+
+class MLowerDataSender
+ {
+ public:
+ enum TSendResult
+ {
+ // data accepted, send no more until MUpperControl::StartSending() is called
+ ESendBlocked,
+ // data accepted, can send more.
+ ESendAccepted
+ };
+ /**
+ * Sends the specified buffer data down to the base-band. The implementer takes
+ * ownership of the buffer and is responsible for its deletion.
+
+ * @param aCommsBufChain the comms buffer list to be sent.The buffer ownership is passed
+ * to the BCA
+ * @return TTSendResult either ESendBlocked or SendAccepted. When the Bca
+ * is congested and cannot send any data beyond the current packet (which is
+ * always accepted), the implementation returns ESendBlocked. If BCA is not
+ * congested then ESendAccepted is returned to continue sending. When congestion
+ * passes, the Bca calls StartSending on the upper layer to resume sending. The
+ * implementation is recommended to panic any attempts to call Send during congestion
+ */
+ virtual TSendResult Send(RCommsBufChain& aCommsBufChain)=0;
+ };
+
+/**
+ * The interface implemented by the lower component to accept control signals from the upper component
+
+ * @publishedPartner
+ * @prototype
+ */
+class MBca2
+ {
+public:
+ struct TBcaParams
+ {
+ RCommsBufPond iCommsBufPond; // Pond to be used by BCA implementation for creating, using pools and buffers
+ const TDesC& iChannelId; // port number or channel which BCA uses to communicate with its lower layers
+ TBcaParams(RCommsBufPond aCommsBufPond,const TDesC& aChannelId)
+ : iCommsBufPond(aCommsBufPond),
+ iChannelId(aChannelId){}
+ };
+
+
+ /**
+ * Opens the BCA instance and commences a BCA session (::Close() terminates the session).
+
+ * @param aControl reference to a MUpperControl implementation, which will
+ * serve as the call-back interface for incoming control calls
+ * @param aData - reference to a MUpperDataReceiver implementation, which
+ * will serve as the call-back interface for incoming data
+ * @param aBcaParams A reference to the BCA start up params
+ * @return KErrNone if successful, system-wide error code otherwise. All
+ * other error codes reported are fatal denoting that MBca interface has
+ * failed to open and MBca is not good for transferring data
+ */
+ virtual TInt Open(MUpperControl& aControl,
+ MUpperDataReceiver& aData,
+ const TBcaParams& aBcaParams)=0;
+
+ /**
+ * The API starts the baseband connection asynchronously. The Start () request
+ * API’s successful completion is acknowledged with MUpperControl::StartSending().
+ * The request failure is acknowledged with MUpperControl::Error(). Client should
+ * take care of scenarios when MUpperControl::StartSending() gets very delayed
+ * or not called at all
+
+ * @param none
+ * @return none
+ */
+ virtual void Start()=0;
+
+ /**
+ * Returns a reference to the MLowerDataSender, This reference is used by
+ * upper components to send packets to the lower components. This API must be
+ * called only after Start() completes, otherwise the implementation should panic.
+
+ * @param none
+ * @return reference to the MLowerDataSender.
+ */
+ virtual MLowerDataSender& GetSender()=0;
+
+ /**
+ * Synchronously closes the BCA immediately. Informs the BCA is no longer
+ * required by the client and can release its resources. Close cancels all
+ * pending asynchronous operations which can only be ::Start() or ::Control() .
+ * To use the BCA instance it needs to be re-opened. Close operation must not fail.
+
+ * @param none
+ * @return none.
+ */
+ virtual void Close()=0;
+
+ /**
+ * Release/deletes the BCA instance. Derived classes will typically implement
+ * this as ‘delete this’.
+
+ * @param none
+ * @return none.
+ */
+ virtual void Release()=0;
+
+ enum TBlockOption
+ {
+ //stop sending [block] data on interface
+ EBlockFlow,
+ // start sending [unblock] data on interface
+ EUnblockFlow
+ };
+ /**
+ * Either blocks or unblocks the pushing of received data to the upper layers,
+ * depending on TBlockOption. If the upper layers can’t process any more
+ * data to stop receiving packets this API is called with EBlockFlow.
+ * Later after the congestion eases, to start receiving packets again call
+ * this API with EUnblockFlow
+
+ * @param aOption either block or unblock receive flow
+ * @return none.
+ */
+ virtual void SetFlowControl(TBlockOption aOption)=0;
+
+ /**
+ * The BCA control function to get or set the options of the BCA in an
+ * asynchronous manner.
+
+ * @param aStatus asynchronous completion status, KErrNone if successful,
+ * system-wide error code otherwise
+ * @param aOptLevel option level to be used KBcaOptLevelGeneric
+ * or KBcaOptLevelExtSerial
+ * @param aOptName option name to be used.
+ * @param aOpt an optional parameter,holds the option value on return or the
+ * option value to be set.
+ * @return none.
+ */
+ virtual void Control(TRequestStatus& aStatus,
+ TUint aOptLevel,
+ TUint aOptName,
+ TDes8& aOpt)=0;
+
+ /**
+ * Cancels the Control request in a synchronous way.
+
+ * @param none
+ * @return none.
+ */
+ virtual void CancelControl()=0;
+ };
+
+/**
+* Control option level.
+*/
+const TUint KBcaOptLevelGeneric = 0x0194;
+const TUint KBcaOptLevelExtSerial = 0x0195;
+
+/**
+* C32 BCA capability
+*/
+const TUint KBcaCapSerial = 0x01; //Serial port capability supported
+
+/**
+* Generic Control option name
+*/
+const TUint KBCAMru = 0x12;
+const TUint KBCAMtu = 0x13;
+const TUint KBCASpeedMetric = 0x14;
+const TUint KBCACaps = 0x15;
+const TUint KBCASetIapId = 0x16;
+const TUint KBCASetBcaStack = 0x1e;
+const TUint KVersionNumber = 0x1c;
+/**
+Purges the buffers */
+const TUint KBCAResetBuffers = 0x1f;
+
+/**
+* Serial Control option name
+*/
+const TUint KSerialCaps = 0x17;
+const TUint KSerialConfig = 0x18;
+const TUint KSerialSetConfig = 0x1a;
+const TUint KSerialPortName = 0x19;
+const TUint KSerialSetCsyName = 0x1b;
+const TUint KSerialSetCommRole = 0x1d;
+
+/**
+Set the size of receive & transmit buffers.
+Provided for compatibility with C32 RComm */
+const TUint KSerialSetTxRxBufferSize = 0x2a;
+
+/** Retrieves the size of the receive & transmit buffers */
+const TUint KSerialTxRxBufferSize = 0x2b;
+
+/** Set and/or clear signal lines */
+const TUint KSerialSetControlLines = 0x2c;
+
+struct TSerialSetControlLines {
+/**
+Structure associated with KSerialSetSignals control.
+Indicates which control lines to set/clear.
+*/
+ TUint iSetMask;
+ TUint iClearMask;
+};
+
+//
+// Bitmasks specifying which buffer to reset. Used with KBCaResetBuffers
+//
+
+/** Reset Rx buffer only */
+const TUint KResetRxBuf = 0x01;
+
+/** Reset Tx buffer only */
+const TUint KResetTxBuf = 0x02;
+
+
+/** Monitor EIA-232 control lines and take action specified. */
+const TUint KSerialMonitorControlLines = 0x30;
+
+/** Turn control line monitoring off - do not fail on line change */
+const TUint KMonitorOff = 0x0;
+
+/** Fail when BCA-specific lines go from high to low.
+This is the "Default" option, where the BCA itself selects what lines to monitor
+This mask must not be specified in conjunction with other masks, as the BCA will monitor
+& fail on its specific lines ONLY. The other lines will be ignored.*/
+const TUint KFailBcaSpecificOnly = 0xFFFFFFFF;
+}
+
+#endif // BCA2_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/cctsydispatchercallback.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,611 @@
+// 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:
+//
+
+/**
+ @file
+ @internalAll
+*/
+
+#ifndef CCTSYDISPATCHERCALLBACK_H
+#define CCTSYDISPATCHERCALLBACK_H
+
+// INCLUDES
+#include <ctsy/serviceapi/cmmutility.h>
+#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
+#include <e32base.h>
+#include <e32std.h>
+#include <etelmm.h>
+#include <etelsat.h>
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <ctsy/ltsy/mltsydispatchphonebookinterface.h>
+#include <ctsy/ltsy/mltsydispatchsatinterface.h>
+#include <ctsy/ltsy/mltsydispatchsmsinterface.h>
+#include <ctsy/ltsy/mltsydispatchcellbroadcastinterface.h>
+#include <ctsy/ltsy/mltsydispatchsiminterface.h>
+
+#include <mmlist.h>
+#include <ctsy/rmmcustomapi.h>
+
+
+
+// FORWARD DECLARATIONS
+class TDispatcherHolder;
+
+/**
+ * These are the IDs used to identify the callback indicators APIs
+ * offered through CCtsyDispatcherCallback. There is one for each callback indicator API.
+ *
+ * The indicators are used as part of a MLtsyDispatchFactoryV1::IsCallbackIndicatorSupported
+ * implementation to indicate whether the baseband supports indication.
+ *
+ * Each Id is identified by its funcitonal unit and group. All Ids are contained within an enum whose name ends
+ * with a group number e.g. TLtsyDispatchCallControlCallbackIndicatorIds_Group1.
+ *
+ * When there is a need to identify >32 IDs for a functional unit a new group enum
+ * must be created e.g. TLtsyDispatchCallControlCallbackIndicatorIds_Group2
+ *
+ * @see MLtsyDispatchFactoryV1::IsCallbackIndicatorSupported()
+ */
+
+/**
+ * Call Control callback indicator IDs
+ */
+enum TLtsyDispatchCallControlCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchCallControlNotifyCallStatusChangeIndId = 1,
+ KLtsyDispatchCallControlReceiveUuiIndId = 2,
+ KLtsyDispatchCallControlNotifyDataCallCapsChangeIndId = 4,
+ KLtsyDispatchCallControlNotifyIncomingCallIndId = 8,
+ KLtsyDispatchCallControlNotifyHscsdInfoChangeIndId = 16,
+ KLtsyDispatchCallControlNotifyCallEventIndId = 32,
+ KLtsyDispatchCallControlGetCallInfoIndId = 64,
+ KLtsyDispatchCallControlNotifyIccCallForwardingStatusChangeIndId = 128
+ // = 256
+ };
+
+/**
+ * Call Control Multiparty callback indicator IDs
+ */
+enum TLtsyDispatchCallControlMultipartyCallbackIndicatorIds_Group1
+ {
+ // = 1 Put multiparty indicator IDs here if some are added. Follow naming convention.
+ // = 2
+ // = 4
+ };
+
+/**
+ * Cell Broadcast callback indicator IDs
+ */
+enum TLtsyDispatchCellBroadcastCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchCellBroadcastGsmBroadcastNotifyMessageReceivedIndId = 1,
+ KLtsyDispatchCellBroadcastWcdmaBroadcastMessageReceivedIndId = 2,
+ };
+
+/**
+ * Packet Services callback indicator IDs
+ */
+enum TLtsyDispatchPacketServicesCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchPacketServicesNotifyPacketAttachModeChangeIndId = 1,
+ KLtsyDispatchPacketServicesNotifyQosProfileChangedIndId = 2,
+ KLtsyDispatchPacketServicesNotifyRatTransferCapsChangeIndId = 4,
+ KLtsyDispatchPacketServicesNotifyPacketMsClassChangeIndId = 8,
+ KLtsyDispatchPacketServicesNotifyPacketDynamicCapsChangeIndId = 16,
+ KLtsyDispatchPacketServicesNotifyPdpContextAddedIndId = 32,
+ KLtsyDispatchPacketServicesNotifyNetworkInitiatedContextActivationRequestIndId = 64,
+ KLtsyDispatchPacketServicesNotifyPdpContextConfigChangedIndId = 128,
+ KLtsyDispatchPacketServicesNotifyPdpContextStatusChangeIndId = 256,
+ KLtsyDispatchPacketServicesNotifyPacketNetworkRegistrationStatusIndId = 512,
+ KLtsyDispatchPacketServicesNotifyMbmsContextConfigChangedIndId = 1024,
+ KLtsyDispatchPacketServicesNotifyMbmsNetworkServiceStatusChangeIndId = 2048,
+ KLtsyDispatchPacketServicesNotifyMbmsServiceAvailabilityChangeIndId = 4096
+ };
+
+
+/**
+ * Phonebook callback indicator IDs
+ */
+enum TLtsyDispatchPhonebookCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchPhonebookStoreResetCacheIndId = 1,
+ KLtsyDispatchPhonebookStoreGetFdnInfoIndId = 2
+ };
+
+/**
+ * Phonebook ON callback indicator IDs
+ */
+enum TLtsyDispatchPhonebookONCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchPhonebookOnStoreReadAllIndId = 1,
+ KLtsyDispatchPhonebookOnStoreWriteAllIndId = 2
+ };
+
+/**
+ * Phone callback indicator IDs
+ */
+enum TLtsyDispatchPhoneCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchPhoneNotifyNetworkModeChangeIndId = 1,
+ KLtsyDispatchPhoneNotifyEgprsInfoChangeIndId = 2,
+ KLtsyDispatchPhoneNotifySignalStrengthChangeIndId = 4,
+ KLtsyDispatchPhoneNotifyNetworkRegistrationStatusChangeIndId = 8,
+ KLtsyDispatchPhoneNotifyNitzInfoChangeIndId = 16,
+ KLtsyDispatchPhoneNotifyBatteryInfoChangeIndId = 32,
+ KLtsyDispatchPhoneNotifyCurrentNetworkChangeIndId = 64,
+ KLtsyDispatchPhoneNotifyRfStatusChangeIndId = 128,
+ KLtsyDispatchPhoneNotifyCellInfoChangeIndId = 256
+ };
+
+/**
+ * SAT callback indicator IDs
+ */
+enum TLtsyDispatchSatCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchSatUssdStatusIndId = 1,
+ KLtsyDispatchSatNotifyCallControlRequestIndId = 2,
+ KLtsyDispatchSatPcmdIndId = 4,
+ KLtsyDispatchSatNotifyProactiveSimSessionEndIndId = 8,
+ KLtsyDispatchSatNotifyLocalInfoIndId = 16,
+ KLtsyDispatchSatTimeZoneIndId = 32,
+ KLtsyDispatchSatAccessTechnologyChangeIndId = 64,
+ KLtsyDispatchSatSetProactiveCommandOnGoingStatusIndId = 128,
+ KLtsyDispatchSatCallConnectedIndId = 256,
+ KLtsyDispatchSatSsStatusIndId = 512,
+ KLtsyDispatchSatCallDisconnectedIndId = 1024,
+ KLtsyDispatchSatMtCallIndId = 2048,
+ KLtsyDispatchSatCheckAtkDataForAlphaIdIndId = 4096,
+ KLtsyDispatchSatCreateEnvelopeIndId = 8192,
+ KLtsyDispatchSatSmControlEnvelopeIndId = 16384,
+ KLtsyDispatchSatImsiChangedIndId = 32768,
+ KLtsyDispatchSatLocationStatusIndId = 65536,
+ KLtsyDispatchSatRemoveEventListIndId = 131072,
+ KLtsyDispatchSatRefreshIndId = 262144,
+ KLtsyDispatchSatSmControlResponseIndId = 524288,
+ };
+
+/**
+ * Security callback indicator IDs
+ */
+enum TLtsyDispatchSecurityCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchSecurityBootNotifySecurityReadyIndId = 1,
+ KLtsyDispatchSecurityNotifySecurityEventIndId = 2,
+ KLtsyDispatchSecurityNotifyLockInfoChangeIndId = 4
+ };
+
+/**
+ * SIM callback indicator IDs
+ */
+enum TLtsyDispatchSimCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchSimRefreshSimFilesIndId = 1,
+ KLtsyDispatchSimNotifyIccMessageWaitingIndicatorsChangeIndId = 2,
+ KLtsyDispatchSimNotifyApnListChangeIndId = 4,
+ KLtsyDispatchSimNotifyApnControlListServiceStatusChangeIndId = 8,
+ KLtsyDispatchSimGetActiveIccApplicationTypeIndId = 16,
+ };
+
+/**
+ * Sms callback indicator IDs
+ */
+enum TLtsyDispatchSmsCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchSmsNotifyReceiveSmsMessageIndId = 1
+ };
+
+/**
+ * Supplementary Services callback indicator IDs
+ */
+enum TLtsyDispatchSupplementaryServicesCallbackIndicatorIds_Group1
+ {
+ KLtsyDispatchSupplementaryServicesNotifyCallBarringStatusChangeIndId = 1,
+ KLtsyDispatchSupplementaryServicesReceiveUssdMessageIndId = 2,
+ KLtsyDispatchSupplementaryServicesNotifyCallWaitingStatusChangeIndId = 4,
+ KLtsyDispatchSupplementaryServicesNotifyCallForwardingStatusChangeIndId = 8,
+ KLtsyDispatchSupplementaryServicesNotifyCallForwardingActiveIndId = 16,
+ KLtsyDispatchSupplementaryServicesNotifySendNetworkServiceRequestIndId = 32
+ };
+
+// CLASS DECLARATION
+
+/**
+ * CCtsyDispatcherCallback
+ *
+ * This class is responsible for receiving completions from the Licensee LTSY and
+ * forwarding them onto the relevant dispatcher object in the CTSY Dispatcher which
+ * will handle the completion.
+ */
+class CCtsyDispatcherCallback : public CBase
+ {
+public:
+
+ virtual ~CCtsyDispatcherCallback();
+ static CCtsyDispatcherCallback* NewL();
+ static CCtsyDispatcherCallback* NewLC();
+
+ // Callback functions called by the Licensee LTSY to complete a request Callback<something>Comp()
+ // or to send an unsolicited completion Callback<something>Ind().
+
+ // CallControl related callbacks
+ IMPORT_C void CallbackCallControlNotifyCallStatusChangeInd(TInt aError, TInt aCallId, RMobileCall::TMobileCallStatus aMobileCallStatus);
+ IMPORT_C void CallbackCallControlReceiveUuiInd(TInt aError, TInt aCallId, const TDesC& aCallUui);
+ IMPORT_C void CallbackCallControlNotifyDataCallCapsChangeInd(TInt aError, TInt aCallId, const RMobileCall::TMobileCallDataCapsV1& aMobileCallDataCaps);
+ IMPORT_C void CallbackCallControlNotifyIncomingCallInd(TInt aError, const RMobileCall::TMobileCallInfoV1& aCallInfo);
+ IMPORT_C void CallbackCallControlNotifyHscsdInfoChangeInd(TInt aError, TInt aCallId, const RMobileCall::TMobileCallHscsdInfoV8& aCallParams, const RMobileCall::TMobileCallDataCapsV1& aCallCaps);
+ IMPORT_C void CallbackCallControlNotifyCallEventInd(TInt aError, TInt aCallId, RMobileCall::TMobileCallEvent aCallEvent);
+ IMPORT_C void CallbackCallControlNotifyCallInfoChangeInd(TInt aError, const RMobileCall::TMobileCallInfoV1& aMobileCallInfo);
+ IMPORT_C void CallbackCallControlRemoteAlertingToneChangeInd(TInt aError, RMmCustomAPI::TRemoteAlertingToneStatus aRemoteAlertingTone);
+ IMPORT_C void CallbackCallControlAnswerComp(TInt aError, TInt aCallId);
+ IMPORT_C void CallbackCallControlHoldComp(TInt aError, TInt aCallId);
+ IMPORT_C void CallbackCallControlDialEmergencyComp(TInt aError, TInt aCallId);
+ IMPORT_C void CallbackCallControlStopDtmfToneComp(TInt aError);
+ IMPORT_C void CallbackCallControlSetActiveAlsLineComp(TInt aError);
+ IMPORT_C void CallbackCallControlSendDtmfTonesCancelComp(TInt aError);
+ IMPORT_C void CallbackCallControlHangUpComp(TInt aError, TInt aCallId);
+ IMPORT_C void CallbackCallControlResumeComp(TInt aError, TInt aCallId);
+ IMPORT_C void CallbackCallControlSetDynamicHscsdParamsComp(TInt aError, TInt aCallId);
+ IMPORT_C void CallbackCallControlDialVoiceComp(TInt aError, TInt aCallId);
+ IMPORT_C void CallbackCallControlTransferComp(TInt aError);
+ IMPORT_C void CallbackCallControlSendDtmfTonesComp(TInt aError);
+ IMPORT_C void CallbackCallControlGetIdentityServiceStatusComp(TInt aError, RMobilePhone::TMobilePhoneIdServiceStatus aIdentityServiceStatus);
+ IMPORT_C void CallbackCallControlSwapComp(TInt aError);
+ IMPORT_C void CallbackCallControlStartDtmfToneComp(TInt aError);
+ IMPORT_C void CallbackCallControlGetActiveAlsLineComp(TInt aError, RMobilePhone::TMobilePhoneALSLine aAlsLine);
+ IMPORT_C void CallbackCallControlDialDataComp(TInt aError, TInt aCallId);
+ IMPORT_C void CallbackCallControlUpdateLifeTimerComp(TInt aError);
+ IMPORT_C void CallbackCallControlNotifyIccCallForwardingStatusChangeInd(TInt aError, const RMobilePhone::TMobileAddress& aCallForwardingNo,
+ RMobilePhone::TCFUIndicatorStatusFlags aCallForwardingStatusFlags,
+ RMmCustomAPI::TMultipleSubscriberProfileID aMultipleSubscriberProfileId);
+ IMPORT_C void CallbackCallControlGetAlsPpSupportComp(TInt aError, RMmCustomAPI::TAlsSupport aAlsSupport);
+ IMPORT_C void CallbackCallControlGetAlsBlockedStatusComp(TInt aError, RMmCustomAPI::TGetAlsBlockStatus aAlsStatus);
+ IMPORT_C void CallbackCallControlSetAlsBlockedComp(TInt aError);
+ IMPORT_C void CallbackCallControlGetLifeTimeComp(TInt aError);
+ IMPORT_C void CallbackCallControlGetLifeTimeComp(TInt aError, TUint32 aHours, TUint8 aMinutes);
+ IMPORT_C void CallbackCallControlGetLifeTimeComp(TInt aError, const TDateTime &aManufacturingDate);
+ IMPORT_C void CallbackCallControlGetLifeTimeComp(TInt aError, const TDateTime &aManufacturingDate, TUint32 aHours, TUint8 aMinutes);
+ IMPORT_C void CallbackCallControlTerminateErrorCallComp(TInt aError);
+ IMPORT_C void CallbackCallControlTerminateAllCallsComp(TInt aError);
+ IMPORT_C void CallbackCallControlGetCallForwardingIndicatorComp(TInt aError, RMobilePhone::TMobileTON aTypeOfNumber,
+ RMobilePhone::TMobileNPI aMobilePlan,
+ const TDesC &aNumber,
+ RMobilePhone::TCFUIndicatorStatusFlags aCFUIndicatorStatusFlags,
+ RMobilePhone::TMultipleSubscriberProfileID aMultipleSubscriberProfileId);
+
+ // Phone related callbacks
+ IMPORT_C void CallbackPhoneGetFdnStatusComp(TInt aError, RMobilePhone::TMobilePhoneFdnStatus aFdnStatus);
+ IMPORT_C void CallbackPhoneGetNetworkRegistrationStatusComp(TInt aError, RMobilePhone::TMobilePhoneRegistrationStatus aRegStatus);
+ IMPORT_C void CallbackPhoneBootNotifyModemStatusReadyComp(TInt aError, TRfStateInfo aRfStatus);
+ IMPORT_C void CallbackPhoneBootNotifySimStatusReadyComp(TInt aError);
+ IMPORT_C void CallbackPhoneGetHomeNetworkComp(TInt aError, const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo);
+ IMPORT_C void CallbackPhoneNotifyNetworkModeChangeInd(TInt aError, RMobilePhone::TMobilePhoneNetworkMode aNetworkMode);
+ IMPORT_C void CallbackPhoneNotifyEgprsInfoChangeInd(TInt aError, TBool aEdgeSupported);
+ IMPORT_C void CallbackPhoneNotifySignalStrengthChangeInd(TInt aError, TInt32 aSignalStrength, TInt8 aBar);
+ IMPORT_C void CallbackPhoneNotifyNetworkRegistrationStatusChangeInd(TInt aError, RMobilePhone::TMobilePhoneRegistrationStatus aRegStatus);
+ IMPORT_C void CallbackPhoneNotifyNitzInfoChangeInd(TInt aError, const RMobilePhone::TMobilePhoneNITZ& aNitzInfo);
+ IMPORT_C void CallbackPhoneNotifyBatteryInfoChangeInd(TInt aError, const RMobilePhone::TMobilePhoneBatteryInfoV1& aBatteryInfo);
+ IMPORT_C void CallbackPhoneNotifyCurrentNetworkChangeInd(TInt aError, const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo, const RMobilePhone::TMobilePhoneLocationAreaV1& aLocationArea);
+ IMPORT_C void CallbackPhoneGetServiceProviderNameComp(TInt aError, const RMobilePhone::TMobilePhoneServiceProviderNameV2& aServiceProvider);
+ IMPORT_C void CallbackPhoneGetPhoneIdComp(TInt aError, const RMobilePhone::TMobilePhoneIdentityV1& aPhoneId);
+ IMPORT_C void CallbackPhoneGetDetectedNetworksComp(TInt aError, const CMobilePhoneNetworkListV2& aPhoneNetworkList);
+ IMPORT_C void CallbackPhoneGetDetectedNetworksCancelComp(TInt aError);
+ IMPORT_C void CallbackPhoneSelectNetworkComp(TInt aError);
+ IMPORT_C void CallbackPhoneSelectNetworkCancelComp(TInt aError);
+ IMPORT_C void CallbackPhoneSetNetworkSelectionSettingComp(TInt aError, RMobilePhone::TMobilePhoneSelectionMethod aSelectionMethod);
+ IMPORT_C void CallbackPhoneNotifyRfStatusChangeInd(TInt aError, TRfStateInfo aRfStatus);
+ IMPORT_C void CallbackPhoneGetCurrentNetworkInfoComp(TInt aError, const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo, const RMobilePhone::TMobilePhoneLocationAreaV1& aLocationArea);
+ IMPORT_C void CallbackPhoneGetNetworkModeComp(TInt aError, RMobilePhone::TMobilePhoneNetworkMode aNetworkMode);
+ IMPORT_C void CallbackPhoneGetNitzInfoComp(TInt aError, const RMobilePhone::TMobilePhoneNITZ& aNitzInfo);
+ IMPORT_C void CallbackPhoneGetSignalStrengthComp(TInt aError, TInt32 aSignalStrength, TInt8 aBar);
+ IMPORT_C void CallbackPhoneGetBatteryInfoComp(TInt aError, const RMobilePhone::TMobilePhoneBatteryInfoV1& aBatteryInfo);
+ IMPORT_C void CallbackPhoneSimRefreshRegisterComp(TInt aError);
+ IMPORT_C void CallbackPhoneNotifyNspsStatusChangeInd(TInt aError, TBool aEnabled);
+ IMPORT_C void CallbackPhoneNotifyNetworkSelectionSettingChangeInd(TInt aError, RMobilePhone::TMobilePhoneSelectionMethod aSelectionMethod);
+ IMPORT_C void CallbackPhoneGetCellInfoComp(TInt aError);
+ IMPORT_C void CallbackPhoneGetCellInfoComp(TInt aError, const RMmCustomAPI::TMmCellInfo::TGSMCellInfo &aInfo);
+ IMPORT_C void CallbackPhoneGetCellInfoComp(TInt aError,
+ const RMmCustomAPI::TMmCellInfo::TWCDMACellInfo &aInfo);
+ IMPORT_C void CallbackPhoneNotifyCellInfoChangedInd(TInt aError);
+ IMPORT_C void CallbackPhoneNotifyCellInfoChangedInd(TInt aError, const RMmCustomAPI::TMmCellInfo::TGSMCellInfo &aInfo);
+ IMPORT_C void CallbackPhoneNotifyCellInfoChangedInd(TInt aError, const RMmCustomAPI::TMmCellInfo::TWCDMACellInfo &aInfo);
+ IMPORT_C void CallbackPhoneNspsWakeupComp(TInt aError);
+ IMPORT_C void CallbackPhoneSetSystemNetworkModeComp(TInt aError);
+ IMPORT_C void CallbackPhoneGetCurrentSystemNetworkModesComp(TInt aError, TUint32 aCurrentSystemNetworkModes);
+ IMPORT_C void CallbackPhoneNotifyRauEventInd(TInt aError, RMmCustomAPI::TRauEventStatus aRauEvent);
+ IMPORT_C void CallbackPhoneNotifyNetworkConnectionFailureInd(TInt aError);
+ IMPORT_C void CallbackPhoneNotifyDtmfEventInd(TInt aError, RMmCustomAPI::TDtmfEventType aType,
+ RMmCustomAPI::TDtmfEvent aEvent, TChar aTone);
+ IMPORT_C void CallbackPhoneNotifyDtmfEventInd(TInt aError, RMobilePhone::TMobilePhoneDTMFEvent aEventType);
+ IMPORT_C void CallbackPhoneResetNetServerComp(TInt aError);
+ IMPORT_C void CallbackPhoneSetAlwaysOnModeComp(TInt aError);
+ IMPORT_C void CallbackPhoneSetDriveModeComp(TInt aError);
+ IMPORT_C void CallbackPhoneGetHspaStatusComp(TInt aError, RMmCustomAPI::THSxPAStatus aStatus);
+ IMPORT_C void CallbackPhoneSetHspaStatusComp(TInt aError);
+ IMPORT_C void CallbackPhoneNotifyHspaStatusChangedInd(TInt aError, RMmCustomAPI::THSxPAStatus aStatus);
+ IMPORT_C void CallbackPhoneGetNetworkProviderNameComp(TInt aError, const TDesC& aName);
+ IMPORT_C void CallbackPhoneGetOperatorNameComp(TInt aError, RMmCustomAPI::TOperatorNameType aType, const TDesC& aName);
+ IMPORT_C void CallbackPhoneRegisterCellInfoChangeNotificationComp(TInt aError);
+ IMPORT_C void CallbackPhoneGetPhoneCellInfoComp(TInt aError, const RMobilePhone::TMobilePhoneCellInfoV9& aCellInfo);
+ IMPORT_C void CallbackPhoneNotifyCellInfoChangeInd(TInt aError, const RMobilePhone::TMobilePhoneCellInfoV9& aCellInfo);
+ IMPORT_C void CallbackPhoneGetUsimServiceSupportComp(TInt aError, TInt aApplicationNumber, TBool aSupported);
+ IMPORT_C void CallbackPhoneGetCurrentActiveUsimApplicationComp(TInt aError, const TDesC8& aAid);
+ IMPORT_C void CallbackPhoneTerminateAllCallsComp(TInt aError);
+ IMPORT_C void CallbackPhoneGetSystemNetworkBandComp(TInt aError, RMmCustomAPI::TBandSelection aBand, RMmCustomAPI::TNetworkModeCaps aMode);
+ IMPORT_C void CallbackPhoneSetSystemNetworkBandComp(TInt aError);
+
+ // Security related callbacks
+ IMPORT_C void CallbackSecurityBootNotifySecurityReadyInd(TInt aError);
+ IMPORT_C void CallbackSecurityNotifySecurityEventInd(TInt aError, RMobilePhone::TMobilePhoneSecurityEvent aSecEvent);
+ IMPORT_C void CallbackSecurityNotifyLockInfoChangeInd(TInt aError, RMobilePhone::TMobilePhoneLockStatus aStatus, RMobilePhone::TMobilePhoneLockSetting aSetting, RMobilePhone::TMobilePhoneLock aLock);
+ IMPORT_C void CallbackSecurityGetSecurityCodeInfoComp(TInt aError, RMobilePhone::TMobilePhoneSecurityCode aSecCode,
+ TInt aRemainingEntryAttempts);
+ IMPORT_C void CallbackSecurityGetLockInfoComp(TInt aError, RMobilePhone::TMobilePhoneLockStatus aLockStatus, RMobilePhone::TMobilePhoneLockSetting aLockSetting);
+ IMPORT_C void CallbackSecurityAbortSecurityCodeComp(TInt aError);
+ IMPORT_C void CallbackSecurityGetCurrentActivePinComp(TInt aError, RMobilePhone::TMobilePhoneSecurityCode aSecCode);
+ IMPORT_C void CallbackSecuritySetLockSettingComp(TInt aError);
+ IMPORT_C void CallbackSecurityVerifySecurityCodeComp(TInt aError);
+ IMPORT_C void CallbackSecurityGetPin1DisableSupportedComp(TInt aError, TBool aIsSupported);
+ IMPORT_C void CallbackSecurityNotifyCipheringInfoChangeInd(TInt aError, const RMmCustomAPI::TCipheringInfo& aInfo);
+ IMPORT_C void CallbackSecurityCheckSecurityCodeComp(TInt aError);
+ IMPORT_C void CallbackSecurityDisablePhoneLockComp(TInt aError);
+ IMPORT_C void CallbackSecurityGetCipheringInfoComp(TInt aError, TBool aIndStatus);
+ IMPORT_C void CallbackSecurityIsSecurityCodeBlockedComp(TInt aError, TBool aIsBlocked);
+ IMPORT_C void CallbackSecurityCheckSecurityCodeCancelComp(TInt aError);
+
+ // PhonebookEn related callbacks
+ IMPORT_C void CallbackPhonebookEnStoreGetInfoComp(TInt aError, TInt aUsedEntries);
+ IMPORT_C void CallbackPhonebookEnStoreReadAllComp(TInt aError, TInt aIndex, const TDesC& aNumber, TBool aMoreToCome);
+ IMPORT_C void CallbackPhonebookEnStoreReadEntryComp(TInt aError, TInt aIndex, const TDesC& aNumber);
+
+ // CellBroadcast related callbacks
+ IMPORT_C void CallbackCellBroadcastGsmBroadcastNotifyMessageReceivedInd(TInt aError, const TDesC8& aCbsMsg);
+ IMPORT_C void CallbackCellBroadcastWcdmaBroadcastMessageReceivedInd(TInt aError, const TDesC8& aWcdmaCbsData, const DispatcherCellBroadcast::TWcdmaCbsMsgBase& aWcdmaCbsMsgBase, TBool aMoreToCome);
+ IMPORT_C void CallbackCellBroadcastSetBroadcastFilterSettingComp(TInt aError);
+ IMPORT_C void CallbackCellBroadcastActivateBroadcastReceiveMessageComp(TInt aError);
+ IMPORT_C void CallbackCellBroadcastReceiveMessageCancelComp(TInt aError);
+ IMPORT_C void CallbackCellBroadcastStartSimCbTopicBrowsingComp(TInt aError, const CArrayFixFlat< RMmCustomAPI::TSimCbTopic >& aSimTopicArray );
+ IMPORT_C void CallbackCellBroadcastDeleteSimCbTopicComp(TInt aError);
+
+ // PhonebookOn related callbacks
+ IMPORT_C void CallbackPhonebookOnStoreReadAllInd(TInt aError);
+ IMPORT_C void CallbackPhonebookOnStoreReadComp(TInt aError, TInt aIndex, const TDesC& aName, const TDesC& aNumber);
+ IMPORT_C void CallbackPhonebookOnStoreDeleteAllComp(TInt aError);
+ IMPORT_C void CallbackPhonebookOnStoreReadEntryComp(TInt aError, TInt aIndex, const TDesC& aName, const TDesC& aNumber);
+ IMPORT_C void CallbackPhonebookOnStoreGetInfoComp(TInt aError, TInt aNumOfEntries, TInt aUsedEntries, TInt aNameLen, TInt aNumLen);
+ IMPORT_C void CallbackPhonebookOnStoreGetReadStoreSizeComp(TInt aError, TInt aSize);
+ IMPORT_C void CallbackPhonebookOnStoreDeleteEntryComp(TInt aError);
+ IMPORT_C void CallbackPhonebookOnStoreWriteEntryComp(TInt aError);
+ IMPORT_C void CallbackPhonebookOnStoreWriteComp(TInt aError, TInt aLocation);
+ IMPORT_C void CallbackPhonebookOnStoreGetStoreSizeComp(TInt aError, TInt aSize);
+
+ // Phonebook related callbacks
+ IMPORT_C void CallbackPhonebookStoreResetCacheInd(TInt aError, DispatcherPhonebook::TPhonebook aPhonebook);
+ IMPORT_C void CallbackPhonebookStoreSetFdnPhonebookInfoInd(TInt aError, TInt aTotalEntries , TInt aMaxTextLength , TInt aMaxNumberLength);
+ IMPORT_C void CallbackPhonebookStoreReadEntryComp(TInt aError, DispatcherPhonebook::TPhonebook aPhonebook, const TDesC8& aPhonebookEntries);
+ IMPORT_C void CallbackPhonebookStoreDeleteEntryComp(TInt aError, DispatcherPhonebook::TPhonebook aPhonebook, TInt aMaxNumberLength = -1);
+ IMPORT_C void CallbackPhonebookStoreCacheComp(TInt aError, DispatcherPhonebook::TPhonebook aPhonebook, const TDesC8& aPhonebookEntries);
+ IMPORT_C void CallbackPhonebookStoreGetPhonebookInfoComp(TInt aError, DispatcherPhonebook::TPhonebook aPhonebook, TInt aUsedEntries);
+ IMPORT_C void CallbackPhonebookStoreInitialiseComp(TInt aError, const DispatcherPhonebook::TPhonebookStoreInfoV1& aPhonebookStoreInfo);
+ IMPORT_C void CallbackPhonebookStoreDeleteAllComp(TInt aError, DispatcherPhonebook::TPhonebook aPhonebook, TInt aMaxNumberLength = -1);
+ IMPORT_C void CallbackPhonebookStoreWriteEntryComp(TInt aError, DispatcherPhonebook::TPhonebook aPhonebook, TUint16 aIndex, TInt aMaxNumberLength = -1);
+ IMPORT_C void CallbackPhonebookGetPhoneStoreInfoComp(TInt aError, const RMobilePhoneStore::TMobilePhoneStoreInfoV1& aPhoneStoreInfo);
+ IMPORT_C void CallbackPhonebookSmsStoreReadAllComp(TInt aError, const DispatcherPhonebook::TSmsData& aSmsData, TInt aIndex, TBool aMoreToCome, TBool aReceivedClass2ToBeResent);
+ IMPORT_C void CallbackPhonebookSmsStoreDeleteEntryComp(TInt aError);
+ IMPORT_C void CallbackPhonebookSmsStoreDeleteAllComp(TInt aError);
+ IMPORT_C void CallbackPhonebookSmsStoreGetInfoComp(TInt aError, TInt aTotalEntries, TInt aUsedEntries);
+ IMPORT_C void CallbackPhonebookSmsStoreReadEntryComp(TInt aError, const DispatcherPhonebook::TSmsData& aSmsData);
+ IMPORT_C void CallbackPhonebookSmsStoreWriteEntryComp(TInt aError, TInt aLocation, TBool aReceivedClass2ToBeResent);
+
+ // Sim related callbacks
+ IMPORT_C void CallbackSimRefreshSimFilesInd(TInt aError, TUint16 aRefreshFileList);
+ IMPORT_C void CallbackSimNotifyIccMessageWaitingIndicatorsChangeInd(TInt aError, const RMobilePhone::TMobilePhoneMessageWaitingV1& aIndicators);
+ IMPORT_C void CallbackSimNotifyApnListChangeInd(TInt aError);
+ IMPORT_C void CallbackSimNotifyApnControlListServiceStatusChangeInd(TInt aError, RMobilePhone::TAPNControlListServiceStatus aStatus);
+ IMPORT_C void CallbackSimGetApnControlListServiceStatusComp(TInt aError, RMobilePhone::TAPNControlListServiceStatus aStatus);
+ IMPORT_C void CallbackSimDeleteApnNameComp(TInt aError);
+ IMPORT_C void CallbackSimEnumerateApnEntriesComp(TInt aError, TUint32 aNumEntries);
+ IMPORT_C void CallbackSimChangeSecurityCodeComp(TInt aError);
+ IMPORT_C void CallbackSimSetFdnSettingComp(TInt aError);
+ IMPORT_C void CallbackSimGetCustomerServiceProfileComp(TInt aError, const RMobilePhone::TMobilePhoneCspFileV1& aCsp);
+ IMPORT_C void CallbackSimGetSubscriberIdComp(TInt aError, const TDesC8& aId);
+ IMPORT_C void CallbackSimAppendApnNameComp(TInt aError);
+ IMPORT_C void CallbackSimGetActiveIccApplicationTypeComp(TInt aError, MLtsyDispatchSimGetActiveIccApplicationType::TIccType aIccType);
+ IMPORT_C void CallbackSimSetIccMessageWaitingIndicatorsComp(TInt aError);
+ IMPORT_C void CallbackSimSetApnControlListServiceStatusComp(TInt aError);
+ IMPORT_C void CallbackSimGetApnNameComp(TInt aError, const RMobilePhone::TAPNEntryV3& aEntry);
+ IMPORT_C void CallbackSimGetServiceTableComp(TInt aError, const RMobilePhone::TMobilePhoneServiceTableV1& aServiceTable);
+ IMPORT_C void CallbackSimGetIccMessageWaitingIndicatorsComp(TInt aError, const RMobilePhone::TMobilePhoneMessageWaitingV1& aMessageWaiting);
+ IMPORT_C void CallbackSimNotifySimCardStatusInd(TInt aError, RMmCustomAPI::TSIMCardStatus aSimCardStatus);
+ IMPORT_C void CallbackSimSimLockActivateComp(TInt aError);
+ IMPORT_C void CallbackSimSimLockDeActivateComp(TInt aError);
+ IMPORT_C void CallbackSimGetAnswerToResetComp(TInt aError, const TDesC8& aAnswerToReset);
+ IMPORT_C void CallbackSimGetSimCardReaderStatusComp(TInt aError, TUint8 aSimCardReaderStatus);
+ IMPORT_C void CallbackSimGetSimAuthenticationDataComp(TInt aError, const TDesC8& aSignedResponse, const TDesC8& aCipheringKey);
+ IMPORT_C void CallbackSimGetSimAuthenticationDataComp(TInt aError, const TDesC8& aResponse, const TDesC8& aCipheringKey, const TDesC8& aIntegrityKey, const TDesC8& aAUTS);
+ IMPORT_C void CallbackSimPowerSimOffComp(TInt aError);
+ IMPORT_C void CallbackSimPowerSimOnComp(TInt aError);
+ IMPORT_C void CallbackSimReadSimFileComp(TInt aError, const TDesC8& aResponseBytes);
+ IMPORT_C void CallbackSimSendApduRequestComp(TInt aError, TUint8 aServiceType, TUint8 aCardReaderNumber, TUint8 aApplicationType, const TDesC8& aResponseData);
+ IMPORT_C void CallbackSimSendApduRequestV2Comp(TInt aError, const TDesC8& aResponseData);
+ IMPORT_C void CallbackSimSimWarmResetComp(TInt aError);
+ IMPORT_C void CallbackSimSetSimMessageStatusReadComp(TInt aError);
+
+ // Sms related callbacks
+ IMPORT_C void CallbackSmsNotifyReceiveSmsMessageInd(TInt aError, TBool aInd, const TSmsMsg& aSmsMessage);
+ IMPORT_C void CallbackSmsSendSatSmsComp(TInt aError);
+ IMPORT_C void CallbackSmsGetSmsStoreInfoComp(TInt aError, TInt aTotalEntries, TInt aUsedEntries);
+ IMPORT_C void CallbackSmsGetSmspListComp(TInt aError, const TDesC& aServiceCenterAddress, const TDesC& aDestinationAddress,
+ const TDesC& aAlphaTagData, const DispatcherSim::TSmsParameters& aSmsParameters, TBool aMoreToCome);
+ IMPORT_C void CallbackSmsNackSmsStoredComp(TInt aError);
+ IMPORT_C void CallbackSmsAckSmsStoredComp(TInt aError);
+ IMPORT_C void CallbackSmsResumeSmsReceptionComp(TInt aError);
+ IMPORT_C void CallbackSmsSendSmsMessageComp(TInt aError, TInt aMsgRef, const TDesC8& aSmsSubmitReport);
+ IMPORT_C void CallbackSmsSendSmsMessageNoFdnCheckComp(TInt aError, TInt aMsgRef, const TDesC8& aSmsSubmitReport);
+ IMPORT_C void CallbackSmsSetMoSmsBearerComp(TInt aError);
+ IMPORT_C void CallbackSmsStoreSmspListEntryComp(TInt aError);
+
+ // CallControlMultiparty related callbacks
+ IMPORT_C void CallbackCallControlMultipartyConferenceHangUpComp(TInt aError);
+ IMPORT_C void CallbackCallControlMultipartyConferenceAddCallComp(TInt aError);
+ IMPORT_C void CallbackCallControlMultipartyCreateConferenceComp(TInt aError);
+ IMPORT_C void CallbackCallControlMultipartyConferenceSwapComp(TInt aError);
+ IMPORT_C void CallbackCallControlMultipartyConferenceGoOneToOneComp(TInt aError, TInt aCallId);
+
+ // SupplementaryServices related callbacks
+ IMPORT_C void CallbackSupplementaryServicesNotifyCallBarringStatusChangeInd(TInt aError, RMobilePhone::TMobilePhoneCBCondition aCondition);
+ IMPORT_C void CallbackSupplementaryServicesReceiveUssdMessageInd(TInt aError, const TDesC8& aMessage, TUint8 aDcs, RMobileUssdMessaging::TMobileUssdMessageType aType, RMobileUssdMessaging::TMobileUssdDataFormat aFormat);
+ IMPORT_C void CallbackSupplementaryServicesNotifyCallWaitingStatusChangeInd(TInt aError, RMobilePhone::TMobileService aServiceGrouop, RMobilePhone::TMobilePhoneCWStatus aStatus);
+ IMPORT_C void CallbackSupplementaryServicesNotifyCallForwardingStatusChangeInd(TInt aError, RMobilePhone::TMobilePhoneCFCondition aCallForwardingCondition);
+ IMPORT_C void CallbackSupplementaryServicesNotifyCallForwardingActiveInd(TInt aError, RMobilePhone::TMobileService aServiceGroup, RMobilePhone::TMobilePhoneCFActive aActiveType);
+ IMPORT_C void CallbackSupplementaryServicesGetDiagnosticOctetsInd(TInt aError, TInt aCallId, TUint8 aOctet);
+ IMPORT_C void CallbackSupplementaryServicesNotifyAdditionalInfoInd(TInt aError, TUint8 aOperationCode, const TDesC8& aAdditionalInfo);
+ IMPORT_C void CallbackSupplementaryServicesNotifyRequestCompleteInd(TInt aError, TInt aStatus);
+ IMPORT_C void CallbackSupplementaryServicesNotifySendNetworkServiceRequestInd(TInt aError, RMobilePhone::TMobilePhoneNotifySendSSOperation aOperationCode, const TDesC& aAdditionalInfo);
+ // NotifySS options
+ IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventForwardModeInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode, RMmCustomAPI::TSsForwMode aForwardMode);
+ IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventCallWaitingInd(TInt aError, RMmCustomAPI::TSsMode aMode, TBool aCallIsWaiting);
+ IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventHoldModeInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode, RMmCustomAPI::TSsHoldMode aHoldMode);
+ IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventConfrenceInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode, TBool aConferenceIndicator);
+ IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventCugInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode, TUint16 aCugIndex);
+ IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventClirSuppressionInd(TInt aError, RMmCustomAPI::TSsMode aMode, TBool aClirSuppressionRejected);
+ IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventEctCallStateInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode, RMmCustomAPI::TSsEctState aEctCallState, RMmCustomAPI::TSsChoice aEctChoice, const TDesC& aRemotePartyNumber);
+ IMPORT_C void CallbackSupplementaryServicesNotifyNetworkEventInd(TInt aError, RMmCustomAPI::TSsType aType, RMmCustomAPI::TSsMode aMode);
+
+ IMPORT_C void CallbackSupplementaryServicesSendNetworkServiceRequestNoFdnCheckComp(TInt aError);
+ IMPORT_C void CallbackSupplementaryServicesGetCallWaitingStatusComp(TInt aError, const CMobilePhoneCWList& aCallWaitingList);
+ IMPORT_C void CallbackSupplementaryServicesSendNetworkServiceRequestComp(TInt aError);
+ IMPORT_C void CallbackSupplementaryServicesGetCallBarringStatusComp(TInt aError, const CMobilePhoneCBList& aCallBarringList);
+ IMPORT_C void CallbackSupplementaryServicesSetCallBarringStatusComp(TInt aError);
+ IMPORT_C void CallbackSupplementaryServicesSetCallForwardingStatusComp(TInt aError);
+ IMPORT_C void CallbackSupplementaryServicesSetCallWaitingStatusComp(TInt aError);
+ IMPORT_C void CallbackSupplementaryServicesSetSsPasswordComp(TInt aError);
+ IMPORT_C void CallbackSupplementaryServicesGetCallForwardingStatusComp(TInt aError, const CMobilePhoneCFList& aCallForwardingList);
+ IMPORT_C void CallbackSupplementaryServicesSendUssdMessageComp(TInt aError);
+ IMPORT_C void CallbackSupplementaryServicesSendUssdMessageNoFdnCheckComp(TInt aError);
+ IMPORT_C void CallbackSupplementaryServicesSendUssdReleaseComp(TInt aError, TUint8 aOpCode, const TDesC& aAdditionalInfo);
+ IMPORT_C void CallbackSupplementaryServicesClearBlacklistComp(TInt aError);
+
+ // PacketServices related callbacks
+ IMPORT_C void CallbackPacketServicesNotifyPacketAttachModeChangeInd(TInt aError, RPacketService::TPreferredBearer aBearer);
+ IMPORT_C void CallbackPacketServicesNotifyQosProfileChangedGPRSInd(TInt aError, const TDesC& aContextName, const RPacketQoS::TQoSGPRSNegotiated& aQoSGPRSNegotiated);
+ IMPORT_C void CallbackPacketServicesNotifyQosProfileChangedR99Ind(TInt aError, const TDesC& aContextName, const RPacketQoS::TQoSR99_R4Negotiated& aQoSR99_R4Negotiated);
+ IMPORT_C void CallbackPacketServicesNotifyQosProfileChangedR5Ind(TInt aError, const TDesC& aContextName, const RPacketQoS::TQoSR5Negotiated& aQoSR5Negotiated);
+ IMPORT_C void CallbackPacketServicesNotifyRatTransferCapsChangeInd(TInt aError, TDynamicTransferCapsFlags aCaps);
+ IMPORT_C void CallbackPacketServicesNotifyPacketMsClassChangeInd(TInt aError, RPacketService::TMSClass aMSClass);
+ IMPORT_C void CallbackPacketServicesNotifyPacketDynamicCapsChangeInd(TInt aError, TBool aGprsIsSupportedOnCell, TBool aCsServicesIsSupportedOnCell);
+ IMPORT_C void CallbackPacketServicesNotifyPdpContextAddedInd(TInt aError, const TDesC& aContextName);
+ IMPORT_C void CallbackPacketServicesNotifyNetworkInitiatedContextActivationRequestInd(TInt aError, const RPacketContext::TContextConfigGPRS& aContextConfigGPRS);
+ IMPORT_C void CallbackPacketServicesNotifyNetworkInitiatedContextActivationRequestInd(TInt aError, const RPacketContext::TContextConfigR99_R4& aContextConfigR99_R4);
+ IMPORT_C void CallbackPacketServicesNotifyNetworkInitiatedContextActivationRequestInd(TInt aError, const RPacketContext::TContextConfig_R5& aContextConfig_R5);
+ IMPORT_C void CallbackPacketServicesNotifyPdpContextConfigChangedInd(TInt aError, const TDesC& aContextName, const TDesC8& aAccessPointName, const TDesC8& aPdpAddress, const TUint aPdpCompression, const TDesC8& aPcoBuffer);
+ IMPORT_C void CallbackPacketServicesNotifyPdpContextStatusChangeInd(TInt aError, const TDesC& aContextName, const TContextMisc& aContextMisc);
+ IMPORT_C void CallbackPacketServicesNotifyPdpContextConnectionSpeedChangeInd(TInt aError, const TDesC& aContextName, TUint aConnectionSpeed);
+ IMPORT_C void CallbackPacketServicesNotifyPacketNetworkRegistrationStatusInd(TInt aError, RPacketService::TRegistrationStatus aRegistrationStatus);
+ IMPORT_C void CallbackPacketServicesNotifyMbmsContextConfigChangedInd(TInt aError, const TDesC& aContextName, const RPacketMbmsContext::TContextConfigMbmsV1& aContextConfigMbms);
+ IMPORT_C void CallbackPacketServicesNotifyMbmsNetworkServiceStatusChangeInd(TInt aError, TMbmsNetworkServiceStatus aMbmsNetworkServiceStatus);
+ IMPORT_C void CallbackPacketServicesNotifyMbmsServiceAvailabilityChangeInd(TInt aError, const RArray<TUint>& aAvailableServiceIds);
+ IMPORT_C void CallbackPacketServicesNotifyConnectionInfoChangeInd(TInt aError, const TDesC& aContextName, const RPacketContext::TConnectionInfoV1& aConnectionInfo);
+ IMPORT_C void CallbackPacketServicesPacketAttachComp(TInt aError);
+ IMPORT_C void CallbackPacketServicesGetPacketAttachModeComp(TInt aError, RPacketService::TAttachMode aAttachMode);
+ IMPORT_C void CallbackPacketServicesGetPacketNetworkRegistrationStatusComp(TInt aError, RPacketService::TRegistrationStatus aRegistrationStatus);
+ IMPORT_C void CallbackPacketServicesPacketDetachComp(TInt aError);
+ IMPORT_C void CallbackPacketServicesSetPdpContextConfigComp(TInt aError, const TDesC& aContextName);
+ IMPORT_C void CallbackPacketServicesModifyActivePdpContextComp(TInt aError, const TDesC& aContextName, TInt8 aRejectionCode);
+ IMPORT_C void CallbackPacketServicesInitialisePdpContextComp(TInt aError, const TDesC& aContextName, const TDesC& aChannelId);
+ IMPORT_C void CallbackPacketServicesDeletePdpContextComp(TInt aError, const TDesC& aContextName);
+ IMPORT_C void CallbackPacketServicesSetPacketAttachModeComp(TInt aError);
+ IMPORT_C void CallbackPacketServicesSetDefaultPdpContextParamsComp(TInt aError);
+ IMPORT_C void CallbackPacketServicesActivatePdpContextComp(TInt aError, const TDesC& aContextName, const TDesC8& aAccessPointName, RPacketContext::TProtocolType aPdpType);
+ IMPORT_C void CallbackPacketServicesSetPdpContextQosComp(TInt aError, const TDesC& aContextName);
+ IMPORT_C void CallbackPacketServicesRejectNetworkInitiatedContextActivationRequestComp(TInt aError);
+ IMPORT_C void CallbackPacketServicesDeactivatePdpContextComp(TInt aError, const TDesC& aContextName);
+ IMPORT_C void CallbackPacketServicesGetStatusComp(TInt aError, RPacketService::TStatus aPacketStatus, TBool aIsResumed);
+ IMPORT_C void CallbackPacketServicesGetStaticCapabilitiesComp(TInt aError, TUint aStaticCapabilities);
+ IMPORT_C void CallbackPacketServicesGetMaxNoMonitoredServiceListsComp(TInt aError, TInt aMaxNoMonitoredServiceLists);
+ IMPORT_C void CallbackPacketServicesGetMaxNoActiveServicesComp(TInt aError, TInt aMaxNoActiveServices);
+ IMPORT_C void CallbackPacketServicesInitialiseMbmsContextComp(TInt aError, const TDesC& aContextName, const TDesC& aChannelId);
+ IMPORT_C void CallbackPacketServicesGetMbmsNetworkServiceStatusComp(TInt aError, TMbmsNetworkServiceStatus aMbmsNetworkServiceStatus);
+ IMPORT_C void CallbackPacketServicesUpdateMbmsMonitorServiceListComp(TInt aError);
+ IMPORT_C void CallbackPacketServicesUpdateMbmsMonitorServiceListComp(TInt aError, const RArray<TUint>& aFailedServiceIds);
+ IMPORT_C void CallbackPacketServicesUpdateMbmsSessionListComp(TInt aError, const TDesC& aContextName);
+
+ // Sat related callbacks
+ IMPORT_C void CallbackSatUssdControlSupportedChangeInd(TInt aError, TBool aSupported);
+ IMPORT_C void CallbackSatPcmdInd(TInt aError, const TDesC8& aData);
+ IMPORT_C void CallbackSatNotifyProactiveSimSessionEndInd(TInt aError, TUint8 aStatusWord1, TUint8 aStatusWord2);
+ IMPORT_C void CallbackSatTimeZoneChangeInd(TInt aError, TUint8 aTimeZone);
+ IMPORT_C void CallbackSatAccessTechnologyChangeInd(TInt aError, TUint8 aCurrentAccessTechnology);
+ IMPORT_C void CallbackSatCallConnectedInd(TInt aError, TUint8 aTransactionId, TBool aNearEnd);
+ IMPORT_C void CallbackSatSsChangeInd(TInt aError, DispatcherSat::TSsStatus aStatus);
+ IMPORT_C void CallbackSatCallDisconnectedInd(TInt aError, TUint8 aTransactionId, TBool aNearEnd, const TDesC8& aCause);
+ IMPORT_C void CallbackSatMtCallInd(TInt aError, TUint8 aTransactionId, const TDesC8& aAddress, const TDesC8& aSubAddress);
+ IMPORT_C void CallbackSatCallControlEnvelopeResponseInd(TInt aError, const TDesC8& aResponseTlv);
+ IMPORT_C void CallbackSatCreateCallControlEnvelopeInd(TInt aError, TUint8 aTag, const TDesC8& aBcc1, const TDesC8& aBcc2, const TDesC8& aAddress, TUint8 aTonNpi, TUint8 aDcs);
+ IMPORT_C void CallbackSatCreateSmControlEnvelopeInd(TInt aError, const TDesC8& aRpDestinationAddress, const TDesC8& aTpDestinationAddress);
+ IMPORT_C void CallbackSatImsiChangedInd(TInt aError);
+ IMPORT_C void CallbackSatLocationStatusInd(TInt aError, TUint8 aLcnStatus, const TDesC8& aCountryCode,
+ TUint16 aLcnAreaCode, TUint16 aCellId);
+ IMPORT_C void CallbackSatRemoveEventListInd(TInt aError);
+ IMPORT_C void CallbackSatCreateRefreshTerminalRspInd(TInt aError, RSat::TPCmdResult aGeneralResult, const TDesC& aAdditionalInfo);
+ IMPORT_C void CallbackSatSmControlEnvelopeResponseInd(TInt aError, const TDesC8& aResponseTlv);
+ IMPORT_C void CallbackSatCreateSmsPpDownloadEnvelopeInd(TInt aError, const TDesC8& aRpOriginatingAddress, const TDesC8& aSmsTpdu);
+ IMPORT_C void CallbackSatCreateSmsDeliverReportInd(TInt aError);
+ IMPORT_C void CallbackSatCreateCellBroadcastEnvelopeInd(TInt aError, const TDesC8& aCellBroadcastPage);
+ IMPORT_C void CallbackSatGetImageInstanceComp(TInt aError, const TDesC8& aImageInstanceData, const TDesC8& aImageInstanceBody);
+ IMPORT_C void CallbackSatGetIconDataComp(TInt aError, const TDesC8& aIconEfImgRecord);
+ IMPORT_C void CallbackSatGetClutComp(TInt aError, const TDesC8& aClut);
+ IMPORT_C void CallbackSatGetDefaultBearerCapabilityComp(TInt aError, const TDesC8& aCapability);
+ IMPORT_C void CallbackSatGetSmsPpDownloadSupportedComp(TInt aError, TBool aSupported);
+ IMPORT_C void CallbackSatGetSmsControlActivatedComp(TInt aError, TBool aActivated);
+ IMPORT_C void CallbackSatGetAccessTechnologyComp(TInt aError, TUint8 aAccessTechnology);
+ IMPORT_C void CallbackSatTimingAdvanceComp(TInt aError, TUint8 aTimingAdvance, TUint8 aMeStatus);
+ IMPORT_C void CallbackSatProvideLocationInfoComp(TInt aError, TUint16 aLocationAreaCode, TUint16 aCellId,
+ const TDesC8& aOperatorCode);
+ IMPORT_C void CallbackSatSetPollingIntervalComp(TInt aError, TUint8 aPollingInterval);
+ IMPORT_C void CallbackSatLocalInformationNmrComp(TInt aError, const TDesC8& aNmr, const TDesC& aBcchList);
+ IMPORT_C void CallbackSatGetUssdControlSupportedComp(TInt aError, TBool aSupported);
+ IMPORT_C void CallbackSatTerminalRspComp(TInt aError);
+ IMPORT_C void CallbackSatRefreshAllowedComp(TInt aError);
+ IMPORT_C void CallbackSatReadyComp(TInt aError);
+ IMPORT_C void CallbackSatUssdControlEnvelopeErrorComp(TInt aError);
+
+protected:
+
+
+private:
+
+ // So that the CMessageRouter can call SetDispatcherHolder (which we do not want
+ // to export) on it to give it the dispatcher object references.
+ friend class CMessageRouter;
+
+ void SetDispatcherHolder(TDispatcherHolder& aDispatcherHolder);
+
+ CCtsyDispatcherCallback();
+ void ConstructL();
+
+private:
+
+ // Not Owned
+
+ /**
+ * Holds pointers to dispatcher objects. Completions sent by the Licensee LTSY
+ * are forwarded by this class to the relevant dispatcher stored in the
+ * dispatcher holder.
+ */
+ TDispatcherHolder* iDispatcherHolder;
+
+ }; // class CCtsyDispatcherCallback
+
+#endif // CCTSYDISPATCHERCALLBACK_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/cphonebookentry.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,84 @@
+// Copyright (c) 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:
+//
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+#ifndef CPHONEBOOKENTRY_H_
+#define CPHONEBOOKENTRY_H_
+
+#include <e32def.h>
+#include <e32cmn.h>
+
+#include <mpbutil.h>
+
+class CPhoneBookEntry : public CBase
+ {
+public:
+
+ IMPORT_C static CPhoneBookEntry* NewL();
+ IMPORT_C static CPhoneBookEntry* NewLC();
+
+ IMPORT_C void Reset();
+
+ IMPORT_C TInt GetIndex() const;
+ IMPORT_C const TDesC& GetFirstName() const;
+ IMPORT_C const TDesC& GetDiallingNumber() const;
+ IMPORT_C const RArray<RBuf>& GetEmailAddresss() const;
+ IMPORT_C const RArray<RBuf>& GetSecondNames() const;
+ IMPORT_C const RArray<RBuf>& GetAdditionalNumbers() const;
+
+ IMPORT_C void SetIndex(TInt aIndex);
+ IMPORT_C TInt SetFirstName(const TDesC& aFirstName);
+ IMPORT_C TInt SetDiallingNumber(const TDesC& aDiallingNumber);
+
+ IMPORT_C TInt AddEmailAddress(const TDesC& aEmailAddress);
+ IMPORT_C TInt AddSecondName(const TDesC& aSecondName);
+ IMPORT_C TInt AddAdditionalNumber(const TDesC& aAdditionalNumber);
+
+ IMPORT_C TInt ExternalizeToTlvEntry(CPhoneBookBuffer& aPhoneBookBuffer) const;
+ IMPORT_C TInt InternalizeFromTlvEntry(CPhoneBookBuffer& aPhoneBookBuffer, TBool aNewEntryTagRead = EFalse);
+
+ IMPORT_C TInt TlvLength() const;
+
+ IMPORT_C TBool operator== (const CPhoneBookEntry& aPhoneBookEntry) const;
+
+ ~CPhoneBookEntry();
+
+private:
+
+ void ConstructL();
+ CPhoneBookEntry();
+
+ TInt GetText(TPtrC16& text, CPhoneBookBuffer::TPhBkTagType aTagType, CPhoneBookBuffer& aPhoneBookBuffer) const;
+ void DesSize(TInt& aSize, const TDesC& aDes) const;
+
+
+private:
+
+ TInt iIndex;
+ TBool iIndexSet;
+ RBuf iFirstName;
+ RBuf iDiallingNumber;
+ RArray<RBuf> iEmailAddresss;
+ RArray<RBuf> iSecondNames;
+ RArray<RBuf> iAdditionalNumbers;
+ };
+
+#endif /*CPHONEBOOKENTRY_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/distribution.policy.s60 Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,1 @@
+7
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/ltsylogger.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,101 @@
+// Copyright (c) 2008-2010 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:
+// CommsDebugUtil logging support for the CTSY Dispatcher.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+#ifndef __LTSYLOGGER_H_
+#define __LTSYLOGGER_H_
+
+#include <e32base.h>
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+
+_LIT8(KTsySubSystem, "tsy");
+_LIT8(KTsyCompnt, "ctsydis");
+
+ /** Macros to log function entry and exit */
+ //#define TSYLOGENTRYEXIT(aFunc) TLogEntryExit __logger((aFunc), KTsyCompnt)
+
+ //#define TSYLOGENTRYEXITARGS(aFunc, aFmt, ARGS...) TLogEntryExit __logger((aFunc), KTsyCompnt, (aFmt), ##ARGS);
+
+ #define TSYLOGENTRYEXIT /*lint -save -e40*/ TLogEntryExit __logger(TPtrC8((const TUint8*)__PRETTY_FUNCTION__), KTsyCompnt)/*lint -restore*/
+
+ // N.B. The function name does not need to be specified
+ #define TSYLOGENTRYEXITARGS(aFmt, ARGS...) /*lint -save -e40*/ TLogEntryExit __logger(TPtrC8((const TUint8*)__PRETTY_FUNCTION__), KTsyCompnt, (aFmt), ##ARGS)/*lint -restore*/
+
+ #define TSYLOGSETEXITERR(aErr) __logger.SetExitErrorCode( aErr )
+
+
+/**
+Automatic class that logs function entry and exit
+*/
+class TLogEntryExit
+ {
+public:
+ IMPORT_C TLogEntryExit(const TDesC8& aFnName, const TDesC8& aLayer);
+ IMPORT_C TLogEntryExit(const TDesC8& aFnName, const TDesC8& aLayer, TRefByValue<const TDesC8> aFmt, ...);
+ IMPORT_C TLogEntryExit(const TDesC8& aFnName, const TDesC8& aLayer, TRefByValue<const TDesC16> aFmt, ...);
+ IMPORT_C ~TLogEntryExit();
+ inline TInt SetExitErrorCode(TInt aErr);
+private:
+ TPtrC8 iFnName;
+ TPtrC8 iLayer;
+ TInt iErr;
+ }; // class TLogEntryExit
+
+/**
+Set the error that will be logged at function exit
+
+@param aErr error code to log
+@return the given error code. This is to allow to pipe the function call
+*/
+TInt TLogEntryExit::SetExitErrorCode(TInt aErr)
+ {
+ return iErr = aErr;
+ }
+
+
+
+#else // _DEBUG
+
+ #define TSYLOGENTRYEXIT
+ #define TSYLOGENTRYEXITARGS(aFunc, aFmt, ARGS...)
+ #define TSYLOGSETEXITERR(aErr) aErr // So that we don't lose the return code in UREL!
+
+
+/**
+Stub class for urel builds, required for exports.
+*/
+class TLogEntryExit
+ {
+public:
+ IMPORT_C TLogEntryExit(const TDesC8& aFnName, const TDesC8& aLayer);
+ IMPORT_C TLogEntryExit(const TDesC8& aFnName, const TDesC8& aLayer, TRefByValue<const TDesC8> aFmt, ...);
+ IMPORT_C TLogEntryExit(const TDesC8& aFnName, const TDesC8& aLayer, TRefByValue<const TDesC16> aFmt, ...);
+ IMPORT_C ~TLogEntryExit();
+ };
+
+
+
+#endif // _DEBUG
+
+#endif // __LTSYLOGGER_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchcallcontrolinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,938 @@
+// 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 CallControl related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHCALLCONTROLINTERFACE_H_
+#define MLTSYDISPATCHCALLCONTROLINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelmm.h>
+#include <ctsy/rmmcustomapi.h>
+
+class MLtsyDispatchCallControlAnswer : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlAnswerApiId = KDispatchCallControlFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EEtelCallAnswer
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlAnswerComp()
+ *
+ * Implementation of this interface should answer the specified incoming call.
+ *
+ * @param aCallId The Call ID of the call to answer.
+ *
+ * @param aIsIsvCall ETrue if the request to answer the call comes from a
+ * 3rd party application, EFalse otherwise. This parameter exists in case the
+ * LTSY wishes to perform special handling of ISV calls.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RCall::AnswerIncomingCall()
+ * @see RCall::AnswerIncomingCallISV()
+ * @see CTelephony::AnswerIncomingCall()
+ */
+ virtual TInt HandleAnswerReqL(TInt aCallId, TBool aIsIsvCall) = 0;
+
+ }; // class MLtsyDispatchCallControlAnswer
+
+
+
+class MLtsyDispatchCallControlHold : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlHoldApiId = KDispatchCallControlFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileCallHold
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlHoldComp()
+ *
+ * Implementation of this interface should hold the specified call.
+ *
+ * @param aCallId The Call ID of the call to hold.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileCall::Hold()
+ */
+ virtual TInt HandleHoldReqL(TInt aCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlHold
+
+
+
+class MLtsyDispatchCallControlDialEmergency : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlDialEmergencyApiId = KDispatchCallControlFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileCallDialEmergencyCall
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlDialEmergencyComp()
+ *
+ * Implementation of this interface should dial an emergency call to the specified
+ * number.
+ *
+ * @param aEmergencyNumber The emergency phone number to dial. The descriptor
+ * should be of type RMobileENStore::TEmergencyNumber.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileCall::DialEmergencyCall()
+ */
+ virtual TInt HandleDialEmergencyReqL(const TDes& aEmergencyNumber) = 0;
+
+ }; // class MLtsyDispatchCallControlDialEmergency
+
+
+class MLtsyDispatchCallControlStopDtmfTone : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlStopDtmfToneApiId = KDispatchCallControlFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStopDTMFTone
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlStopDtmfToneComp()
+ *
+ * Implementation of this interface should stop sending the DTMF tone previously
+ * started by MLtsyDispatchCallControlStartDtmfTone::HandleStartDtmfToneReqL().
+ *
+ * @param aCallId Call ID of the connected call the stop request will be sent
+ * through.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileCall::StopDTMFTone()
+ */
+ virtual TInt HandleStopDtmfToneReqL(TInt aCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlStopDtmfTone
+
+
+
+class MLtsyDispatchCallControlSetActiveAlsLine : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlSetActiveAlsLineApiId = KDispatchCallControlFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetALSLine
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlSetActiveAlsLineComp()
+ *
+ * Implementation of this interface should set the active ALS line to that
+ * specified.
+ *
+ * @param aAlsLine The new active ALS line.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::SetALSLine()
+ */
+ virtual TInt HandleSetActiveAlsLineReqL(RMobilePhone::TMobilePhoneALSLine aAlsLine) = 0;
+
+ }; // class MLtsyDispatchCallControlSetActiveAlsLine
+
+
+
+class MLtsyDispatchCallControlSendDtmfTonesCancel : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlSendDtmfTonesCancelApiId = KDispatchCallControlFuncUnitId + 6;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSendDTMFTonesCancel
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlSendDtmfTonesCancelComp()
+ *
+ * Implementation of this interface should attempt to cancel the sending of
+ * a string of DTMF tones which were previously sent by
+ * MLtsyDispatchCallControlSendDtmfTones::HandleSendDtmfTonesReqL()
+ *
+ * @param aCallId The Call ID of the active call that the cancel request relates
+ * to.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::SendDTMFTones()
+ */
+ virtual TInt HandleSendDtmfTonesCancelReqL(TInt aCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlSendDtmfTonesCancel
+
+
+
+class MLtsyDispatchCallControlHangUp : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlHangUpApiId = KDispatchCallControlFuncUnitId + 7;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EEtelCallHangUp
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlHangUpComp()
+ *
+ * Implementation of this interface should
+ * make a request to the modem to hang up the call specified
+ * in aCallId. The completion should be called to indicate the result of
+ * placing the hang up request with the baseband.
+ *
+ * - If aCallId refers to a connected call, the Common TSY will pass
+ * a hang up cause of KErrGsmReleaseByUser to indicate that the call is
+ * being released by the user.
+ *
+ * - If aCallId refers to a mobile terminated call which is ringing,
+ * the Common TSY will pass a hang up cause of KErrGsmBusyUserRequest to
+ * indicate that the user is rejecting the incoming call.
+ *
+ * @param aCallId The Call ID of the call to hang up.
+ *
+ * @param aHangupCause The reason for the hang up request.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RCall::HangUp()
+ */
+ virtual TInt HandleHangUpReqL(TInt aCallId, TInt aHangupCause) = 0;
+
+ }; // class MLtsyDispatchCallControlHangUp
+
+
+
+class MLtsyDispatchCallControlResume : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlResumeApiId = KDispatchCallControlFuncUnitId + 8;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileCallResume
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlResumeComp()
+ *
+ * Implementation of this interface should resume the specified call.
+ * See 3GPP 24.083
+ *
+ * @param aCallId The Call ID of the call to resume.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileCall::Resume()
+ */
+ virtual TInt HandleResumeReqL(TInt aCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlResume
+
+
+
+class MLtsyDispatchCallControlSetDynamicHscsdParams : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlSetDynamicHscsdParamsApiId = KDispatchCallControlFuncUnitId + 9;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileCallSetDynamicHscsdParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlSetDynamicHscsdParamsComp()
+ *
+ * Implementation of this interface should set the dynamic HSCSD parameters
+ * of the specified data call.
+ *
+ * @param aCallId The call ID of the data call.
+ *
+ * @param aHscsdParams The requested dynamic HSCSD parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileCall::SetDynamicHscsdParams()
+ */
+ virtual TInt HandleSetDynamicHscsdParamsReqL(TInt aCallId, const RMobileCall::TMobileHscsdCallParamsV1& aHscsdParams) = 0;
+
+ }; // class MLtsyDispatchCallControlSetDynamicHscsdParams
+
+
+
+class MLtsyDispatchCallControlDialVoice : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlDialVoiceApiId = KDispatchCallControlFuncUnitId + 10;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EEtelCallDial
+ * request from the CTSY for dialling a voice call.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlDialVoiceComp()
+ *
+ * Implementation of this interface should
+ * dial the requested voice call and complete the callback to indicate
+ * that an attempt to dial the call has been made. The callback function is used
+ * to indicate the outcome of this attempt to initiate the dialling process.
+ *
+ * @param aCallLine The line to use to dial the call. This parameter can have
+ * one of two possible values RMobilePhone::EAlternateLinePrimary to use the
+ * primary voice line or RMobilePhone::EAlternateLineAuxiliary to use the
+ * auxiliary voice line.
+ *
+ * @param aDialledParty Details about the dialled party including the phone
+ * number to dial.
+ *
+ * @param aCallParamsV1 The call parameters of the call to dial. If aIsIsvCall
+ * is set to ETrue, only the RMobileCall::TMobileCallParamsV1::iIdRestrict
+ * and RMobileCall::TMobileCallParamsV1::iAutoRedial fields are valid.
+ *
+ * @param aIsIsvCall Indicates whether the call originated from a third party
+ * application which would have used the CTelephony class to dial the call.
+ * This information is provided in case the LTSY wishes to do special handling
+ * for third party calls, for example, not allow third party applications to
+ * place emergency calls. See also
+ * MLtsyDispatchCallControlQueryIsEmergencyNumber::HandleQueryIsEmergencyNumberSyncL()
+ * See also: CTelephony::DialNewCall() and RMobileCall::DialISV()
+ *
+ * @param aCallOrigin The origin of the dial request. e.g. Whether the dial
+ * came from an Etel client or the SIM or another source.
+ *
+ * @param aPerformFdnCheck whether or not an FDN (Fixed Dialling Number) check should be performed.
+ *
+ * @return KErrNone on success; KErrNotSupported if the LTSY does not
+ * support handling of this request or another error code indicating the
+ * failure otherwise.
+ *
+ * @see RCall::Dial()
+ * @see RMobileCall::DialISV()
+ * @see RMobileCall::DialNoFdnCheck()
+ */
+ virtual TInt HandleDialVoiceReqL(RMobilePhone::TMobilePhoneALSLine aCallLine, const RMobilePhone::TMobileAddress& aDialledParty, const RMobileCall::TMobileCallParamsV1& aCallParamsV1, TBool aIsIsvCall, RMobileCall::TCallParamOrigin aCallOrigin,
+ TBool aPerformFdnCheck) = 0;
+
+ }; // class MLtsyDispatchCallControlDialVoice
+
+
+
+class MLtsyDispatchCallControlTransfer : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlTransferApiId = KDispatchCallControlFuncUnitId + 11;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileCallTransfer
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlTransferComp()
+ *
+ * This request should be completed when the request to transfer the call has
+ * been placed.
+ *
+ * Implementation of this interface should transfer the specified held call.
+ * Transferring a call can be requested when there is one held call and another
+ * call either connected or in the ringing state. When the two remote parties
+ * are transferred to each other, the party requesting this operation (us)
+ * drops out of the call.
+ *
+ * @param aHeldCallId Call ID of the call held call to transfer.
+ *
+ * @param aOtherCallId Call ID of the other call to transfer the held call to.
+ * This call is either an incoming call in the ringing state or a connected call.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileCall::Transfer()
+ */
+ virtual TInt HandleTransferReqL(TInt aHeldCallId, TInt aOtherCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlTransfer
+
+
+
+class MLtsyDispatchCallControlSendDtmfTones : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlSendDtmfTonesApiId = KDispatchCallControlFuncUnitId + 12;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSendDTMFTones
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlSendDtmfTonesComp()
+ *
+ * Implementation of this interface should send the specified DTMF string through
+ * the currently active call.
+ *
+ * @param aCallId The Call ID of the call through which the DTMF string will be
+ * sent.
+ *
+ * @param aTones Tones to send through the active call.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::SendDTMFTones()
+ */
+ virtual TInt HandleSendDtmfTonesReqL(TInt aCallId, const TDesC& aTones) = 0;
+
+ }; // class MLtsyDispatchCallControlSendDtmfTones
+
+
+
+class MLtsyDispatchCallControlGetIdentityServiceStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlGetIdentityServiceStatusApiId = KDispatchCallControlFuncUnitId + 13;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetIdentityServiceStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlGetIdentityServiceStatusComp()
+ *
+ * Implementation of this interface should request for the status of the
+ * specified identity service such as the Caller ID Presentation Service.
+ *
+ * @param aService The service whose status needs to be retrieved.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::GetIdentityServiceStatus()
+ */
+ virtual TInt HandleGetIdentityServiceStatusReqL(RMobilePhone::TMobilePhoneIdService aService) = 0;
+
+ }; // class MLtsyDispatchCallControlGetIdentityServiceStatus
+
+
+
+class MLtsyDispatchCallControlSwap : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlSwapApiId = KDispatchCallControlFuncUnitId + 14;
+ static const TInt KLtsyDispatchCallControlSingleSwapApiId = KDispatchCallControlFuncUnitId + 29;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileCallSwap
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlSwapComp()
+ *
+ * This request should be completed when the request to swap two calls has
+ * been placed. One is held and the other connected. The held call becomes connected
+ * (RMobileCall::EStatusConnected) and the connected call becomes held
+ * (RMobileCall::EStatusHold).
+ *
+ * Implementation of this interface should request that the Licensee TSY
+ * swap the specified calls. Swapping is allowed for one or two active calls.
+ *
+ * @param aCallId The Call ID of the call to swap.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileCall::Swap()
+ */
+ virtual TInt HandleSwapReqL(TInt aCallId, TInt aSecondCallId) = 0;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileCallSwap
+ * request, for a single call, from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlSwapComp()
+ *
+ * This request should be completed when the request to swap the single call has
+ * been placed.
+ *
+ * Implementation of this interface should request that the Licensee TSY
+ * swap the specified call. The state of the call will be swapped from held to connected
+ * (or visa versa)
+ *
+ * @param aCallId The Call ID of the single call to swap.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileCall::Swap()
+ */
+ virtual TInt HandleSwapReqL(TInt aCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlSwap
+
+
+
+class MLtsyDispatchCallControlLoanDataPort : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlLoanDataPortApiId = KDispatchCallControlFuncUnitId + 15;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EEtelCallLoanDataPort
+ * request from the CTSY.
+ *
+ * Implementation of this interface should read the port name from CommDat
+ * for use in a data call. This API may be adaptation specific.
+ *
+ * It is a sync call where the output parameters should be completed before returning
+ * from this function.
+ *
+ * @param aCallId Call ID of the data call requiring the data port.
+ *
+ * @param aCommPort Output parameter. The communications port information
+ * retrieved by a client using the RCall::LoanDataPort() API.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleLoanDataPortSyncL(TInt aCallId, RCall::TCommPort& aCommPort) = 0;
+
+ }; // class MLtsyDispatchCallControlLoanDataPort
+
+
+
+class MLtsyDispatchCallControlRecoverDataPort : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlRecoverDataPortApiId = KDispatchCallControlFuncUnitId + 16;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EEtelCallRecoverDataPort
+ * request from the CTSY.
+ *
+ * Implementation of this interface should recover the data port loaned by a
+ * previous call to
+ * MLtsyDispatchCallControlLoanDataPort::HandleLoanDataPortSyncL()
+ * and matches a client side call to RCall::RecoverDataPort().
+ *
+ * It is a sync call where the data arguments should be completed before returning.
+ *
+ * @param aCallId Call ID of the data call requiring the data port.
+ *
+ * @param aCommPort The data port to recover. This contains the details previously
+ * returned by a call to RCall::LoanDataPort()
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleRecoverDataPortSyncL(TInt aCallId, RCall::TCommPort& aCommPort) = 0;
+
+ }; // class MLtsyDispatchCallControlRecoverDataPort
+
+
+
+class MLtsyDispatchCallControlStartDtmfTone : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlStartDtmfToneApiId = KDispatchCallControlFuncUnitId + 17;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStartDTMFTone
+ * request from the CTSY.
+ *
+ * Implementation of this interface should send the specified DTMF tone
+ * through the currently active call.
+ *
+ * @param aCallId Call ID of the connected call through which the DTMF tone
+ * will be sent.
+ *
+ * @param aTone The tone character to send through the call.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::StartDTMFTone()
+ */
+ virtual TInt HandleStartDtmfToneReqL(TInt aCallId, const TChar& aTone) = 0;
+
+ }; // class MLtsyDispatchCallControlStartDtmfTone
+
+
+
+
+class MLtsyDispatchCallControlGetActiveAlsLine : public MLtsyDispatchInterface
+ {
+public:
+ static const TInt KLtsyDispatchCallControlGetActiveAlsLineApiId = KDispatchCallControlFuncUnitId + 18;
+
+public:
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetActiveAlsLine
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlGetActiveAlsLineComp()
+ *
+ * Implementation of this interface should retrieve the currently selected ALS line.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::GetALSLine()
+ */
+ virtual TInt HandleGetActiveAlsLineReqL() = 0;
+
+ }; // class MLtsyDispatchCallControlGetActiveAlsLine
+
+
+class MLtsyDispatchCallControlDialData : public MLtsyDispatchInterface
+ {
+public:
+ static const TInt KLtsyDispatchCallControlDialDataApiId = KDispatchCallControlFuncUnitId + 19;
+public:
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EEtelCallDial
+ * request from the CTSY when a data call is requested.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlDialDataComp()
+ *
+ * Implementation of this interface should dial the data call to the
+ * specified destination. The callback should be completed when the dial
+ * request has been sent to the baseband and should indicate
+ * that an attempt to dial the call has been made. The callback function is used
+ * to indicate the outcome of this attempt to initiate the dialling process.
+ *
+ * @param aLine The line to use to dial the call.
+ *
+ * @param aDialledParty Details about the dialled party including the phone
+ * number to dial.
+ *
+ * @param aCallParamsV1 The call parameters of the call to dial.
+ *
+ * @param aPerformFdnCheck whether or not an FDN (Fixed Dialling Number) check should be performed.
+ *
+ * @return KErrNone on success; KErrNotSupported if the LTSY does not
+ * support handling of this request or another error code indicating the
+ * failure otherwise.
+ *
+ * @see RCall::Dial()
+ */
+ virtual TInt HandleDialDataReqL(const RMobilePhone::TMobileAddress& aDialledParty, const RMobileCall::TMobileDataCallParamsV1& aCallParamsV1,
+ TBool aPerformFdnCheck) = 0;
+
+ }; // class MLtsyDispatchCallControlDialData
+
+
+class MLtsyDispatchCallControlQueryIsEmergencyNumber : public MLtsyDispatchInterface
+ {
+public:
+ static const TInt KLtsyDispatchCallControlQueryIsEmergencyNumberApiId = KDispatchCallControlFuncUnitId + 20;
+public:
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the
+ * ECustomCheckEmergencyNumberIPC request from the CTSY.
+ *
+ * It is a sync call where the output data arguments should be completed
+ * before returning.
+ *
+ * Implementation of this interface should check whether the specified
+ * number is an emergency number and return the result back to the caller
+ * via the output parameter.
+ *
+ * @param aNumber Input parameter. The phone number being queried to see
+ * if it is an emergency number or not.
+ *
+ * @param aIsEmergencyNumber Output parameter used to indicate whether the
+ * aNumber parameter is an emergency number. ETrue if it is, EFalse otherwise.
+ *
+ * @return KErrNone if the LTSY was successful in determining whether the
+ * queried number is an emergency one; KErrNotSupported if the LTSY does not
+ * support handling of this request or another error code indicating the
+ * failure otherwise.
+ */
+ virtual TInt HandleQueryIsEmergencyNumberSyncL(const TDesC& aNumber, TBool& aIsEmergencyNumber) = 0;
+
+ }; // class MLtsyDispatchCallControlQueryIsEmergencyNumber
+
+
+class MLtsyDispatchCallControlGetAlsPpSupport : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlGetAlsPpSupportApiId = KDispatchCallControlFuncUnitId + 21;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomCheckAlsPpSupportIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlGetAlsPpSupportComp()
+ *
+ * Implementation of this interface should return check if the product profile support ALS.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomAPI::CheckAlsPpSupport()
+ */
+ virtual TInt HandleGetAlsPpSupportL() = 0;
+
+ }; // class MLtsyDispatchCallControlGetAlsPpSupport
+
+
+class MLtsyDispatchCallControlGetAlsBlockedStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlGetAlsBlockedStatusApiId = KDispatchCallControlFuncUnitId + 22;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetAlsBlockedIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlGetAlsBlockedStatusComp()
+ *
+ * Implementation of this interface should return the blocked status of the ALS service.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomAPI::GetAlsBlocked()
+ */
+ virtual TInt HandleGetAlsBlockedStatusL() = 0;
+
+ }; // class MLtsyDispatchCallControlGetAlsBlockedStatus
+
+
+class MLtsyDispatchCallControlSetAlsBlocked : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlSetAlsBlockedApiId = KDispatchCallControlFuncUnitId + 23;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomSetAlsBlockedIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlSetAlsBlockedComp()
+ *
+ * Implementation of this interface should set the ALS blocked status.
+ *
+ * @param aBlocked RMmCustomAPI::EDeactivateBlock when the ALS block needs to be deactivated,
+ * RMmCustomAPI::EActivateBlock when the ALS block needs to be activated.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomAPI::SetAlsBlocked()
+ */
+ virtual TInt HandleSetAlsBlockedL(RMmCustomAPI::TSetAlsBlock aBlocked) = 0;
+
+ }; // class MLtsyDispatchCallControlSetAlsBlocked
+
+
+class MLtsyDispatchCallControlGetLifeTime : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlGetLifeTimeApiId = KDispatchCallControlFuncUnitId + 24;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetLifeTimeIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking one of the
+ * CCtsyDispatcherCallback::CallbackCallControlGetLifeTimeComp()
+ *
+ * Implementation of this interface should return the lifetime of the phone. The lifetime
+ * information includes the manufacturing date of the phone and/or the total amount of air time used
+ * from the manufacturing date until the call to this method. Calling this method does not reset any data.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomAPI::GetLifeTime()
+ */
+ virtual TInt HandleGetLifeTimeL() = 0;
+
+ }; // class MLtsyDispatchCallControlGetLifeTimeStatus
+
+
+class MLtsyDispatchCallControlTerminateErrorCall : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlTerminateErrorCallApiId = KDispatchCallControlFuncUnitId + 25;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomTerminateCallIPC
+ * request from the CTSY with a valid call id.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlTerminateErrorCallComp()
+ *
+ * Implementation of this interface should terminate the call with an error.
+ *
+ * @param aCallId The Call ID of the call to terminate.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomAPI::TerminateCall()
+ */
+ virtual TInt HandleTerminateErrorCallL(TInt aCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlTerminateErrorCall
+
+
+class MLtsyDispatchCallControlTerminateAllCalls : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlTerminateAllCallsApiId = KDispatchCallControlFuncUnitId + 26;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomTerminateCallIPC
+ * request from the CTSY with an invalid call id.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlTerminateAllCallsComp()
+ *
+ * Implementation of this interface should terminate all the active, connecting and held calls.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomAPI::TerminateCall()
+ */
+ virtual TInt HandleTerminateAllCallsL() = 0;
+
+ }; // class MLtsyDispatchCallControlTerminateAllCalls
+
+
+class MLtsyDispatchCallControlGetCallForwardingIndicator : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlGetCallForwardingIndicatorApiId = KDispatchCallControlFuncUnitId + 27;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetIccCallForwardingStatusIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking one of the
+ * CCtsyDispatcherCallback::CallbackCallControlGetCallForwardingIndicatorComp()
+ *
+ * Implementation of this interface should return the call forwarding indicator from the network.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomAPI::GetIccCallForwardingIndicatorStatus()
+ */
+ virtual TInt HandleGetCallForwardingIndicatorL() = 0;
+
+ }; // class MLtsyDispatchCallControlGetCallForwardingIndicator
+
+class MLtsyDispatchCallControlUpdateLifeTimer : public MLtsyDispatchInterface
+ {
+public:
+ static const TInt KLtsyDispatchCallControlUpdateLifeTimerApiId = KDispatchCallControlFuncUnitId + 28;
+public:
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the
+ * ECtsyUpdateLifeTimeReq request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlUpdateLifeTimerComp()
+ *
+ * Implementation of this interface can accumulate the number of seconds that
+ * have elapsed since a call started. By initialising a variable in the LTSY when a
+ * call is dialed, then adding the value contained in aDuration to this variable
+ * it is possible to track the duration of a call.
+ *
+ * HandleUpdateLifeTimerReqL is usually invoked every 10 seconds.
+ *
+ * @param aDuration The number of seconds that have elapsed since the last time
+ * this interface was invoked (or since the start of the call if the first invocation).
+ *
+ * @return KErrNone if the LTSY was successful; KErrNotSupported if the LTSY does not
+ * support handling of this request or another error code indicating the
+ * failure otherwise.
+ */
+ virtual TInt HandleUpdateLifeTimerReqL(TUint32 aDuration) = 0;
+
+ }; // class MLtsyDispatchCallControlUpdateLifeTimer
+
+
+// Note: A static constant has been defined in MLtsyDispatchCallControlSwap (abbove) with the highest Id
+// in this file... "KLtsyDispatchCallControlSingleSwapApiId = KDispatchCallControlFuncUnitId + 29"
+// If adding a new Id it must be greater than KDispatchCallControlFuncUnitId + 29.
+
+#endif /*MLTSYDISPATCHCALLCONTROLINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchcallcontrolmultipartyinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,203 @@
+// 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 CallControlMultiparty related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHCALLCONTROLMULTIPARTYINTERFACE_H_
+#define MLTSYDISPATCHCALLCONTROLMULTIPARTYINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+
+class MLtsyDispatchCallControlMultipartyConferenceHangUp : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlMultipartyConferenceHangUpApiId = KDispatchCallControlMultipartyFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileConferenceCallHangUp
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceHangUpComp()
+ *
+ * Implementation of this interface should terminate the active conference call.
+ *
+ * @param aCallIds Array of all Call IDs, which belong to the conference.
+ * This array will be destroyed after the function call returns.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileConferenceCall::HangUp()
+ */
+ virtual TInt HandleConferenceHangUpReqL(const RArray<TInt>& aCallIds) = 0;
+
+ }; // class MLtsyDispatchCallControlMultipartyConferenceHangUp
+
+
+
+class MLtsyDispatchCallControlMultipartyConferenceAddCall : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlMultipartyConferenceAddCallApiId = KDispatchCallControlMultipartyFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileConferenceCallAddCall
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceAddCallComp()
+ *
+ * Implementation of this interface should add the specified call to the conference
+ * call. Typically, there will be an ongoing conference call containing at least
+ * 2 remote parties. The conference call gets swapped into the held state and
+ * either a new call is dialled or an incoming call is answered. This call can
+ * then be added to the conference call using this API.
+ *
+ *
+ * @param aCallId The Call ID of the connected call to be added to the multiparty (conference) call.
+ * @param aExistingCallId The Call ID of one of the calls which is already a part of the conference call.
+ * This can be the Call ID of any of the existing calls in the conference, not necessarily the first one that was added.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileconferenceCall::AddCall()
+ */
+ virtual TInt HandleConferenceAddCallReqL(TInt aCallId, TInt aExistingCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlMultipartyConferenceAddCall
+
+
+
+class MLtsyDispatchCallControlMultipartyCreateConference : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlMultipartyCreateConferenceApiId = KDispatchCallControlMultipartyFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileConferenceCallCreateConference
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlMultipartyCreateConferenceComp()
+ *
+ * Implementation of this interface should join the two specified calls into a
+ * multiparty (conference) call.
+ *
+ *
+ * @param aHeldCallId The Call ID of the held call which will be one of the calls
+ * joined to the conference.
+ *
+ * @param aSecondCallId The Call ID of the active / alerting call which will be
+ * the other call joined to the conference.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileConferenceCall::CreateConference()
+ */
+ virtual TInt HandleCreateConferenceReqL(TInt aHeldCallId, TInt aSecondCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlMultipartyCreateConference
+
+
+
+class MLtsyDispatchCallControlMultipartyConferenceSwap : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlMultipartyConferenceSwapApiId = KDispatchCallControlMultipartyFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileConferenceCallSwap
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceSwapComp()
+ *
+ * Implementation of this interface should swap the ongoing conference call and
+ * the other call. If the conference call is on hold,
+ * it will become connected and the other call will be held.
+ *
+ * If it is connected, it will be put on hold and the other call will become
+ * connected.
+ *
+ * @param aHeldCallId The Call ID of the currently held call. If the conference
+ * call is on hold then this will be the call ID of one of the calls in the
+ * conference.
+ *
+ * @param aConnectedCallId The Call ID of the currently connected call.
+ * If the conference call is connected then this will be the call ID of one
+ * of the calls in the conference.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileConferenceCall::Swap()
+ */
+ virtual TInt HandleConferenceSwapReqL(TInt aHeldCallId, TInt aConnectedCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlMultipartyConferenceSwap
+
+
+class MLtsyDispatchCallControlMultipartyConferenceGoOneToOne : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCallControlMultipartyConferenceGoOneToOneApiId = KDispatchCallControlMultipartyFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileCallGoOneToOne
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCallControlMultipartyConferenceGoOneToOneComp()
+ *
+ * Implementation of this interface should setup a private communication with the specified call
+ * in the conference. This call will then become connected when the call status notification
+ * arrives from the LTSY and the other call(s) will go on hold.
+ *
+ * If at the time of the go one-to-one request, there are two remote parties in the conference
+ * call, after the one to one is successful, the other call will go on hold and the conference
+ * will go idle (as there are not enough participants to be a valid conference anymore). If there
+ * are more than two remote parties in the conference call, then the conference call should go
+ * on hold.
+ *
+ * @param aCallId The Call ID of the call which the client wishes to set up a private communication with.
+ * This should be a call currently in the conference.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileCall::GoOneToOne()
+ */
+ virtual TInt HandleConferenceGoOneToOneReqL(TInt aCallId) = 0;
+
+ }; // class MLtsyDispatchCallControlMultipartyConferenceGoOneToOne
+
+#endif /*MLTSYDISPATCHCALLCONTROLMULTIPARTYINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchcellbroadcastinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,207 @@
+// 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 CellBroadcast related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHCELLBROADCASTINTERFACE_H_
+#define MLTSYDISPATCHCELLBROADCASTINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelmm.h>
+
+
+namespace DispatcherCellBroadcast
+ {
+
+ /**
+ * This namespace contains all types relating to the Cell Broadcast dispatcher.
+ */
+
+
+ struct TWcdmaCbsMsgBase
+ {
+ /*
+ * Number of Pages
+ */
+ TInt iNumberOfPages;
+
+ /*
+ * Message Type
+ */
+ TUint8 iMessageType;
+
+ /*
+ * Message ID
+ */
+ TUint16 iMessageId;
+
+ /*
+ * Serial Number
+ */
+ TUint16 iSerialNum;
+
+ /*
+ * Data Coding Scheme
+ */
+ TUint8 iDCS;
+
+ /*
+ * Info length
+ */
+ TUint8 iInfoLength;
+ };
+
+ }
+
+class MLtsyDispatchCellBroadcastSetBroadcastFilterSetting : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCellBroadcastSetBroadcastFilterSettingApiId = KDispatchCellBroadcastFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileBroadcastMessagingSetFilterSetting
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCellBroadcastSetBroadcastFilterSettingComp()
+ *
+ * Implementation of this interface sets a new value for the filter setting.
+ * The filter specifies which broadcast messages are accepted and which are rejected
+ *
+ *
+ * @param aFilterSetting struct settings for a filter to accept/reject messages
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileBroadcastMessaging::SetFilterSetting()
+ */
+ virtual TInt HandleSetBroadcastFilterSettingReqL(RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter aFilterSetting) = 0;
+
+ }; // class MLtsyDispatchCellBroadcastSetBroadcastFilterSetting
+
+
+
+class MLtsyDispatchCellBroadcastActivateBroadcastReceiveMessage : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCellBroadcastActivateBroadcastReceiveMessageApiId = KDispatchCellBroadcastFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileBroadcastMessagingReceiveMessage
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCellBroadcastActivateBroadcastReceiveMessageComp()
+ *
+ * RMobileBroadcastMessaging::ReceiveMessage will be completed when a new incoming broadcast message has been received
+ * via CallbackCellBroadcastGsmBroadcastNotifyMessageReceivedInd() or CallbackCellBroadcastWcdmaBroadcastMessageReceivedInd()
+ *
+ * @param aFilterSetting struct settings for a filter to accept/reject messages
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileBroadcastMessaging::ReceiveMessage()
+ * @see CCtsyDispatcherCallback::CallbackCellBroadcastGsmBroadcastNotifyMessageReceivedInd()
+ * @see CCtsyDispatcherCallback::CallbackCellBroadcastWcdmaBroadcastMessageReceivedInd()
+ */
+ virtual TInt HandleActivateBroadcastReceiveMessageReqL(RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter aFilterSetting) = 0;
+
+ }; // class MLtsyDispatchCellBroadcastActivateBroadcastReceiveMessage
+
+
+
+class MLtsyDispatchCellBroadcastReceiveMessageCancel : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCellBroadcastReceiveMessageCancelApiId = KDispatchCellBroadcastFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileBroadcastMessagingReceiveMessageCancel
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCellBroadcastReceiveMessageCancelComp()
+ *
+ *
+ * @param aFilterSetting struct settings for a filter to accept/reject messages
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileBroadcastMessaging::ReceiveMessage()
+ * @see RMobileBroadcastMessaging::Close()
+ */
+ virtual TInt HandleReceiveMessageCancelReqL(RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter aFilterSetting ) = 0;
+
+ }; // class MLtsyDispatchCellBroadcastReceiveMessageCancel
+
+class MLtsyDispatchCellBroadcastStartSimCbTopicBrowsing : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCellBroadcastStartSimCbTopicBrowsingApiId = KDispatchCellBroadcastFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomStartSimCbTopicBrowsingIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCellBroadcastStartSimCbTopicBrowsingComp()
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStartSimCbTopicBrowsingReqL() = 0;
+
+ }; // class MLtsyDispatchCellBroadcastStartSimCbTopicBrowsing
+
+class MLtsyDispatchCellBroadcastDeleteSimCbTopic : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchCellBroadcastDeleteSimCbTopicApiId = KDispatchCellBroadcastFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomDeleteSimCbTopicIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackCellBroadcastDeleteSimCbTopicComp()
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleDeleteSimCbTopicReqL(TUint aIndex, TBool aDeleteFlag) = 0;
+
+ }; // class MLtsyDispatchCellBroadcastDeleteSimCbTopic
+
+
+#endif /*MLTSYDISPATCHCELLBROADCASTINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,71 @@
+// 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:
+//
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+#ifndef MLTSYDISPATCHINTERFACE_H_
+#define MLTSYDISPATCHINTERFACE_H_
+
+#include <e32std.h>
+#include <e32def.h>
+
+typedef const TInt TLtsyCallbackIndId;
+typedef const TInt TLtsyDispatchInterfaceApiId;
+
+// Offsets of IDs used to identify API calls and also indicator callbacks
+const TInt KDispatchCallControlFuncUnitId = 0;
+const TInt KDispatchPhoneFuncUnitId = 2000;
+const TInt KDispatchSecurityFuncUnitId = 4000;
+const TInt KDispatchPhonebookEnFuncUnitId = 6000;
+const TInt KDispatchCellBroadcastFuncUnitId = 8000;
+const TInt KDispatchPhonebookOnFuncUnitId = 10000;
+const TInt KDispatchPhonebookFuncUnitId = 12000;
+const TInt KDispatchSimFuncUnitId = 14000;
+const TInt KDispatchSmsFuncUnitId = 16000;
+const TInt KDispatchCallControlMultipartyFuncUnitId = 18000;
+const TInt KDispatchSupplementaryServicesFuncUnitId = 20000;
+const TInt KDispatchPacketServicesFuncUnitId = 22000;
+const TInt KDispatchSatFuncUnitId = 24000;
+
+/**
+ * Identifies the group that a set of IDs belong to.
+ * Used with MLtsyDispatchFactoryV1::IsCallbackIndicatorSupported
+ *
+ * @see MLtsyDispatchFactoryV1::IsCallbackIndicatorSupported
+ */
+enum TLtsyDispatchIndIdGroup
+ {
+ EIndIdGroup1, //< Callback indicator IDs 1 to 32
+ EIndIdGroup2, //< Callback indicator IDs 33 to 63
+ EIndIdGroup3 //< Callback indicator IDs 64 to 95
+ };
+
+class MLtsyDispatchInterface
+/**
+ * Base class from which all dispatch interfaces to be implemented by the Licensee LTSY
+ * derive.
+ */
+ {
+public:
+
+
+ }; // class MLtsyDispatchInterface
+
+#endif /*MLTSYDISPATCHINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchpacketservicesinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,789 @@
+// 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 PacketServices related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHPACKETSERVICESINTERFACE_H_
+#define MLTSYDISPATCHPACKETSERVICESINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelpckt.h>
+#include <etelqos.h>
+
+
+
+
+class MLtsyDispatchPacketServicesPacketAttach : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesPacketAttachApiId = KDispatchPacketServicesFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketAttach
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesPacketAttachComp()
+ *
+ * Implementation of this interface should issue an attach request to the LTSY.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandlePacketAttachReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesPacketAttach
+
+
+
+class MLtsyDispatchPacketServicesGetPacketAttachMode : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetPacketAttachModeApiId = KDispatchPacketServicesFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketGetAttachMode
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetPacketAttachModeComp()
+ *
+ * Implementation of this interface will return the attach mode. However if the call is
+ * being made during a packet service open process it will skip the get attach mode call.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetPacketAttachModeReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetPacketAttachMode
+
+
+
+class MLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatusApiId = KDispatchPacketServicesFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketGetNtwkRegStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetPacketNetworkRegistrationStatusComp()
+ *
+ * Implementation of this interface should retrieve the packet network registration status
+ * from the baseband.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetPacketNetworkRegistrationStatusReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetPacketNetworkRegistrationStatus
+
+
+
+class MLtsyDispatchPacketServicesPacketDetach : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesPacketDetachApiId = KDispatchPacketServicesFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketDetach
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesPacketDetachComp()
+ *
+ * Implementation of this interface should issue a detach request to the LTSY.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandlePacketDetachReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesPacketDetach
+
+
+
+class MLtsyDispatchPacketServicesSetPdpContextConfig : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetPdpContextConfigApiId = KDispatchPacketServicesFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextSetConfig
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextConfigComp()
+ * Implementation of this interface should pass LTSY the parameters it needs to set the
+ * context configuration
+ *
+ * @param aContextId the context name
+ * @param aAccessPointName the access name which identifies the GGSN to be used
+ * @param aPdpType the protocol type
+ * @param aPdpAddress the PDP address for this context
+ * @param aPcoBuffer the pco buffer
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPdpContextConfigReqL(const TDesC& aContextId,
+ const TDesC8& aAccessPointName,
+ const RPacketContext::TProtocolType aPdpType,
+ const TDesC8& aPdpAddress,
+ const TDesC8& aPcoBuffer) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetPdpContextConfig
+
+
+
+class MLtsyDispatchPacketServicesModifyActivePdpContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesModifyActivePdpContextApiId = KDispatchPacketServicesFuncUnitId + 6;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextModifyActiveContext
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesModifyActivePdpContextComp()
+ * Implementation of this interface should signal to the Licensee TSY that it can action the modification
+ * of an existing context, the changes being indicated via appropriate RPacketContext::SetConfig and
+ * RPacketContext::SetProfileParameters calls
+ *
+ * @param aContextName the context name.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleModifyActivePdpContextReqL(const TDesC& aContextName) = 0;
+ }; // class MLtsyDispatchPacketServicesModifyActivePdpContext
+
+
+
+class MLtsyDispatchPacketServicesInitialisePdpContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesInitialisePdpContextApiId = KDispatchPacketServicesFuncUnitId + 7;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextInitialiseContext
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesInitialisePdpContextComp()
+ * Implementation of this interface should initialise either primary or secondary contexts
+ *
+ *
+ * @param aPrimaryContextName Primary context name in the form of a character string,
+ * the maximum length of the descriptor should not exceed KMaxInfoName.
+ * @param aSecondaryContextName Optional secondary context name in the form of a character
+ * string, the maximum length of the descriptor should not exceed KMaxInfoName.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleInitialisePdpContextReqL(const TDesC& aPrimaryContextName, const TDesC& aSecondaryContextName) = 0;
+ }; // class MLtsyDispatchPacketServicesInitialisePdpContext
+
+
+
+class MLtsyDispatchPacketServicesDeletePdpContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesDeletePdpContextApiId = KDispatchPacketServicesFuncUnitId + 8;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextDelete
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesDeletePdpContextComp()
+ *
+ * Implementation of this interface should delete the context given.
+ *
+ * @param aContextName The name of the context to delete,
+ * the maximum length of the descriptor should not exceed KMaxInfoName.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleDeletePdpContextReqL(const TDesC& aContextName) = 0;
+
+ }; // class MLtsyDispatchPacketServicesDeletePdpContext
+
+
+
+class MLtsyDispatchPacketServicesSetPacketAttachMode : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetPacketAttachModeApiId = KDispatchPacketServicesFuncUnitId + 9;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketSetAttachMode
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPacketAttachModeComp()
+ *
+ * Implementation of this interface should set the packet service attach mode.
+ * @param aAttachMode the attach mode due to be set.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPacketAttachModeReqL(RPacketService::TAttachMode aAttachMode) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetPacketAttachMode
+
+
+
+class MLtsyDispatchPacketServicesNotifyPacketStatusChange : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesNotifyPacketStatusChangeApiId = KDispatchPacketServicesFuncUnitId + 10;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketNotifyStatusChange
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesNotifyPacketStatusChangeComp()
+ *
+ * Implementation of this interface should notify when the status of the packet service was changed.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleNotifyPacketStatusChangeReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesNotifyPacketStatusChange
+
+
+
+class MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetDefaultPdpContextGprsParamsApiId = KDispatchPacketServicesFuncUnitId + 11;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketSetDefaultContextParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetDefaultPdpContextParamsComp()
+ *
+ * Implementation of this interface should set default configuration for Packet Context using GPRS params.
+ *
+ * @param aContextConfigGprs GPRS configuration input parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetDefaultPdpContextGprsParamsReqL(const RPacketContext::TContextConfigGPRS& aContextConfigGprs) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetDefaultPdpContextGprsParams
+
+class MLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetDefaultPdpContextR99R4ParamsApiId = KDispatchPacketServicesFuncUnitId + 12;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketSetDefaultContextParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetDefaultPdpContextParamsComp()
+ *
+ * Implementation of this interface should set default configuration for Packet Context using R99/R4 params.
+ *
+ * @param aContextConfigR99R4 R99/R4 configuration input parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetDefaultPdpContextR99R4ParamsReqL(const RPacketContext::TContextConfigR99_R4& aContextConfigR99R4) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetDefaultPdpContextR99R4Params
+
+
+class MLtsyDispatchPacketServicesActivatePdpContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesActivatePdpContextApiId = KDispatchPacketServicesFuncUnitId + 13;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextActivate
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesActivatePdpContextComp()
+ *
+ * Implementation of this interface should activate the context given.
+ *
+ * @param aContextName The context name, the maximum length of the descriptor
+ * should not exceed KMaxInfoName.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleActivatePdpContextReqL(const TDesC& aContextName) = 0;
+
+ }; // class MLtsyDispatchPacketServicesActivatePdpContext
+
+
+
+class MLtsyDispatchPacketServicesSetPdpContextQosGprs : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetPdpContextQosGprsApiId = KDispatchPacketServicesFuncUnitId + 14;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketQoSSetProfileParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextQosComp()
+ *
+ * Implementation of this interface should set GPRS QoS parametes for the given context.
+ *
+ * @param aContextName The name of the context, the maximum length of the
+ * descriptor should not exceed KMaxInfoName.
+ * @param aQoSConfig The QoS configuration parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPdpContextQosGprsReqL(const TDesC& aContextName, const RPacketQoS::TQoSGPRSRequested& aQoSConfig) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetPdpContextQosGprs
+
+class MLtsyDispatchPacketServicesSetPdpContextQosR99R4 : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetPdpContextQosR99R4ApiId = KDispatchPacketServicesFuncUnitId + 15;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketQoSSetProfileParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextQosComp()
+ *
+ * Implementation of this interface should set R99R4 QoS parametes for the given context.
+ *
+ *
+ * @param aContextName the name of the context.
+ * @param aQoSConfig the QoS configuration parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPdpContextQosR99R4ReqL(const TDesC& aContextName, const RPacketQoS::TQoSR99_R4Requested& aQoSConfig) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetPdpContextQosR99R4
+
+class MLtsyDispatchPacketServicesSetPdpContextQosR5 : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesSetPdpContextQosR5ApiId = KDispatchPacketServicesFuncUnitId + 16;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketQoSSetProfileParams
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextQosComp()
+ *
+ * Implementation of this interface should set R5 QoS parametes for the given context.
+ *
+ *
+ * @param aContextName The name of the context, the maximum length of the
+ * descriptor should not exceed KMaxInfoName.
+ * @param aQoSConfig The QoS configuration parameters.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPdpContextQosR5ReqL(const TDesC& aContextName, const RPacketQoS::TQoSR5Requested& aQoSConfig) = 0;
+
+ }; // class MLtsyDispatchPacketServicesSetPdpContextQosR5
+
+
+
+
+class MLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequestApiId = KDispatchPacketServicesFuncUnitId + 17;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketRejectActivationRequest
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesRejectNetworkInitiatedContextActivationRequestComp()
+ *
+ * Implementation of this interface should reject the network initiated context activation request.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleRejectNetworkInitiatedContextActivationRequestReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesRejectNetworkInitiatedContextActivationRequest
+
+
+
+class MLtsyDispatchPacketServicesDeactivatePdpContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesDeactivatePdpContextApiId = KDispatchPacketServicesFuncUnitId + 18;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextDeactivate
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesDeactivatePdpContextComp()
+ * Implementation of this interface should deactivate the context indicated by the context name.
+ *
+ *
+ * @param aContextName The context name that is to be deactivated,
+ * the maximum length of the descriptor should not exceed KMaxInfoName.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleDeactivatePdpContextReqL(const TDesC& aContextName) = 0;
+
+ }; // class MLtsyDispatchPacketServicesDeactivatePdpContext
+
+
+
+class MLtsyDispatchPacketServicesAddPacketFilter : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesAddPacketFilterApiId = KDispatchPacketServicesFuncUnitId + 19;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextAddPacketFilter
+ * request from the CTSY.
+ * Implementation of this interface should add a packet filter to the packet service.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextConfigComp()
+ *
+ * @param aContextName The name of the context, the maximum length of the
+ * descriptor should not exceed KMaxInfoName.
+ * @param aContextFilter An array contains up to eight filters to be used
+ * for configuring the secondary context.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleAddPacketFilterSyncL(const TDesC& aContextName, CArrayFixFlat<RPacketContext::TPacketFilterV2>& aContextFilter) = 0;
+
+ }; // class MLtsyDispatchPacketServicesAddPacketFilter
+
+class MLtsyDispatchPacketServicesGetStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetStatusApiId = KDispatchPacketServicesFuncUnitId + 20;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function during the packet services bootup
+ * as part of EPacketNotifyStatusChange call.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetStatusComp()
+ *
+ * Implemetation of this interface should retrieve the packet service status.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetStatusReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetStatus
+
+class MLtsyDispatchPacketServicesGetStaticCapabilities : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetStaticCapabilitiesApiId = KDispatchPacketServicesFuncUnitId + 21;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function during the packet services bootup
+ * as part of EPacketGetStaticCaps call.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetStaticCapabilitiesComp()
+ *
+ * Implemetation of this interface should retrieve the packet service static capabilities.
+ *
+ * Calls to RPacketService::GetStaticCaps() will then return the static capabilities returned
+ * in the callback.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RPacketService::GetStaticCaps()
+ */
+ virtual TInt HandleGetStaticCapabilitiesReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetStaticCapabilities
+
+class MLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetMaxNoMonitoredServiceListsApiId = KDispatchPacketServicesFuncUnitId + 22;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function during the packet services bootup
+ * as part of EPacketEnumerateMbmsMonitorServiceList call.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetMaxNoMonitoredServiceListsComp()
+ *
+ * Implemetation of this interface should retrieve the maximum number of monitored service lists.
+ *
+ * Calls to RPacketService::EnumerateMbmsMonitorServiceList() will then return the
+ * maximum number of monitored service lists in the aMaxAllowed field.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RPacketService::EnumerateMbmsMonitorServiceList()
+ */
+ virtual TInt HandleGetMaxNoMonitoredServiceListsReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetMaxNoMonitoredServiceLists
+
+class MLtsyDispatchPacketServicesGetMaxNoActiveServices : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetMaxNoActiveServicesApiId = KDispatchPacketServicesFuncUnitId + 23;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function during the packet services bootup
+ * as part of EPacketEnumerateMbmsActiveServiceList call.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetMaxNoActiveServicesComp()
+ *
+ * Implemetation of this interface should retrieve the maximum number of active services allowed
+ * (hence the maximum number of contexts allowed).
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ */
+ virtual TInt HandleGetMaxNoActiveServicesReqL() = 0;
+
+ }; // class MLtsyDispatchPacketServicesGetMaxNoActiveServices
+
+class MLtsyDispatchPacketServicesInitialiseMbmsContext : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesInitialiseMbmsContextApiId = KDispatchPacketServicesFuncUnitId + 24;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECtsyPacketMbmsInitialiseContextReq
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesInitialiseMbmsContextComp()
+ *
+ * Implementation of this interface should initialise the Mbms Context
+ * (Multimedia Broadcast Multicast Service).
+ *
+ * @param aContextName The context name in the form of a character string
+ * the maximum length of the descriptor should not exceed KMaxInfoName.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RPacketMbmsContext::InitialiseContext()
+ */
+ virtual TInt HandleInitialiseMbmsContextReqL(const TDesC& aContextName) = 0;
+
+ }; // class MLtsyDispatchPacketServicesInitialiseMbmsContext
+
+class MLtsyDispatchPacketServicesGetMbmsNetworkServiceStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesGetMbmsNetworkServiceStatusApiId = KDispatchPacketServicesFuncUnitId + 25;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketGetMbmsNetworkServiceStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesGetMbmsNetworkServiceStatusComp()
+ *
+ * Implementation of this interface should retrieve the current MBMS
+ * (Multimedia Broadcast Multicast Service) network state.
+ *
+ * There can be 3 states that MBMS feature availability could return,
+ * Unknown - when UE is not GMM Attached.
+ * Supported - When UE is GMM Attached and it is known that cell supports MBMS.
+ * Not Supported - When UE is GMM Attached and it is know that cell does not support MBMS.
+ *
+ * The state is only known from GMM Attach response from the network or during a Routing Area update.
+ * A consequence of this is that it is required for the UE to be in GMM Attach mode in order
+ * for either of these messages to be received. If the UE is not in GMM ATTACH then it is unable
+ * to determine MBMS network support.
+ *
+ * @param aAttemptAttach If a GMM attached is to be performed.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RPacketService::GetMbmsNetworkServiceStatus()
+ */
+ virtual TInt HandleGetMbmsNetworkServiceStatusReqL(TBool aAttemptAttach) = 0;
+
+ }; // class MLtsyDispatchPacketServicesInitialiseMbmsContext
+
+class MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesUpdateMbmsMonitorServiceListApiId = KDispatchPacketServicesFuncUnitId + 26;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketUpdateMbmsMonitorServiceList
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesUpdateMbmsMonitorServiceListComp()
+ *
+ * Implementation of this interface should request to update the MBMS (Multimedia Broadcast Multicast Service)
+ * monitor service availability list with the change list entries as per the action mentioned.
+ * The CTSY stores the monitor service availability list, this list is updated on a successful completion.
+ *
+ * @param aAction The MBMS action (add, remove or remove all).
+ * @param aServiceList The current MBMS monitor service availability list as held by the CTSY.
+ * @param aChangeList The list of entries to be changed as per the action. (e.g. the action = Add,
+ * the change list will contain entries to be added to the MBMS monitor service availability list)
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RPacketService::UpdateMbmsMonitorServiceListL()
+ * @see RPacketService::NotifyMbmsServiceAvailabilityChange()
+ * @see CRetrievePcktMbmsMonitoredServices()
+ */
+ virtual TInt HandleUpdateMbmsMonitorServiceListsReqL(TMbmsAction aAction, const CPcktMbmsMonitoredServiceList& aServiceList, const CPcktMbmsMonitoredServiceList& aChangeList) = 0;
+
+ }; // class MLtsyDispatchPacketServicesUpdateMbmsMonitorServiceList
+
+class MLtsyDispatchPacketServicesUpdateMbmsSessionList : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesUpdateMbmsSessionListApiId = KDispatchPacketServicesFuncUnitId + 27;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextUpdateMbmsSessionList
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesUpdateMbmsSessionListComp()
+ *
+ * Implementation of this interface should request to add a new session to be received or remove
+ * an existing session to/from the MBMS services table.
+ * The CTSY stores the MBMS services table, this table is updated on a successful completion.
+ *
+ * @param aContextName The MBMS context name in the form of a character string.
+ * @param aAction The action to be performed (add, remove or remove all).
+ * @param aSessionId The MBMS session identifier which needs to be received or removed.
+ * @param aServiceList The MBMS services table as held by the CTSY.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RPacketService::UpdateMbmsSessionList()
+ * @see CRetrievePcktMbmsSessionList()
+ */
+ virtual TInt HandleUpdateMbmsSessionListReqL(const TDesC& aContextName, TMbmsAction aAction, TMbmsSessionId aSessionId, const TMbmsSessionIdList& aServiceList) = 0;
+
+ }; // class MLtsyDispatchPacketServicesUpdateMbmsSessionList
+
+class MLtsyDispatchPacketServicesRemovePacketFilter : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPacketServicesRemovePacketFilterApiId = KDispatchPacketServicesFuncUnitId + 28;
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EPacketContextRemovePacketFilter
+ * request from the CTSY.
+ * Implementation of this interface should remove a packet filter from the packet service.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPacketServicesSetPdpContextConfigComp()
+ *
+ * @param aContextName The name of the context, the maximum length of the
+ * descriptor should not exceed KMaxInfoName.
+ * @param aFilterId The filter Id to remove.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleRemovePacketFilterSyncL(const TDesC& aContextName, TInt aFilterId) = 0;
+
+ }; // class MLtsyDispatchPacketServicesRemovePacketFilter
+
+#endif /*MLTSYDISPATCHPACKETSERVICESINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchphonebookeninterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,110 @@
+// 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 PhonebookEn related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHPHONEBOOKENINTERFACE_H_
+#define MLTSYDISPATCHPHONEBOOKENINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+
+
+class MLtsyDispatchPhonebookEnStoreGetInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookEnStoreGetInfoApiId = KDispatchPhonebookEnFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyENStoreGetInfoIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookEnStoreGetInfoComp()
+ *
+ * Implementation of this interface should handle retrieving of the information of the EN storage.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreGetInfoReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookEnStoreGetInfo
+
+
+
+class MLtsyDispatchPhonebookEnStoreReadAll : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookEnStoreReadAllApiId = KDispatchPhonebookEnFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyENStoreReadAllPhase1IPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookEnStoreReadAllComp()
+ *
+ * Implementation of this interface should handle reading all the entries from the EN storage.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreReadAllReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookEnStoreReadAll
+
+
+
+class MLtsyDispatchPhonebookEnStoreReadEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookEnStoreReadEntryApiId = KDispatchPhonebookEnFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyENStoreReadIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookEnStoreReadEntryComp()
+ *
+ * Implementation of this interface should handle reading of an entry from the EN storage with a given index.
+ *
+ *
+ * @param aIndex The index of the EN entry.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreReadEntryReqL(TInt aIndex) = 0;
+
+ }; // class MLtsyDispatchPhonebookEnStoreReadEntry
+
+
+#endif /*MLTSYDISPATCHPHONEBOOKENINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchphonebookinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,595 @@
+// 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 Phonebook related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHPHONEBOOKINTERFACE_H_
+#define MLTSYDISPATCHPHONEBOOKINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelmm.h>
+
+#include <ctsy/serviceapi/cmmsmsutility.h>
+
+namespace DispatcherPhonebook
+ {
+
+ /**
+ * This namespace contains all types relating to the phonebook dispatcher.
+ */
+
+ /**
+ * Enum containing all the supported phonebook types
+ */
+ enum TPhonebook
+ {
+ EIccAdn = 0, //Abbriviated Dailling Numbers
+ EIccBdn, //Barred Dailling Numbers
+ EIccSdn, //Service Dialling numbers
+ EIccFdn, //Fixed Dialling numbers
+ EIccVmb, //Voice Mail Box
+ EIccMbdn, //Mailbox dialling numbers
+ EUnknown
+ };
+
+ class TPhonebookStoreInfoV1
+ {
+
+ /**
+ * This structure contains the details required by the CTSY about the various
+ * phonebook stores, it is used in the initialisation procedure.
+ *
+ * Total Entries - The total number of entries the store can contain.
+ * Maximum Text Length - The maximum length of a text field in the store.
+ * Maximum Number Length - The maximum length of a number in the store.
+ * Capabilities - The Bit field of the stores capabilities (RMobilePhoneStore::TMobilePhoneStoreCaps).
+ * Maximum Fields Per Entry - The maximum number of fields in a given entry.
+ */
+
+ public:
+
+ TPhonebookStoreInfoV1() :
+ iAdnTotalEntries(-1),
+ iAdnMaximumTextLength(-1),
+ iAdnMaximumNumberLength(-1),
+ iFdnTotalEntries(-1),
+ iFdnMaximumTextLength(-1),
+ iFdnMaximumNumberLength(-1),
+ iSdnTotalEntries(-1),
+ iSdnMaximumTextLength(-1),
+ iSdnMaximumNumberLength(-1),
+ iVmbTotalEntries(-1),
+ iVmbMaximumTextLength(-1),
+ iVmbMaximumNumberLength(-1),
+ iVmbCapabilities(0),
+ iMbdnTotalEntries(-1),
+ iMbdnMaximumTextLength(-1),
+ iMbdnMaximumNumberLength(-1),
+ iMbdnCapabilities(0),
+ iSecondNameMaximumFieldsPerEntry(-1),
+ iSecondNameMaximumLength(-1),
+ iEmailMaximumFieldsPerEntry(-1),
+ iEmailMaximumLength(-1),
+ iAdditionalNumberMaximumFieldsPerEntry(-1),
+ iAdditionalNumberMaximumLength(-1)
+ {
+ }
+
+ //Abbriviated Dailling Numbers
+ TInt iAdnTotalEntries;
+ TInt iAdnMaximumTextLength;
+ TInt iAdnMaximumNumberLength;
+
+ //Fixed Dialling numbers
+ TInt iFdnTotalEntries;
+ TInt iFdnMaximumTextLength;
+ TInt iFdnMaximumNumberLength;
+
+ //Service Dialling numbers
+ TInt iSdnTotalEntries;
+ TInt iSdnMaximumTextLength;
+ TInt iSdnMaximumNumberLength;
+
+ //Voice Mail Box
+ TInt iVmbTotalEntries;
+ TInt iVmbMaximumTextLength;
+ TInt iVmbMaximumNumberLength;
+ TInt iVmbCapabilities;
+
+ //Mailbox dialling numbers
+ TInt iMbdnTotalEntries;
+ TInt iMbdnMaximumTextLength;
+ TInt iMbdnMaximumNumberLength;
+ TInt iMbdnCapabilities;
+
+ //3G Information - Second Names
+ TInt iSecondNameMaximumFieldsPerEntry;
+ TInt iSecondNameMaximumLength;
+
+ //3G Information - Email Address
+ TInt iEmailMaximumFieldsPerEntry;
+ TInt iEmailMaximumLength;
+
+ //3G Information - Additional Number
+ TInt iAdditionalNumberMaximumFieldsPerEntry;
+ TInt iAdditionalNumberMaximumLength;
+ };
+
+
+ struct TSmsData
+ {
+ public:
+ TBuf8<231> iSmsMsg;
+ TBuf<KMaxAddressBufferSize> iServiceCentre;
+ RMobilePhone::TMobileTON iMobileScTON;
+ RMobilePhone::TMobileNPI iMobileScNPI;
+ TInt8 iMessageStatus;
+ };
+
+ }
+
+
+class MLtsyDispatchPhonebookStoreReadEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreReadEntryApiId = KDispatchPhonebookFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreReadIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreReadEntryComp()
+ *
+ * Implementation of this interface should request to read a number of entries from a given phonebook.
+ * The entries are returned in the callback.
+ *
+ *
+ * @param aPhonebook The phonebook to read entries from.
+ * @param aIndex Specifies the index to start reading from, must be >= 1.
+ * @param aNumSlots Specifies the number of slots to read, must be >= 1 and <= total number of slots.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhoneBookStore::Read()
+ */
+ virtual TInt HandleStoreReadEntryReqL(DispatcherPhonebook::TPhonebook aPhonebook, TInt aIndex, TInt aNumberOfSlots) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreReadEntry
+
+
+
+class MLtsyDispatchPhonebookStoreDeleteEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreDeleteEntryApiId = KDispatchPhonebookFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreDeleteIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreDeleteEntryComp()
+ *
+ * Implementation of this interface should request to delete an entry from a given phonebook, the
+ * callback indicates when the operation has been completed.
+ *
+ *
+ * @param aPhonebook The phonebook to delete an entry from.
+ * @param aIndex The entry index in the phonebook to delete.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhoneBookStore::Delete()
+ *
+ */
+ virtual TInt HandleStoreDeleteEntryReqL(DispatcherPhonebook::TPhonebook aPhonebook, TInt aIndex) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreDeleteEntry
+
+
+
+class MLtsyDispatchPhonebookStoreCache : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreCacheApiId = KDispatchPhonebookFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreCacheIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreCacheComp()
+ *
+ * Implementation of this interface should request to cache a given phonebook, the entire
+ * phonebook entries are returned in the callback.
+ *
+ *
+ * @param aPhonebook The phonebook to cache.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreCacheReqL(DispatcherPhonebook::TPhonebook aPhonebook) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreCache
+
+
+
+class MLtsyDispatchPhonebookStoreCacheCancel : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreCacheCancelApiId = KDispatchPhonebookFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreCacheCancelIPC
+ * request from the CTSY.
+ *
+ * It is a request call that has no complete call.
+ *
+ *
+ * Implementation of this interface should request to cancel an outstanding cache of a given phonebook.
+ *
+ * @param aPhonebook The phonebook to cancel the pending cache.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreCacheCancelReqL(DispatcherPhonebook::TPhonebook aPhonebook) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreCacheCancel
+
+
+
+class MLtsyDispatchPhonebookStoreGetPhonebookInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreGetPhonebookInfoApiId = KDispatchPhonebookFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreGetInfoIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreGetPhonebookInfoComp()
+ *
+ * Implementation of this interface should request to get the information of a given phonebook. The
+ * callback should be completed with the information.
+ *
+ * This call to the LTSY is only used when the CTSY requires the information about the number of used entries
+ * in a phonebook, thus calls to RMobilePhoneBookStore::GetInfo() on cached phonebooks can be completed immediately
+ * as the CTSY will already hold this information.
+ *
+ *
+ * @param aPhonebook The phonebook to retrieve the information from.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhoneBookStore::GetInfo()
+ *
+ */
+ virtual TInt HandleStoreGetPhonebookInfoReqL(DispatcherPhonebook::TPhonebook aPhonebook) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreGetPhonebookInfo
+
+
+
+class MLtsyDispatchPhonebookStoreInitialise : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreInitialiseApiId = KDispatchPhonebookFuncUnitId + 6;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreInitIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreInitialiseComp()
+ *
+ * Implementation of this interface should request to initialise the phonebook store, the callback should
+ * be completed when store initialisation is completed.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreInitialiseReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreInitialise
+
+
+
+class MLtsyDispatchPhonebookStoreDeleteAll : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreDeleteAllApiId = KDispatchPhonebookFuncUnitId + 7;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreDeleteAllIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreDeleteAllComp()
+ *
+ * Implementation of this interface should request to delete all entries from a given phonebook, the
+ * callback indicates when the operation is completed.
+ *
+ *
+ * @param aPhonebook The phonebook to delete all entries from.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhoneBookStore::DeleteAll()
+ *
+ */
+ virtual TInt HandleStoreDeleteAllReqL(DispatcherPhonebook::TPhonebook aPhonebook) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreDeleteAll
+
+
+
+class MLtsyDispatchPhonebookStoreWriteEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookStoreWriteEntryApiId = KDispatchPhonebookFuncUnitId + 8;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyPhoneBookStoreWriteIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookStoreWriteEntryComp()
+ *
+ * Implementation of this interface should request to write an entry to a given phonebook.
+ * The callback indicates when the operation is complete.
+ *
+ *
+ * @param aPhonebook The phonebook to be written to.
+ * @param aEntry The entry to be written, this is coded as a TLV, this can be decoded either
+ * directly via a CPhoneBookBuffer() or via the CPhoneBookEntry::InternalizeFromTlvEntry() utility.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhoneBookStore::Write()
+ * @see CPhoneBookBuffer()
+ * @see CPhoneBookEntry::InternalizeFromTlvEntry()
+ *
+ */
+ virtual TInt HandleStoreWriteEntryReqL(DispatcherPhonebook::TPhonebook aPhonebook, const TDesC8& aEntry) = 0;
+
+ }; // class MLtsyDispatchPhonebookStoreWriteEntry
+
+
+
+class MLtsyDispatchPhonebookGetPhoneStoreInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookGetPhoneStoreInfoApiId = KDispatchPhonebookFuncUnitId + 9;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetPhoneStoreInfo
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookGetPhoneStoreInfoComp()
+ *
+ * Implementation of this interface should request to get the information of a given store. The
+ * callback should be completed with the information.
+ *
+ *
+ * @param aStoreName The name of the store to retrieve the information from (e.g. KETelIccFdnPhoneBook).
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::GetPhoneStoreInfo()
+ */
+ virtual TInt HandleGetPhoneStoreInfoReqL(const TDesC& aStoreName) = 0;
+
+ }; // class MLtsyDispatchPhonebookGetPhoneStoreInfo
+
+
+
+class MLtsyDispatchPhonebookSmsStoreReadAll : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreReadAllApiId = KDispatchPhonebookFuncUnitId + 10;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreReadAllPhase1
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreReadAllComp()
+ *
+ * Implementation of this interface should handle phase 1 of reading all entries in the SMS storage.
+ *
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreReadAllReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreReadAll
+
+
+
+class MLtsyDispatchPhonebookSmsStoreDeleteEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreDeleteEntryApiId = KDispatchPhonebookFuncUnitId + 11;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreDelete
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreDeleteEntryComp()
+ *
+ * Implementation of this interface should handle deletion of an entry in the SMS storage.
+ *
+ * @param aIndex index of the entry to be deleted.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreDeleteEntryReqL(TInt aIndex) = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreDeleteEntry
+
+
+
+class MLtsyDispatchPhonebookSmsStoreDeleteAll : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreDeleteAllApiId = KDispatchPhonebookFuncUnitId + 12;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreDeleteAll
+ * request from the CTSY.
+ *
+ * Implementation of this interface should handle deletion of all entries in the SMS storage.
+ *
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreDeleteAllComp()
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreDeleteAllReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreDeleteAll
+
+
+
+class MLtsyDispatchPhonebookSmsStoreGetInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreGetInfoApiId = KDispatchPhonebookFuncUnitId + 13;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreGetInfo
+ * request from the CTSY.
+ *
+ * Implementation of this interface should handle retrieval information of the SMS storage.
+ *
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreGetInfoComp()
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreGetInfoReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreGetInfo
+
+
+
+class MLtsyDispatchPhonebookSmsStoreReadEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreReadEntryApiId = KDispatchPhonebookFuncUnitId + 14;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreRead
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreReadEntryComp()
+ *
+ * Implementation of this interface should handle reading of an entry in the SMS storage.
+ *
+ * @param aIndex the index of the entry to read from.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreReadEntryReqL(TInt aIndex) = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreReadEntry
+
+
+
+class MLtsyDispatchPhonebookSmsStoreWriteEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookSmsStoreWriteEntryApiId = KDispatchPhonebookFuncUnitId + 15;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneStoreWrite
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookSmsStoreWriteEntryComp()
+ *
+ * Implementation of this interface should handle the storing of a Gsm Sms entry.
+ *
+ * Defines contents of a fixed-size, stored GSM SMS entry.
+ *
+ * @param aMobileGsmEntry Defines contents of a fixed-size GSM SMS entry to be stored.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsStoreWriteEntryReqL(const RMobileSmsStore::TMobileGsmSmsEntryV1& aMobileGsmEntry) = 0;
+
+ }; // class MLtsyDispatchPhonebookSmsStoreWriteEntry
+
+
+#endif /*MLTSYDISPATCHPHONEBOOKINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchphonebookoninterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,272 @@
+// 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 PhonebookOn related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHPHONEBOOKONINTERFACE_H_
+#define MLTSYDISPATCHPHONEBOOKONINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelmm.h>
+
+class MLtsyDispatchPhonebookOnStoreRead : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookOnStoreReadApiId = KDispatchPhonebookOnFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyONStoreReadIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreReadComp()
+ *
+ * Implementation of this interface should handle reading a ON entry from the storage.
+ *
+ *
+ * @param aIndex index of the ON entry.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreReadReqL(TInt aIndex) = 0;
+
+ }; // class MLtsyDispatchPhonebookOnStoreRead
+
+
+
+class MLtsyDispatchPhonebookOnStoreDeleteAll : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookOnStoreDeleteAllApiId = KDispatchPhonebookOnFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyONStoreDeleteAllIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreDeleteAllComp()
+ *
+ * Implementation of this interface should handle deletion of all entries of the storage.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreDeleteAllReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookOnStoreDeleteAll
+
+
+
+class MLtsyDispatchPhonebookOnStoreReadEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookOnStoreReadEntryApiId = KDispatchPhonebookOnFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyONStoreReadEntryIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreReadEntryComp()
+ *
+ * Implementation of this interface should handle reading an entry from ON storage as one step of reading of all entries.
+ *
+ *
+ * @param aIndex index of the entry,
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreReadEntryReqL(TInt aIndex) = 0;
+
+ }; // class MLtsyDispatchPhonebookOnStoreReadEntry
+
+
+
+class MLtsyDispatchPhonebookOnStoreGetInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookOnStoreGetInfoApiId = KDispatchPhonebookOnFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyONStoreGetInfoIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreGetInfoComp()
+ *
+ * Implementation of this interface should request to get the information of a given storage. The
+ * callback should be completed with the information.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreGetInfoReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookOnStoreGetInfo
+
+
+
+class MLtsyDispatchPhonebookOnStoreGetReadStoreSize : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookOnStoreGetReadStoreSizeApiId = KDispatchPhonebookOnFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyONStoreReadSizeIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreGetReadStoreSizeComp()
+ *
+ * Implementation of this interface should handle retrieving the size of the storage for read all operation.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreGetReadStoreSizeReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookOnStoreGetReadStoreSize
+
+
+
+class MLtsyDispatchPhonebookOnStoreDeleteEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookOnStoreDeleteEntryApiId = KDispatchPhonebookOnFuncUnitId + 6;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyONStoreDeleteIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreDeleteEntryComp()
+ *
+ * Implementation of this interface should handle deletion of an ON entry.
+ *
+ *
+ * @param aIndex index of the ON entry.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreDeleteEntryReqL(TInt aIndex) = 0;
+
+ }; // class MLtsyDispatchPhonebookOnStoreDeleteEntry
+
+
+
+class MLtsyDispatchPhonebookOnStoreWriteEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookOnStoreWriteEntryApiId = KDispatchPhonebookOnFuncUnitId + 7;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyONStoreWriteEntryIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreWriteEntryComp()
+ *
+ * Implementation of this interface should handle storing of a ON entry as one step of storing of all entries in the ON storage.
+ *
+ *
+ * @param aMobileOnEntry defines contents of a fixed-size ON entry to be stored.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreWriteEntryReqL(const RMobileONStore::TMobileONEntryV1& aMobileOnEntry) = 0;
+
+ }; // class MLtsyDispatchPhonebookOnStoreWriteEntry
+
+
+
+class MLtsyDispatchPhonebookOnStoreWrite : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookOnStoreWriteApiId = KDispatchPhonebookOnFuncUnitId + 8;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyONStoreWriteIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreWriteComp()
+ *
+ * Implementation of this interface should handle storing of a ON entry.
+ *
+ * @param aMobileOnEntry defines contents of a fixed-size ON entry to be stored.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreWriteReqL(const RMobileONStore::TMobileONEntryV1& aMobileOnEntry) = 0;
+
+ }; // class MLtsyDispatchPhonebookOnStoreWrite
+
+
+
+class MLtsyDispatchPhonebookOnStoreGetStoreSize : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhonebookOnStoreGetStoreSizeApiId = KDispatchPhonebookOnFuncUnitId + 9;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyONStoreWriteSizeIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhonebookOnStoreGetStoreSizeComp()
+ *
+ * Implementation of this interface should handle retrieving of the size of the storage.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreGetStoreSizeReqL() = 0;
+
+ }; // class MLtsyDispatchPhonebookOnStoreGetStoreSize
+
+
+#endif /*MLTSYDISPATCHPHONEBOOKONINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchphoneinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,893 @@
+// 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 Phone related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHPHONEINTERFACE_H_
+#define MLTSYDISPATCHPHONEINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelmm.h>
+#include <ctsy/rmmcustomapi.h>
+
+class MLtsyDispatchPhoneBootNotifyModemStatusReady : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneBootNotifyModemStatusReadyApiId = KDispatchPhoneFuncUnitId+1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyBootNotifyModemStatusReadyIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneBootNotifyModemStatusReadyComp()
+ *
+ * Implementation of this interface should indicate when the
+ * Modem is ready for requests made from the CTSY.
+ *
+ * @return KErrNone on success otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleBootNotifyModemStatusReadyReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneBootNotifyModemStatusReady
+
+
+class MLtsyDispatchPhoneBootNotifySimStatusReady : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneBootNotifySimStatusReadyApiId = KDispatchPhoneFuncUnitId+2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsyBootNotifySimStatusReadyIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneBootNotifySimStatusReadyComp()
+ *
+ * Implementation of this interface should indicate when the SIM is ready
+ * for requests made from the CTSY.
+ * For example, any caching of data has been completed.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleBootNotifySimStatusReadyReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneBootNotifySimStatusReady
+
+
+class MLtsyDispatchPhoneGetFdnStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetFdnStatusApiId = KDispatchPhoneFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetFdnStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetFdnStatusComp()
+ *
+ * Implementation of this interface should get the current FDN status.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetFdnStatusReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetFdnStatus
+
+
+class MLtsyDispatchPhoneGetHomeNetwork : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetHomeNetworkApiId = KDispatchPhoneFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetHomeNetwork
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetHomeNetworkComp()
+ *
+ * Implementation of this interface should get the current home network.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetHomeNetworkReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetHomeNetwork
+
+
+class MLtsyDispatchPhoneGetNetworkRegistrationStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetNetworkRegistrationStatusApiId = KDispatchPhoneFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetNetworkRegistrationStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetNetworkRegistrationStatusComp()
+ *
+ * Implementation of this interface should get the current network registration status.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetNetworkRegistrationStatusReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetNetworkRegistrationStatus
+
+
+class MLtsyDispatchPhoneSimRefreshRegister : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneSimRefreshRegisterApiId = KDispatchPhoneFuncUnitId + 6;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsySimRefreshRegisterIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneSimRefreshRegisterComp()
+ *
+ * Implementation of this interface should return whether registering for refresh indications on a list of SIM files was successful.
+ * Note: When the LTSY needs to notify the CTSY of a refresh CCtsyDispatcherCallback::CallbackPhoneSimRefreshNowInd() should be invoked.
+ *
+ * @param aFilesToRegister Bitmask containing list of files to register for refresh indications.
+ * The list of possible files is specified in TCacheFileTypes.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSimRefreshRegisterReqL(TUint16 aFilesToRegister) = 0;
+
+ }; // class MLtsyDispatchPhoneSimRefreshRegister
+
+
+
+class MLtsyDispatchPhoneGetServiceProviderName : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetServiceProviderNameApiId = KDispatchPhoneFuncUnitId + 7;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetServiceProviderName
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneGetServiceProviderNameComp()
+ *
+ * The service provider information to be returned is in the form RMobilePhone::TMobilePhoneServiceProviderNameV2.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetServiceProviderNameReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetServiceProviderName
+
+
+
+class MLtsyDispatchPhoneGetPhoneId : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetPhoneIdApiId = KDispatchPhoneFuncUnitId + 8;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetPhoneId
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneGetPhoneIdComp()
+ *
+ * Implementation of this interface should get the phone's identity as described by the
+ * fields in RMobilePhone::TMobilePhoneIdentityV1.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetPhoneIdReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetPhoneId
+
+
+
+class MLtsyDispatchPhoneGetDetectedNetworks : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetDetectedNetworksApiId = KDispatchPhoneFuncUnitId + 9;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetDetectedNetworksV2Phase1
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneGetDetectedNetworksComp()
+ *
+ * Implementation of this interface should get the current detected networks.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetDetectedNetworksReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetDetectedNetworks
+
+
+
+class MLtsyDispatchPhoneGetDetectedNetworksCancel : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetDetectedNetworksCancelApiId = KDispatchPhoneFuncUnitId + 10;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetDetectedNetworksCancel
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneGetDetectedNetworksCancelComp()
+ *
+ * Implementation of this interface should cancel a pending retrieval of the detected networks.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetDetectedNetworksCancelReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetDetectedNetworksCancel
+
+
+
+class MLtsyDispatchPhoneSelectNetwork : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneSelectNetworkApiId = KDispatchPhoneFuncUnitId + 11;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSelectNetwork
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneSelectNetworkComp()
+ *
+ * Implementation of this interface should attempt a network selection.
+ *
+ * @param aIsManual Specifies whether phone should use a manual or automatic network selection method.
+ * @param aNetworkManualSelection If aIsManual==ETrue, then this parameter contain the user's manually selected network.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSelectNetworkReqL(TBool aIsManual, const RMobilePhone::TMobilePhoneNetworkManualSelection& aNetworkManualSelection) = 0;
+
+ }; // class MLtsyDispatchPhoneSelectNetwork
+
+
+
+class MLtsyDispatchPhoneSelectNetworkCancel : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneSelectNetworkCancelApiId = KDispatchPhoneFuncUnitId + 12;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSelectNetworkCancel
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneSelectNetworkCancelComp()
+ *
+ * Implementation of this interface should cancel a pending network selection.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSelectNetworkCancelReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneSelectNetworkCancel
+
+
+
+class MLtsyDispatchPhoneSetNetworkSelectionSetting : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneSetNetworkSelectionSettingApiId = KDispatchPhoneFuncUnitId + 13;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetNetworkSelectionSetting
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneSetNetworkSelectionSettingComp()
+ *
+ * Implementation of this interface should set the new network selection.
+ * Note: The completion of this will also invoke the network selection change
+ * notifier in the CTSY (EMobilePhoneNotifyNetworkSelectionSettingChange).
+ *
+ * @param aPhoneNetworkSelection The new network selection setting.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetNetworkSelectionSettingReqL(const RMobilePhone::TMobilePhoneNetworkSelectionV1& aPhoneNetworkSelection) = 0;
+
+ }; // class MLtsyDispatchPhoneSetNetworkSelectionSetting
+
+
+class MLtsyDispatchPhoneGetCurrentNetworkInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetCurrentNetworkInfoApiId = KDispatchPhoneFuncUnitId + 14;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function after a NotifyModemReadyReceived event occurs,
+ * normally during phone boot-up. It is an internal call.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetCurrentNetworkInfoComp()
+ *
+ * Implementation of this interface should get the current network information.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetCurrentNetworkInfoReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetCurrentNetworkInfo
+
+
+class MLtsyDispatchPhoneGetNetworkMode : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetNetworkModeApiId = KDispatchPhoneFuncUnitId + 15;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function after a NotifyModemReadyReceived event occurs,
+ * normally during phone boot-up. It is an internal call.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetNetworkModeComp()
+ *
+ * Implementation of this interface should get the current network information.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetNetworkModeReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetNetworkMode
+
+
+class MLtsyDispatchPhoneGetNitzInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetNitzInfoApiId = KDispatchPhoneFuncUnitId + 16;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function after a NotifyModemReadyReceived event occurs,
+ * normally during phone boot-up. It is an internal call.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetNitzInfoComp()
+ *
+ * Implementation of this interface should get the current network NITZ information.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetNitzInfoReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetNitzInfo
+
+class MLtsyDispatchPhoneGetSignalStrength : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetSignalStrengthApiId = KDispatchPhoneFuncUnitId + 17;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function after a NotifyModemReadyReceived event occurs,
+ * normally during phone boot-up. It is an internal call.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetSignalStrengthComp()
+ *
+ * Implementation of this interface should get the current network signal strength information.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetSignalStrengthReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetSignalStrength
+
+class MLtsyDispatchPhoneGetBatteryInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetBatteryInfoApiId = KDispatchPhoneFuncUnitId + 18;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function after a NotifyModemReadyReceived event occurs,
+ * normally during phone boot-up. It is an internal call.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetBatteryInfoComp()
+ *
+ * Implementation of this interface should get the current battery information.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetBatteryInfoReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetBatteryInfo
+
+class MLtsyDispatchPhoneNspsWakeup : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneNspsWakeupApiId = KDispatchPhoneFuncUnitId + 19;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomNetWakeupIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneNspsWakeupComp().
+ *
+ * Implementation of this interface should wake the phone from a NSPS (No Service Power Save) state.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleNspsWakeupReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneNspsWakeup
+
+class MLtsyDispatchPhoneSetSystemNetworkMode : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneSetSystemNetworkModeApiId = KDispatchPhoneFuncUnitId + 20;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomSetSystemNetworkModeIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneSetSystemNetworkModeComp().
+ *
+ * Implementation of this interface should set the system network mode.
+ *
+ * @param aMode The new mode to set the system network to.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetSystemNetworkModeReqL(RMmCustomAPI::TNetworkModeCaps aMode) = 0;
+
+ }; // class MLtsyDispatchPhoneSetSystemNetworkMode
+
+class MLtsyDispatchPhoneGetCurrentSystemNetworkModes : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetCurrentSystemNetworkModesApiId = KDispatchPhoneFuncUnitId + 21;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetCurrentSystemNetworkModesIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneGetCurrentSystemNetworkModesComp().
+ *
+ * Implementation of this interface should return the current system network mode.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetCurrentSystemNetworkModesReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetCurrentSystemNetworkModes
+
+class MLtsyDispatchPhoneResetNetServer : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneResetNetServerApiId = KDispatchPhoneFuncUnitId + 22;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomResetNetServerIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneResetNetServerComp().
+ *
+ * Implementation of this interface should reset the net server.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleResetNetServerReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneResetNetServer
+
+class MLtsyDispatchPhoneSetAlwaysOnMode : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneSetAlwaysOnModeApiId = KDispatchPhoneFuncUnitId + 23;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomSetAlwaysOnMode
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneSetAlwaysOnModeComp().
+ *
+ * Implementation of this interface should set the "always on" mode.
+ *
+ * @param aMode The new "always on" mode to set, can be
+ * RMmCustomAPI::EAlwaysModeVPLMN for VPLMN (Visited Public Land Mobile Network) always on,
+ * RMmCustomAPI::EAlwaysModeHPLMN for HPLMN (Home Public Land Mobile Network) always on,
+ * RMmCustomAPI::EAlwaysModeBoth for VPLMN and HPLMN always on,
+ * RMmCustomAPI::EAlwaysModeNeither for neither VPLMN nor HPLMN always on.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetAlwaysOnModeReqL(RMmCustomAPI::TSetAlwaysOnMode aMode) = 0;
+
+ }; // class MLtsyDispatchPhoneSetAlwaysOnMode
+
+class MLtsyDispatchPhoneSetDriveMode : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneSetDriveModeApiId = KDispatchPhoneFuncUnitId + 24;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomSetDriveModeIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneSetDriveModeComp().
+ *
+ * Implementation of this interface should set the drive mode status.
+ *
+ * @param aMode The new mode to set (RMmCustomAPI::EDeactivateDriveMode for deactivate drive mode
+ * or RMmCustomAPI::EActivateDriveMode to activate drive mode).
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetDriveModeReqL(RMmCustomAPI::TSetDriveMode aMode) = 0;
+
+ }; // class MLtsyDispatchPhoneSetDriveMode
+
+class MLtsyDispatchPhoneGetHspaStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetHspaStatusApiId = KDispatchPhoneFuncUnitId + 25;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomReadHSxPAStatusIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneGetHspaStatusComp().
+ *
+ * Implementation of this interface should return the phone high speed channel status.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetHspaStatusReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetHspaStatus
+
+class MLtsyDispatchPhoneSetHspaStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneSetHspaStatusApiId = KDispatchPhoneFuncUnitId + 26;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomWriteHSxPAStatusIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneSetHspaStatusComp().
+ *
+ * Implementation of this interface should set the phone high speed channel status.
+ *
+ * @param aStatus The new HSxPA status (enabled or disabled).
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetHspaStatusReqL(RMmCustomAPI::THSxPAStatus aStatus) = 0;
+
+ }; // class MLtsyDispatchPhoneSetHspaStatus
+
+class MLtsyDispatchPhoneGetNetworkProviderName : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetNetworkProviderNameApiId = KDispatchPhoneFuncUnitId + 27;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetNetworkProviderNameIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneGetNetworkProviderNameComp().
+ *
+ * Implementation of this interface should return the name of the current network provider.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetNetworkProviderNameReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetNetworkProviderName
+
+class MLtsyDispatchPhoneGetOperatorName : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetOperatorNameApiId = KDispatchPhoneFuncUnitId + 28;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetOperatorNameIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneGetOperatorNameComp().
+ *
+ * Implementation of this interface should return the name of the current operator.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetOperatorNameReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetOperatorName
+
+class MLtsyDispatchPhoneGetCellInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetCellInfoApiId = KDispatchPhoneFuncUnitId + 29;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetCellInfoIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking one of the
+ * CCtsyDispatcherCallback::CallbackPhoneGetCellInfoComp().
+ *
+ * Implementation of this interface should return the cell information.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetCellInfoReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetCellInfo
+
+class MLtsyDispatchPhoneRegisterCellInfoChangeNotification : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneRegisterCellInfoChangeNotificationApiId = KDispatchPhoneFuncUnitId + 30;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECtsyPhoneCellInfoIndReq
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneRegisterCellInfoChangeNotificationComp()
+ *
+ * Implementation of this interface should inform the LTSY that the CTSY wishes to register for
+ * notifications when the Cell Information has changed.
+ *
+ * These notifications can be provided via the LTSY by invoking
+ * CCtsyDispatcherCallback::CallbackPhoneNotifyCellInfoChangeInd()
+ *
+ * This call from the CTSY only occurs once on the first client side call of RMobilePhone::NotifyCellInfoChange().
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::NotifyCellInfoChange()
+ */
+ virtual TInt HandleRegisterCellInfoChangeNotificationReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneRegisterCellInfoChangeNotification
+
+class MLtsyDispatchPhoneGetPhoneCellInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetPhoneCellInfoApiId = KDispatchPhoneFuncUnitId + 31;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECtsyPhoneCellInfoReq
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetPhoneCellInfoComp()
+ *
+ * Implementation of this interface should retrieve the current Cell Information.
+ *
+ * Cell information is cached within the CTSY thus this handler is only invoked if the
+ * CTSY does not currently hold valid cell information. E.g. the CTSY's cache has never
+ * been populated as GetPhoneCellInfo Request-Complete has never been exercised, or never
+ * been populated via CallbackPhoneNotifyCellInfoChangeInd(), or CallbackPhoneNotifyCellInfoChangeInd()
+ * is completed with an error thus marking the cache as dirty.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::GetCellInfo()
+ */
+ virtual TInt HandleGetPhoneCellInfoReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetPhoneCellInfo
+
+class MLtsyDispatchPhoneGetUsimServiceSupport : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetUsimServiceSupportApiId = KDispatchPhoneFuncUnitId + 32;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetServiceTableSupportbyApplicationIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetUsimServiceSupportComp()
+ *
+ * Implementation of this interface should retrieve if the application is supported.
+ *
+ * @param aApplicationNumber The application number to check support for in the USIM.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomAPI::GetUSIMServiceSupport()
+ */
+ virtual TInt HandleGetGetUsimServiceSupportReqL(TInt aApplicationNumber) = 0;
+
+ }; // class MLtsyDispatchPhoneGetUsimServiceSupport
+
+class MLtsyDispatchPhoneGetCurrentActiveUsimApplication : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetCurrentActiveUsimApplicationApiId = KDispatchPhoneFuncUnitId + 33;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetCurrentActiveUSimApplication
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetCurrentActiveUsimApplicationComp()
+ *
+ * Implementation of this interface should retrieve the AID of the current active USIM application.
+ * (There is only ever at most one USIM application active at a time)
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomAPI::GetCurrentActiveUSimApplication()
+ */
+ virtual TInt HandleGetCurrentActiveUsimApplicationReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetCurrentActiveUsimApplication
+
+class MLtsyDispatchPhoneTerminateAllCalls : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneTerminateAllCallsApiId = KDispatchPhoneFuncUnitId + 34;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECtsyPhoneTerminateAllCallsReq
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneTerminateAllCallsComp()
+ *
+ * Implementation of this interface should terminate all active calls.
+ *
+ * @param aCallId if a call is in the connecting state then this parameter will contain the id of that call, else 0.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobilePhone::TerminateAllCalls()
+ */
+ virtual TInt HandleTerminateAllCallsReqL(TInt aCallId) = 0;
+
+ }; // class MLtsyDispatchPhoneTerminateAllCalls
+
+class MLtsyDispatchPhoneGetSystemNetworkBand : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneGetSystemNetworkBandApiId = KDispatchPhoneFuncUnitId + 35;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetBandSelectionIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneGetSystemNetworkBandComp()
+ *
+ * Implementation of this interface should return the current band and network mode.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomApi::GetSystemNetworkBand()
+ */
+ virtual TInt HandleGetSystemNetworkBandReqL() = 0;
+
+ }; // class MLtsyDispatchPhoneGetSystemNetworkBand
+
+class MLtsyDispatchPhoneSetSystemNetworkBand : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchPhoneSetSystemNetworkBandApiId = KDispatchPhoneFuncUnitId + 36;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomSetBandSelectionIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackPhoneSetSystemNetworkBandComp()
+ *
+ * Implementation of this interface should set the current band and network mode.
+ *
+ * @param aBand the desired network band.
+ * @param aMode the desired network mode.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMmCustomApi::SetSystemNetworkBand()
+ */
+ virtual TInt HandleSetSystemNetworkBandReqL(RMmCustomAPI::TBandSelection aBand, RMmCustomAPI::TNetworkModeCaps aMode) = 0;
+
+ }; // class MLtsyDispatchPhoneSetSystemNetworkBand
+
+#endif /*MLTSYDISPATCHPHONEINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsatinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,896 @@
+// 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 Sat related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHSATINTERFACE_H_
+#define MLTSYDISPATCHSATINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+
+namespace DispatcherSat
+ {
+
+ /**
+ * This namespace contains all types relating to the SAT dispatcher.
+ */
+
+ /**
+ * Enum containing the SS status
+ */
+ enum TSsStatus
+ {
+ ENotBusy,
+ ESsBusy,
+ EUssdBusy
+ };
+
+ }
+
+class MLtsyDispatchSatSmsDeliverReport : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatSmsDeliverReportApiId = KDispatchSatFuncUnitId + 1;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsySmsDeliverReport
+ * request from the CTSY.
+ *
+ *
+ * It is a request call that does not have an associated complete callback.
+ *
+ * Implementation of this interface should handle the requested SMS DELIVER REPORT Tpdu as
+ * a result of the CCtsyDispatcherCallback::CallbackSatCreateSmsDeliverReportInd()
+ *
+ * An SMS DELIVER REPORT TPDU is carried as a RP User Data element within an RP ERROR PDU
+ * and is part of the negative acknowledgement to an SMS DELIVER or SMS STATUS REPORT.
+ *
+ * An SMS DELIVER REPORT TPDU is also carried as a RP User Data element within an RP ACK PDU
+ * and is part of a positive acknowledgement to a SMS DELIVER or SMS STATUS REPORT.
+ *
+ *
+ * @param aSmsDeliverReportTpdu The SMS-DELIVER-REPORT TPDU element to be contained in a
+ * RP-ERROR-PDU (negative acknowledgement) or RP-ACK-PDU (a positive acknowledgement) to a
+ * SMS DELIVER or SMS STATUS REPORT
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsDeliverReportReqL(const TDesC8& aSmsDeliverReportTpdu) = 0;
+
+ }; // class MLtsyDispatchSatSmsDeliverReport
+
+
+
+class MLtsyDispatchSatGetImageInstance : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatGetImageInstanceApiId = KDispatchSatFuncUnitId + 2;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyGetImageInstance
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatGetImageInstanceComp()
+ *
+ * Implementation of this interface should retrieve an icon's image data from the UICC
+ * designated by aEfImgRecordNumber & aInstanceNumberInEfImgRecord
+ *
+ * @param aEfImgRecordNumber The record number of the icons EF(img) record for the
+ * icon image instance being retrieved.
+ * @param aInstanceNumberInEfImgRecord The record number of the icon instance, in the icons EF(img) record
+ * for the icon image instance being retrieved.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetImageInstanceReqL(TUint8 aEfImgRecordNumber, TUint8 aInstanceNumberInEfImgRecord) = 0;
+
+ }; // class MLtsyDispatchSatGetImageInstance
+
+
+class MLtsyDispatchSatGetIconData : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatGetIconDataApiId = KDispatchSatFuncUnitId + 3;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyGetIconData
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatGetIconDataComp()
+ *
+ * Implementation of this interface should retrieve an icon's EF record from the UICC based
+ * on the record number (see ETSI TS 131 102 Under EFIMG (Image) & Files of USIM)
+ *
+ * @param aEfImgRecordNumber EF(img) record number of the icon to retrieve
+ * @param aSimFilePath The full file path to the EF(Img)
+ * Bytes 0-1 MF (0x3F00)
+ * Bytes 2-3 DF(Telecom) (0x7F10)
+ * Bytes 4-5 DF(Graphics)(0x5F50)
+ * Bytes 6-7 EF(Ef(Img)) (0x4F20)
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetIconDataReqL(TUint8 aEfImgRecordNumber, const TDesC8& aSimFilePath) = 0;
+
+ }; // class MLtsyDispatchSatGetIconData
+
+
+
+class MLtsyDispatchSatGetClut : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatGetClutApiId = KDispatchSatFuncUnitId + 4;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyGetClut
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatGetClutComp()
+ *
+ * Implementation of this interface should retrieve the CLUT (Colour Lookup Table) for an image instance
+ * designated by aEfImgRecordNumber & aInstanceNumberInEfImgRecord
+ *
+ * @param aEfImgRecordNumber The record number of the icons EF(Img) record for the
+ * CLUT being retrieved.
+ * @param aInstanceNumberInEfImgRecord The record number of the icon instance, in the icons EF(Img) record
+ * for the CLUT being retrieved.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetClutReqL(TUint8 aEfImgRecordNumber, TUint8 aInstanceNumberInEfImgRecord) = 0;
+
+ }; // class MLtsyDispatchSatGetClut
+
+
+
+class MLtsyDispatchSatGetDefaultBearerCapability : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatGetDefaultBearerCapabilityApiId = KDispatchSatFuncUnitId + 5;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyGetBearerCapability
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatGetDefaultBearerCapabilityComp()
+ *
+ * Implementation of this interface should retrieve the current default bearer capability configuration.
+ *
+ * The default bearer capability configuration (coding as defined by the access technologies) will be used
+ * by the CTSY when creating a Call Control ENVELOPE (the capability configuration parameters) if a zero length
+ * capability parameters is passed when creating the Envelope.
+ * See "ETSI TS 102 223" "Structure of ENVELOPE (CALL CONTROL)"
+ *
+ * @see MLtsyDispatchSatCallAndSmsControlEnvelope::HandleCallAndSmsControlEnvelopeReqL()
+ * @see CCtsyDispatcherCallback::CallbackSatCallControlEnvelopeResponseInd()
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetDefaultBearerCapabilityReqL() = 0;
+
+ }; // class MLtsyDispatchSatGetDefaultBearerCapability
+
+
+
+class MLtsyDispatchSatGetSmsPpDownloadSupported : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatGetSmsPpDownloadSupportedApiId = KDispatchSatFuncUnitId + 6;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsySmsPpDdlStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatGetSmsPpDownloadSupportedComp()
+ *
+ * Implementation of this interface should retrieve if the service
+ * "data download via SMS Point-to-point" is allocated and activated in the SIM Service Table
+ * and return the result via CCtsyDispatcherCallback::CallbackSatGetSmsPpDownloadSupportedComp()
+ *
+ * @see 3GPP TS 11.14 section 7.1
+ * @see 3GPP TS 11.11 section 11.6.12
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetSmsPpDownloadSupportedReqL() = 0;
+
+ }; // class MLtsyDispatchSatGetSmsPpDownloadSupported
+
+
+
+class MLtsyDispatchSatGetSmsControlActivated : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatGetSmsControlActivatedApiId = KDispatchSatFuncUnitId + 7;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyMoSmsControlActivation
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatGetSmsControlActivatedComp()
+ *
+ * Implementation of this interface should retrieve the current activation state of
+ * MO-SMS Control by USIM (Service n°31 in EFust).
+ *
+ * @see 3GPP TS 11.11 section 11.6.16
+ * @see 3GPP TS 31.102 section 4.2.8
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetSmsControlActivatedReqL() = 0;
+
+ }; // class MLtsyDispatchSatGetSmsControlActivated
+
+class MLtsyDispatchSatGetAccessTechnology : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatGetAccessTechnologyApiId = KDispatchSatFuncUnitId + 8;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyAccTech
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatGetAccessTechnologyComp()
+ *
+ * Implementation of this interface should cause the current access technology to be
+ * sent up to the CTSY via the CallbackSatGetAccessTechnologyComp() callback.
+ *
+ * This request is generated when a LOCAL INFORMATION (access technology)
+ * proactive command is received from UICC.
+ *
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetAccessTechnologyReqL() = 0;
+
+ }; // class MLtsyDispatchSatGetAccessTechnology
+
+class MLtsyDispatchSatCellBroadcastEnvelope : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatCellBroadcastEnvelopeApiId = KDispatchSatFuncUnitId + 9;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyCellBroadcast
+ * request from the CTSY.
+ *
+ * It is a request call that does not have an associated complete callback.
+ *
+ *
+ * Implementation of this interface should hanldle Cell Broadcast Envelope commands.
+ * This ENVELOPE is created as a result of a CallbackSatCreateCellBroadcastEnvelopeInd() call.
+ *
+ * Once the ME receives a new Cell Broadcast message and the service, if "data download via SMS-CB" is
+ * allocated and activated in the SIM Service Table and if the message identifier of the Cell Broadcast
+ * is contained within the message identifiers of the EF(CBMID), the the cell broadcast page is passed
+ * to the SIM using the ENVELOPE (CELL BROADCAST DOWNLOAD) command.
+ *
+ * See "3GPP TS 11.14" Under "Cell Broadcast data download"
+ *
+ *
+ * @param aEnvelope BER-TLV encoded data containing an (CELL BROADCAST DOWNLOAD) ENVELOPE command.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleCellBroadcastEnvelopeReqL(const TDesC8& aEnvelope) = 0;
+
+ }; // class MLtsyDispatchSatCellBroadcastEnvelope
+
+
+
+class MLtsyDispatchSatTimingAdvance : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatTimingAdvanceApiId = KDispatchSatFuncUnitId + 10;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyTimingAdvance
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatTimingAdvanceComp()
+ *
+ * Implementation of this interface should ascertain the Timing Advance measurement from the GSM/3G
+ * protocol. It can then be provided to the SIM application in response to a PROVIDE LOCAL INFO
+ * proactive command.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleTimingAdvanceReqL() = 0;
+
+ }; // class MLtsyDispatchSatTimingAdvance
+
+
+
+class MLtsyDispatchSatSmControlResponseData : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatSmControlResponseDataApiId = KDispatchSatFuncUnitId + 11;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatNotifyMoSmControlRequest
+ * request from the CTSY.
+ *
+ * It is a request call that does not have an associated complete callback.
+ *
+ * Implementation of this interface should handle the parsed Mo Short Message Control response TLV data.
+ *
+ * As a result of the ENVELOPE (MO SHORT MESSAGE CONTROL) command sent to the SIM, the SIM will respond
+ * with a response TLV, this is can be passed to the LTSY via the
+ * CCtsyDispatcherCallback::CallbackSatSmControlEnvelopeResponseInd().
+ * The CTSY parses this TLV, completes the RSat::NotifySmControlRequest() on the client side and passes
+ * down the parsed data to the LTSY via this handler.
+ *
+ * See "3GPP 11.14 - MO Short Message Control by SIM"
+ *
+ * @param aResult MO short message control result the SIM gives to the ME concerning whether to
+ * allow, bar or modify the proposed short message, encoded as defined in "3GPP TS 11.10-4, 27.22.8 MO SHORT MESSAGE CONTROL BY SIM"
+ * @param aRpDestinationAddress RP Destination Address of the Service Center to which the ME is proposing to send the short message.
+ * If the address data is not present (zero length), then assume the RP Destination Address of the Service Center is not to be modified.
+ * @param aTpDestinationAddress TP Destination Address to which the ME is proposing to send the short message.
+ * If the address data is not present (zero length), then assume the TP Destination Address is not to be modified.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmControlResponseDataReqL(
+ TUint8 aResult, const TDesC8& aRpDestinationAddress, const TDesC8& aTpDestinationAddress) = 0;
+
+ }; // class MLtsyDispatchSatSmControlResponseData
+
+
+
+class MLtsyDispatchSatProvideLocationInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatProvideLocationInfoApiId = KDispatchSatFuncUnitId + 12;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyProvideLocalInfo
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatProvideLocationInfoComp()
+ *
+ * Implementation of this interface should cause location information data to be provided, which can then be used
+ * for Call/SS/USSD Control.
+ *
+ * See "3GPP TS 11.14" section 9.1.1
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleProvideLocationInfoReqL() = 0;
+
+ }; // class MLtsyDispatchSatProvideLocationInfo
+
+
+
+class MLtsyDispatchSatSetPollingInterval : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatSetPollingIntervalApiId = KDispatchSatFuncUnitId + 13;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsySetPolling
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatSetPollingIntervalComp()
+ *
+ * Implementation of this interface should attempt to update the polling interval in the LTSY.
+ *
+ * A Proactive command from the UICC indicates the poll interval it requests from then onwards.
+ * The CTSY then notifies the LTSY the maximum poll interval it should use in seconds
+ * (via a HandleSetPollingIntervalReqL()), the LTSY completes the request (via a CallbackSatSetPollingIntervalComp())
+ * indicating the interval that will be used. If successful the CTSY then sends a terminal response, in response
+ * to the original proactive command. If unsuccessful and polling is currently off a terminal response is sent
+ * with a result of Unable To Process Command, in the case where polling is currently on the request to the LTSY is
+ * re-attempted with a legacy polling interval of 25 seconds.
+ *
+ * The polling interval ranges from a minimum of 5 and maximum of 255 seconds,
+ * a polling interval of zero (0) indiates that polling should be turned off.
+ *
+ * See "ETSI TS 102 223" "POLL INTERVAL"
+ *
+ * @param aPollingInterval The polling interval in seconds indicating how often the
+ * terminal sends STATUS commands related to Proactive Polling
+ * (zero indicates Polling should be turned off)
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetPollingIntervalReqL(TUint8 aPollingInterval) = 0;
+
+ }; // class MLtsyDispatchSatSetPollingInterval
+
+
+
+class MLtsyDispatchSatSmsPpDownloadEnvelope : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatSmsPpDownloadEnvelopeApiId = KDispatchSatFuncUnitId + 14;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsySmsPpDdl
+ * request from the CTSY.
+ *
+ * It is a request call that does not have an associated complete callback.
+ *
+ * Implementation of this interface should hanlde a SMS-PP DOWNLOAD, ENVELOPE command
+ * to be passed to the SIM.
+ *
+ * See "3GPP 11.14" Under "SMS-PP data download"
+ *
+ * @param aEnvelope BER-TLV encoded data containing an (SMS-PP DOWNLOAD) ENVELOPE command
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSmsPpDownloadEnvelopeReqL(const TDesC8& aEnvelope) = 0;
+
+ }; // class MLtsyDispatchSatSmsPpDownloadEnvelope
+
+
+
+class MLtsyDispatchSatLocalInformationNmr : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatLocalInformationNmrApiId = KDispatchSatFuncUnitId + 15;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyLocalInformationNmr
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatLocalInformationNmrComp()
+ *
+ * Implementation of this interface should request Network Measurement Results (NMR).
+ * They can be requested by a "LOCAL INFO" proactive command and this API is called
+ * during the construction of the command's Terminal Response.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleLocalInformationNmrReqL() = 0;
+
+ }; // class MLtsyDispatchSatLocalInformationNmr
+
+class MLtsyDispatchSatCallAndSmsControlEnvelope : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatCallAndSmsControlEnvelopeApiId = KDispatchSatFuncUnitId + 16;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsySendEnvelope
+ * request from the CTSY.
+ *
+ * It is a request call that does not have an associated complete callback.
+ *
+ * Implementation of this interface should cause the TLV data to be sent in an ENVELOPE
+ * to the UICC. This interface is used for ENVELOPE commands related to call control events.
+ *
+ *
+ * @param aEnvelope BER-TLV encoded data containing a Call Control or MO SMS control by SIM ENVELOPE command.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleCallAndSmsControlEnvelopeReqL(const TDesC8& aEnvelope) = 0;
+
+ }; // class MLtsyDispatchSatCallAndSmsControlEnvelope
+
+
+
+class MLtsyDispatchSatRefreshAllowed : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatRefreshAllowedApiId = KDispatchSatFuncUnitId + 17;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyServiceRequest
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatRefreshAllowedComp()
+ *
+ *
+ * Implementation of this interface allows the main RSat clients report (RSat::RefreshAllowed())
+ * if the refresh can be carried out to be passed to the LTSY.
+ * The completion CCtsyDispatcherCallback::CallbackSatRefreshAllowedComp()
+ * completes any outstanding RSat::NotifyRefreshPCmd() requests.
+ *
+ *
+ * @param aRefreshFileList The list of files (full path) that have been changed by the UICC (see ETSI 102 221 or ETSI 151 011)
+ * @param aAid Indicates the application on the UICC to be refreshed (as defined ETSI TS 101 220) .
+ * @param aTsyCache Bit field of files that are cached in SIM ATK TSY (examin using CSatNotificationsTsy::TCachedSimAtkFiles)
+ *
+ * @see RSat::NotifyRefreshRequired()
+ * @see RSat::RefreshAllowed()
+ * @see RMmCustomAPI::SatRefreshCompleteNotification()
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleRefreshAllowedReqL(const TDesC8& aRefreshFileList, const TDesC8& aAid, TUint16 aTsyCache) = 0;
+
+ }; // class MLtsyDispatchSatRefreshAllowed
+
+
+
+class MLtsyDispatchSatReady : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatReadyApiId = KDispatchSatFuncUnitId + 18;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyReady
+ * request from the CTSY.
+ *
+ * Implementation of this interface allows the CTSY to signal that it is ready to receive proactive commands.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleReadyReqL() = 0;
+
+ }; // class MLtsyDispatchSatReady
+
+
+
+class MLtsyDispatchSatPCmdNotification : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatPCmdNotificationApiId = KDispatchSatFuncUnitId + 19;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyGetIfPendingNotification
+ * request from the CTSY.
+ *
+ * It is a request call that does not have an associated complete callback.
+ *
+ * This function uses this API to register an interest in a particular proactive command. Once this notification
+ * has been set up, the LTSY should call CCtsyDispatcherCallback::CallbackSatPcmdInd() to notify the CTSY the next
+ * time this proactive command is generated by the UICC (or provide notification immediately if the command is pending).
+ *
+ * Proactive commands which are received via CCtsyDispatcherCallback::CallbackSatPcmdInd() while a notification has not
+ * been requested for this proactive command then a Terminal Response containing the return code "KMeUnableProcessCmd"
+ * will be sent back to the UICC. Therfore it is perfectly acceptable for the LTSY to pass all proactive commands directly
+ * to the CTSY if it is preferred to have CTSY process proactive commands. If the latter implementation is chosen, LTSY does
+ * not have to implement the MLtsyDispatchSatPCmdNotification interface at all.
+ *
+ * @param aPCmdType The number of the proactive command for which notification is being requested (e.g. KSetUpMenu),
+ * as defined in ETSI 102 223 etc. these are defined in bertlv_defs.h
+ *
+ * @see bertlv_defs.h
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandlePCmdNotificationReqL(TUint8 aPCmdType) = 0;
+
+ }; // class MLtsyDispatchSatPCmdNotification
+
+
+
+class MLtsyDispatchSatUssdControlEnvelopeError : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatUssdControlEnvelopeErrorApiId = KDispatchSatFuncUnitId + 20;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyEnvelopeError
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatGetUssdControlSupportedComp()
+ *
+ * This interface is invoked if it has not been possible to construct an envelope for
+ * USSD control. This would occur if USSD strings are not supported for call control,
+ * and the USSD control request cannot be submitted as an SS control request because it
+ * contains characters other than *, #, 0-9.
+ *
+ * Implementation of this interface should handle this error appropriately (such as by
+ * continuing the USSD setup process).
+ *
+ * @see MLtsyDispatchSatGetUssdControlSupported::HandleGetUssdControlSupportedReqL()
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleUssdControlEnvelopeErrorReqL() = 0;
+
+ }; // class MLtsyDispatchSatUssdControlEnvelopeError
+
+
+
+class MLtsyDispatchSatTimerExpirationEnvelope : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatTimerExpirationEnvelopeApiId = KDispatchSatFuncUnitId + 21;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyTimerExpiredIPC
+ * request from the CTSY.
+ *
+ * It is a request call that does not have an associated complete callback.
+ *
+ * The Timer managment proactive command requests the terminal to manage timers
+ * running physically in the terminal.
+ *
+ * When a timer expires (i.e. reaches zero), the terminal shall use the Timer Expiration
+ * mechanism to transfer the identifier of the timer that has expired and the difference
+ * between the time when this transfer occurs and the time when the timer was initially started.
+ * The terminal then deactivates the timer.
+ *
+ * This handler passes to the LTSY the Timer expiration ENVELOPE command, when a timer
+ * previously started by a TIMER MANAGEMENT proactive command has expired.
+ *
+ * Note that the command will not be sent until any proactive command is no longer ongoing.
+ * (i.e. the Terminal responses completion (CCtsyDispatcherCallback::CallbackSatTerminalRspComp() )
+ * to the proactive command has been completed by the LTSY)
+ *
+ *
+ * @param aEnvelope BER-TLV encoded Timer expiration ENVELOPE command
+ * see "ETSI TS 102 223" under "ENVELOPE commands" "Timer expiration"
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleTimerExpirationEnvelopeReqL(const TDesC8& aEnvelope) = 0;
+
+ }; // class MLtsyDispatchSatTimerExpirationEnvelope
+
+
+
+class MLtsyDispatchSatTerminalRsp : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatTerminalRspApiId = KDispatchSatFuncUnitId + 22;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTerminalRsp
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatTerminalRspComp()
+ *
+ * Implementation of this interface should allow responses to Proactive Commands to be provided to the LTSY.
+ *
+ * @param aTerminalRsp The terminal response TLV as formatted in "ETSI TS 102 223" Under "Structure of TERMINAL RESPONSE"
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleTerminalRspReqL(const TDesC8& aTerminalRsp) = 0;
+
+ }; // class MLtsyDispatchSatTerminalRsp
+
+
+
+class MLtsyDispatchSatMenuSelectionEnvelope : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatMenuSelectionEnvelopeApiId = KDispatchSatFuncUnitId + 23;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatMenuSelection
+ * request from the CTSY.
+ *
+ * It is a request call that does not have an associated complete callback.
+ *
+ * When the SIM application has previously specified a menu to the ME via the SETUP MENU proactive
+ * command, this API is used by the ME to communicate to the SIM application either that the user has
+ * selected one of the menu items, or that the user has requested help information for one of the
+ * menu items.
+ *
+ *
+ * @param aEnvelope BER-TLV encoded Envelope containing the identifier of a menu item and whether the
+ * user of the ME has selected the menu item or requested help about it.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleMenuSelectionEnvelopeReqL(const TDesC8& aEnvelope) = 0;
+
+ }; // class MLtsyDispatchSatMenuSelectionEnvelope
+
+
+
+class MLtsyDispatchSatEventDownloadEnvelope : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatEventDownloadEnvelopeApiId = KDispatchSatFuncUnitId + 24;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatEventDownload
+ * request from the CTSY.
+ *
+ * It is a request call that does not have an associated complete callback.
+ *
+ * The SET UP EVENT LIST proactive command gives the phone a list of events that may occur
+ * to the phone. The event list may include a change of access technology, user
+ * action, browser termination and more. The UICC must be informed when an event
+ * on the list occurs - this is via
+ * MLtsyDispatchSatEventDownloadEnvelope::HandleEventDownloadEnvelopeReqL()
+ *
+ * @param aEnvelope BER-TLV encoded Event Download ENVELOPE command
+ * see "ETSI TS 102 223" under "ENVELOPE commands" "Event Download"
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RSat::EventDownload()
+ */
+ virtual TInt HandleEventDownloadEnvelopeReqL(const TDesC8& aEnvelope) = 0;
+
+ }; // class MLtsyDispatchSatEventDownloadEnvelope
+
+
+class MLtsyDispatchSatGetUssdControlSupported : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSatGetUssdControlSupportedApiId = KDispatchSatFuncUnitId + 25;
+
+ /**
+ * This API is optional and should only be used if the licensee wishes to including the
+ * Dispatcher beneath their own SIM ATK TSY.
+ *
+ * The CTSY Dispatcher shall invoke this function on receiving the ESatTsyUssdControlSupported
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSatGetUssdControlSupportedComp()
+ *
+ * Asks whether USSD string data objects are supported in call control. This setting is
+ * stored in EF-SST - see ETSI 151 011 etc. If USSD control is not supported, USSD control
+ * requests that can be coded as an SS string (i.e. *,#,0-9) will be submitted in this format.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetUssdControlSupportedReqL() = 0;
+
+ }; //class MLtsyDispatchSatGetUssdControlSupported
+
+#endif /*MLTSYDISPATCHSATINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsecurityinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -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_*/
--- /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_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsmsinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,436 @@
+// 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 Sms related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHSMSINTERFACE_H_
+#define MLTSYDISPATCHSMSINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelmm.h>
+
+namespace DispatcherSim
+ {
+
+ /**
+ * This namespace contains all types relating to the Sim dispatcher.
+ */
+
+ /** SMS parameters */
+ struct TSmsParameters
+ {
+ /*
+ * LocationNumber
+ */
+ TUint8 iLocationNumber;
+
+ /*
+ * Parameter Indicator
+ */
+ TUint8 iParameterIndicator;
+
+ /*
+ * ProtocolId
+ */
+ TUint8 iProtocolId;
+
+ /*
+ * Data Coding Scheme
+ */
+ TUint8 iDataCodingScheme;
+
+ /*
+ * Validity Period
+ */
+ TUint8 iValidityPeriod;
+
+ /*
+ * MobileSc TON
+ */
+ RMobilePhone::TMobileTON iMobileScTON;
+
+ /*
+ * MobileSc NPI
+ */
+ RMobilePhone::TMobileNPI iMobileScNPI;
+
+ /*
+ * Mobile De TON
+ */
+ RMobilePhone::TMobileTON iMobileDeTON;
+
+ /*
+ * Mobile De NPI
+ */
+ RMobilePhone::TMobileNPI iMobileDeNPI;
+
+ /*
+ * Alpha Tag Present
+ */
+ TBool iAlphaTagPresent;
+ };
+ }
+
+class MLtsyDispatchSmsSendSatSms : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSmsSendSatSmsApiId = KDispatchSmsFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMmTsySmsSendSatMessage
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsSendSatSmsComp()
+ *
+ * Implementation of this interface should handle a request to send a SMS message initiated from a client
+ * side RSat::SendMessageNoLogging() call.
+ *
+ * @param aDestination The mobile telephone number.
+ * @param aSmsTpdu The SMS TPDU.
+ * @param aDataFormat The SMS data format.
+ * @param aGsmServiceCentre The service centre number.
+ * @param aMore This indicates whether the client is going to send another SMS immediately
+ after this one.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSendSatSmsReqL( const TDesC8& aSmsTpdu,
+ RMobileSmsMessaging::TMobileSmsDataFormat aDataFormat,
+ const RMobilePhone::TMobileAddress& aGsmServiceCentre,
+ TBool aMoreMessages
+ ) = 0;
+
+ }; // class MLtsyDispatchSmsSendSatSms
+
+
+
+class MLtsyDispatchSmsGetSmsStoreInfo : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSmsGetSmsStoreInfoApiId = KDispatchSmsFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingGetMessageStoreInfo
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsGetSmsStoreInfoComp()
+ *
+ * Implementation of this interface should retrieve the current Sms store information.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileSmsMessaging::GetMessageStoreInfo
+ */
+ virtual TInt HandleGetSmsStoreInfoReqL() = 0;
+
+ }; // class MLtsyDispatchSmsGetSmsStoreInfo
+
+
+
+class MLtsyDispatchSmsGetSmspList : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSmsGetSmspListApiId = KDispatchSmsFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingGetSmspListPhase1
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsGetSmspListComp()
+ *
+ * Implementation of this interface should request to read the SMS parameter list from the SIM's SMSP store.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see CMobilePhoneSmspList()
+ * @see CRetrieveMobilePhoneSmspList()
+ */
+ virtual TInt HandleGetSmspListReqL() = 0;
+
+ }; // class MLtsyDispatchSmsGetSmspList
+
+
+
+class MLtsyDispatchSmsNackSmsStored : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSmsNackSmsStoredApiId = KDispatchSmsFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingNackSmsStored
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsNackSmsStoredComp()
+ *
+ * Implementation of this interface should accept this negative acknowledgment: when the client receives an unstored SMS,
+ * it will use this member function to return a negative acknowledgment if it fails to decode and/or store that SMS.
+ * This TPDU will contain the TP error cause that prevents the client from acknowledging the SMS.
+ * The client should also provide the RP error cause by placing it in the aRpCause parameter.
+ *
+ * @param aTpdu Holds the TPDU defined for a SMS-DELIVER-REPORT (for RP-ERROR) in GSM 03.40.
+ * @param aRpCause Contain one of the MS related extended error codes.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileSmsMessaging::NackSmsStored()
+ */
+ virtual TInt HandleNackSmsStoredReqL(const TDesC8& aTpdu, TInt aRpCause) = 0;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingNackSmsStored
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsNackSmsStoredComp()
+ *
+ * Implementation of this interface should accept this negative acknowledgment: when the client receives an unstored SMS,
+ * it will use this member function to return a negative acknowledgment if it fails to decode and/or store that SMS.
+ * The client should also provide the RP error cause by placing it in the aRpCause parameter.
+ *
+ * @param aRpCause Contain one of the MS related extended error codes.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileSmsMessaging::NackSmsStored()
+ */
+ virtual TInt HandleNackSmsStoredReqL(TInt aRpCause) = 0;
+
+ }; // class MLtsyDispatchSmsNackSmsStored
+
+
+
+class MLtsyDispatchSmsAckSmsStored : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSmsAckSmsStoredApiId = KDispatchSmsFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingAckSmsStored
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsAckSmsStoredComp()
+ *
+ * Implementation of this interface should accept the acknowledgment: when the client receives an unstored SMS,
+ * it will trigger this function to return a positive acknowledgment if it manages to successfully decode and store that SMS.
+ * If the client wishes to send a SMS-DELIVER-REPORT in response to the received SMS-DELIVER ,
+ * then the aTpdu parameter will be used to hold the TPDU defined for a SMS-DELIVER-REPORT (for RP-ACK) in GSM 03.40.
+ *
+ *
+ * @param aTpdu Holds the TPDU defined for a SMS-DELIVER-REPORT (for RP-ACK) in GSM 03.40.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileSmsMessaging::AckSmsStored()
+ */
+ virtual TInt HandleAckSmsStoredReqL(const TDesC8& aTpdu) = 0;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingAckSmsStored
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsAckSmsStoredComp()
+ *
+ * Implementation of this interface should accept the acknowledgment: when the client receives an unstored SMS,
+ * it will trigger this function to return a positive acknowledgment if it manages to successfully decode and store that SMS.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ *
+ * @see RMobileSmsMessaging::AckSmsStored()
+ */
+ virtual TInt HandleAckSmsStoredReqL() = 0;
+
+ }; // class MLtsyDispatchSmsAckSmsStored
+
+
+
+class MLtsyDispatchSmsResumeSmsReception : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSmsResumeSmsReceptionApiId = KDispatchSmsFuncUnitId + 6;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingResumeSmsReception
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsResumeSmsReceptionComp()
+ *
+ * Implementation of this interface should allow a client to resume sms reception
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleResumeSmsReceptionReqL() = 0;
+
+ }; // class MLtsyDispatchSmsResumeSmsReception
+
+
+class MLtsyDispatchSmsSendSmsMessage : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSmsSendSmsMessageApiId = KDispatchSmsFuncUnitId + 7;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingSendMessage
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsSendSmsMessageComp()
+ *
+ * Implementation of this interface should allow a client to send a SMS message
+ *
+ * @param aDestination The mobile telephone number.
+ * @param aSmsTpdu The SMS TPDU.
+ * @param aDataFormat The SMS data format.
+ * @param aGsmServiceCentre The service centre number.
+ * @param aMore This indicates whether the client is going to send another SMS immediately
+ * after this one.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSendSmsMessageReqL( const RMobilePhone::TMobileAddress& aDestination,
+ const TDesC8& aSmsTpdu,
+ RMobileSmsMessaging::TMobileSmsDataFormat aDataFormat,
+ const RMobilePhone::TMobileAddress& aGsmServiceCentre,
+ TBool aMoreMessages
+ ) = 0;
+
+
+ }; // class MLtsyDispatchSmsSendSmsMessage
+
+
+class MLtsyDispatchSmsSendSmsMessageNoFdnCheck : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSmsSendSmsMessageNoFdnCheckApiId = KDispatchSmsFuncUnitId + 8;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingSendMessageNoFdnCheck
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsSendSmsMessageNoFdnCheckComp()
+ *
+ * Implementation of this interface should allow a client to send a SMS message
+ *
+ *
+ * @param aDestination The mobile telephone number.
+ * @param aSmsTpdu The SMS TPDU.
+ * @param aDataFormat The SMS data format.
+ * @param aGsmServiceCentre The service centre number.
+ * @param aMore This indicates whether the client is going to send another SMS immediately
+ after this one.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSendSmsMessageNoFdnCheckReqL( const RMobilePhone::TMobileAddress& aDestination,
+ const TDesC8& aSmsTpdu,
+ RMobileSmsMessaging::TMobileSmsDataFormat aDataFormat,
+ const RMobilePhone::TMobileAddress& aGsmServiceCentre,
+ TBool aMoreMessages
+ ) = 0;
+
+ }; // class MLtsyDispatchSmsSendSmsMessageNoFdnCheck
+
+
+class MLtsyDispatchSmsSetMoSmsBearer : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSmsSetMoSmsBearerApiId = KDispatchSmsFuncUnitId + 9;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingSetMoSmsBearer
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsSetMoSmsBearerComp()
+ *
+ * Implementation of this interface should allow client to set SMS bearer
+ *
+ * @param aBearer The SMS bearer.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetMoSmsBearerReqL(RMobileSmsMessaging::TMobileSmsBearer aBearer) = 0;
+
+ }; // class MLtsyDispatchSmsSetMoSmsBearer
+
+
+
+class MLtsyDispatchSmsStoreSmspListEntry : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSmsStoreSmspListEntryApiId = KDispatchSmsFuncUnitId + 10;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileSmsMessagingStoreSmspList
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSmsStoreSmspListComp()
+ *
+ * Implementation of this interface should handle the request to store a SMSP entry
+ * in the SIM's SMSP file
+ *
+ * @param aSmspEntry Defines a set of SMS parameters
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleStoreSmspListEntryReqL(const RMobileSmsMessaging::TMobileSmspEntryV1& aSmspEntry) = 0;
+
+ }; // class MLtsyDispatchSmsStoreSmspList
+
+
+#endif /*MLTSYDISPATCHSMSINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/mltsydispatchsupplementaryservicesinterface.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,410 @@
+// 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 SupplementaryServices related features.
+//
+
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+
+#ifndef MLTSYDISPATCHSUPPLEMENTARYSERVICESINTERFACE_H_
+#define MLTSYDISPATCHSUPPLEMENTARYSERVICESINTERFACE_H_
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <etelmm.h>
+
+
+class MLtsyDispatchSupplementaryServicesSendNetworkServiceRequestNoFdnCheck : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesSendNetworkServiceRequestNoFdnCheckApiId = KDispatchSupplementaryServicesFuncUnitId + 1;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSendNetworkServiceRequestNoFdnCheck
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesSendNetworkServiceRequestNoFdnCheckComp()
+ *
+ * Implementation of this interface should send the request to the network without FDN check.
+ *
+ *
+ * @param aRequest The supplementary services string that was entered by the user and need to be send to the network.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSendNetworkServiceRequestNoFdnCheckReqL(const TDesC& aRequest) = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesSendNetworkServiceRequestNoFdnCheck
+
+
+
+class MLtsyDispatchSupplementaryServicesGetCallWaitingStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesGetCallWaitingStatusApiId = KDispatchSupplementaryServicesFuncUnitId + 2;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetWaitingStatusPhase1
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesGetCallWaitingStatusComp()
+ *
+ * Implementation of this interface should get the call waiting list.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetCallWaitingStatusReqL() = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesGetCallWaitingStatus
+
+
+
+class MLtsyDispatchSupplementaryServicesSendNetworkServiceRequest : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesSendNetworkServiceRequestApiId = KDispatchSupplementaryServicesFuncUnitId + 3;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSendNetworkServiceRequest
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesSendNetworkServiceRequestComp()
+ *
+ * Implementation of this interface should send the request to the network after FDN check.
+ *
+ *
+ * @param aRequest The supplementary services string that was entered by the user and need to be send to the network.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSendNetworkServiceRequestReqL(const TDesC& aRequest) = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesSendNetworkServiceRequest
+
+
+
+class MLtsyDispatchSupplementaryServicesGetCallBarringStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesGetCallBarringStatusApiId = KDispatchSupplementaryServicesFuncUnitId + 4;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetBarringStatusPhase1
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesGetCallBarringStatusComp()
+ *
+ * Implementation of this interface should get the call barring list.
+ *
+ *
+ * @param aCondition The barring conditions to interrogate.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetCallBarringStatusReqL(RMobilePhone::TMobilePhoneCBCondition aCondition) = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesGetCallBarringStatus
+
+
+
+class MLtsyDispatchSupplementaryServicesSetCallBarringStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesSetCallBarringStatusApiId = KDispatchSupplementaryServicesFuncUnitId + 5;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetCallBarringStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesSetCallBarringStatusComp()
+ *
+ * Implementation of this interface should set the call barring status for a call barring condition.
+ *
+ *
+ * @param aCondition The call barring condition to set.
+ * @param aAction The call barring action.
+ * @param aGroup The call barring service group.
+ * @param aPassword The password of the call barring service.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetCallBarringStatusReqL(RMobilePhone::TMobilePhoneCBCondition aCondition,
+ RMobilePhone::TMobilePhoneServiceAction aAction,
+ RMobilePhone::TMobileService aGroup,
+ const TDesC& aPassword) = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesSetCallBarringStatus
+
+
+
+class MLtsyDispatchSupplementaryServicesSetCallForwardingStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesSetCallForwardingStatusApiId = KDispatchSupplementaryServicesFuncUnitId + 6;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetCallForwardingStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesSetCallForwardingStatusComp()
+ *
+ * Implementation of this interface should sets a new call forwarding status and/or registered
+ * information for the call forwarding condition.
+ *
+ *
+ * @param aCondition The condition of the new call forwarding setting.
+ * @param aServiceGroup The basic service group to apply the CF status change to.
+ * @param aAction The action to take.
+ * @param aNumber The forwarding number.
+ * @param aTimeout The time out when aCondition is ECallForwardingNoReply.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetCallForwardingStatusReqL(RMobilePhone::TMobilePhoneCFCondition aCondition,
+ RMobilePhone::TMobileService aServiceGroup,
+ RMobilePhone::TMobilePhoneServiceAction aAction,
+ const TDesC& aNumber,
+ TInt aTimeout) = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesSetCallForwardingStatus
+
+
+
+class MLtsyDispatchSupplementaryServicesSetCallWaitingStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesSetCallWaitingStatusApiId = KDispatchSupplementaryServicesFuncUnitId + 7;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetCallWaitingStatus
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesSetCallWaitingStatusComp()
+ *
+ * Implementation of this interface should set the call waiting status.
+ *
+ *
+ * @param aServiceGroup The service group to change.
+ * @param aAction The action to do with that service group.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetCallWaitingStatusReqL(RMobilePhone::TMobileService aServiceGroup, RMobilePhone::TMobilePhoneServiceAction aAction) = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesSetCallWaitingStatus
+
+
+
+class MLtsyDispatchSupplementaryServicesSetSsPassword : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesSetSsPasswordApiId = KDispatchSupplementaryServicesFuncUnitId + 8;
+
+ enum TServiceType
+ {
+ EAllSupplementaryServices = 0,
+ ECallBarring = 330
+ };
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetSSPassword
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesSetSsPasswordComp()
+ *
+ * Implementation of this interface should set the password of the call barring or common Supplementary Services password.
+ *
+ *
+ * @param aOldPassword The old password.
+ * @param aNewPassword The new password.
+ * @param aService The service.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSetSsPasswordReqL(const TDesC& aOldPassword,
+ const TDesC& aNewPassword,
+ TServiceType aService) = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesSetSsPassword
+
+
+
+class MLtsyDispatchSupplementaryServicesGetCallForwardingStatus : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesGetCallForwardingStatusApiId = KDispatchSupplementaryServicesFuncUnitId + 9;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetCallForwardingStatusPhase1
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesGetCallForwardingStatusComp()
+ *
+ * Implementation of this interface should get the call forwarding list.
+ *
+ * @param aCondition The call forwarding condition.
+ * @param aService The service group.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleGetCallForwardingStatusReqL(RMobilePhone::TMobilePhoneCFCondition aCondition,
+ RMobilePhone::TMobileService aService) = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesGetCallForwardingStatus
+
+
+
+class MLtsyDispatchSupplementaryServicesSendUssdMessage : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesSendUssdMessageApiId = KDispatchSupplementaryServicesFuncUnitId + 10;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileUssdMessagingSendMessage
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesSendUssdMessageComp()
+ *
+ * Implementation of this interface should send an USSD message to the network.
+ *
+ *
+ * @param aData The actual data to send in the message.
+ * @param aDcs The data coding scheme of the message.
+ * @param aFormat The message format.
+ * @param aType The message type (RMobileUssdMessaging::EUssdMORequest, RMobileUssdMessaging::EUssdMOReply
+ * or RMobileUssdMessaging::EUssdMOAcknowledgement).
+ *
+ * @return KErrNone on success, KErrGsmSSUssdBusy if the latest USSD session was not yet released,
+ * otherwise another error code indicating the failure.
+ */
+ virtual TInt HandleSendUssdMessageReqL(const TDesC8& aData, TUint8 aDcs,
+ RMobileUssdMessaging::TMobileUssdDataFormat aFormat, RMobileUssdMessaging::TMobileUssdMessageType aType) = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesSendUssdMessage
+
+
+class MLtsyDispatchSupplementaryServicesSendUssdMessageNoFdnCheck : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesSendUssdMessageNoFdnCheckApiId = KDispatchSupplementaryServicesFuncUnitId + 11;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileUssdMessagingSendMessageNoFdnCheck
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesSendUssdMessageNoFdnCheckComp()
+ *
+ * Implementation of this interface should send an USSD message to the network without initially checking FDN lsit.
+ *
+ *
+ * @param aData The actual data to send in the message.
+ * @param aDcs The data coding scheme of the message.
+ * @param aFormat The message format.
+ * @param aType The message type (RMobileUssdMessaging::EUssdMORequest, RMobileUssdMessaging::EUssdMOReply
+ * or RMobileUssdMessaging::EUssdMOAcknowledgement).
+ *
+ * @return KErrNone on success, KErrGsmSSUssdBusy if the latest USSD session was not yet released,
+ * otherwise another error code indicating the failure.
+ */
+ virtual TInt HandleSendUssdMessageNoFdnCheckReqL(const TDesC8& aData, TUint8 aDcs,
+ RMobileUssdMessaging::TMobileUssdDataFormat aFormat, RMobileUssdMessaging::TMobileUssdMessageType aType) = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesSendUssdMessageNoFdnCheck
+
+
+class MLtsyDispatchSupplementaryServicesSendUssdRelease : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesSendUssdReleaseApiId = KDispatchSupplementaryServicesFuncUnitId + 12;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the EMobileUssdMessagingSendRelease
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesSendUssdReleaseComp()
+ *
+ * Implementation of this interface should send a USSD release message to the network.
+ *
+ * @return KErrNone on success, otherwise another error code indicating the
+ * failure.
+ */
+ virtual TInt HandleSendUssdReleaseReqL() = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesSendUssdRelease
+
+
+
+class MLtsyDispatchSupplementaryServicesClearBlacklist : public MLtsyDispatchInterface
+ {
+public:
+
+ static const TInt KLtsyDispatchSupplementaryServicesClearBlacklistApiId = KDispatchSupplementaryServicesFuncUnitId + 13;
+
+ /**
+ * The CTSY Dispatcher shall invoke this function on receiving the ECustomClearCallBlackListIPC
+ * request from the CTSY.
+ *
+ * It is a request call that is completed by invoking
+ * CCtsyDispatcherCallback::CallbackSupplementaryServicesClearBlacklistComp()
+ *
+ * Implementation of this interface should clear the blacklist.
+ *
+ *
+ * @return KErrNone on success, otherwise another error code indicating the failure.
+ */
+ virtual TInt HandleClearBlacklistReqL() = 0;
+
+ }; // class MLtsyDispatchSupplementaryServicesClearBlacklist
+
+
+#endif /*MLTSYDISPATCHSUPPLEMENTARYSERVICESINTERFACE_H_*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Telephony/ctsydispatchlayer/exportinc/sat_defs.h Thu Aug 12 13:20:01 2010 +0100
@@ -0,0 +1,1201 @@
+// Copyright (c) 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:
+//
+
+
+
+/**
+ @file
+ @internalAll
+*/
+
+#ifndef SAT_DEFS_H_
+#define SAT_DEFS_H_
+
+// INCLUDES
+#include <etelsat.h> // Symbian Etel Sat related types
+
+#ifndef BERTLV_DEFS_H
+#define BERTLV_DEFS_H
+
+#include <e32base.h> // for class CBase
+// CONSTANTS
+const TUint8 KTlvLengthStartPosition = 0x01;
+const TUint8 KTlvDataAreaStartPosition = 0x02;
+const TUint8 KTlvHeaderLength = 0x02;
+const TUint8 KTwoByteLengthCoding = 0x81;
+const TUint8 KMccAndMncLength = 0x03;
+const TUint8 KLocationAreaCodeLength = 0x02;
+const TUint8 KCApduLengthWithoutLc = 0x06;
+const TUint8 KCommonTlvHeaderLength = 0x02;
+const TUint8 KDefaultCommandNumber = 0x01;
+const TUint8 KDefaultGetInkeyCodingScheme = 0x04;
+const TUint8 KTagValueMask = 0x7f;
+const TUint8 KTagCrMask = 0x80;
+const TUint8 KMaxOneByteLength = 0x7f;
+const TUint8 KReservedTonNpi1 = 0x7F;
+const TUint8 KReservedTonNpi2 = 0xF7;
+
+
+// In 242 octets, it is possible to pack (242x8)/7=277 characters.
+// See ref. 3GPP TS 23.038.
+const TInt16 KTextBufferMaxSize = 277;
+const TUint8 KCommandQualifier = 4;
+const TUint8 KTlvMaxSize = 255;
+
+// Proactive SIM commands
+const TUint8 KRefresh = 0x01;
+const TUint8 KMoreTime = 0x02;
+const TUint8 KPollInterval = 0x03;
+const TUint8 KPollingOff = 0x04;
+const TUint8 KSetUpEventList = 0x05;
+const TUint8 KSetUpCall = 0x10;
+const TUint8 KSendSs = 0x11;
+const TUint8 KSendUssd = 0x12;
+const TUint8 KSendShortMessage = 0x13;
+const TUint8 KSendDtmf = 0x14;
+const TUint8 KLaunchBrowser = 0x15;
+const TUint8 KPlayTone = 0x20;
+const TUint8 KDisplayText = 0x21;
+const TUint8 KGetInkey = 0x22;
+const TUint8 KGetInput = 0x23;
+const TUint8 KSelectItem = 0x24;
+const TUint8 KSetUpMenu = 0x25;
+const TUint8 KProvideLocalInformation = 0x26;
+const TUint8 KTimerManagement = 0x27;
+const TUint8 KSetUpIdleModeText = 0x28;
+const TUint8 KPerformCardApdu = 0x30;
+const TUint8 KPowerOnCard = 0x31;
+const TUint8 KPowerOffCard = 0x32;
+const TUint8 KGetReaderStatus = 0x33;
+const TUint8 KRunAtCommand = 0x34;
+const TUint8 KLanguageNotification = 0x35;
+const TUint8 KOpenChannel = 0x40;
+const TUint8 KCloseChannel = 0x41;
+const TUint8 KReceiveData = 0x42;
+const TUint8 KSendData = 0x43;
+const TUint8 KGetChannelStatus = 0x44;
+const TUint8 KEndOfTheProactiveSession = 0x81;
+
+
+// TAG Values
+// BER-TLV tags in ME to SIM direction
+const TUint8 KBerTlvSmsPpDownloadTag = 0xD1;
+const TUint8 KBerTlvCellBroadcastTag = 0xD2;
+const TUint8 KBerTlvMenuSelectionTag = 0xD3;
+const TUint8 KBerTlvCallControlTag = 0xD4;
+const TUint8 KBerTlvMoShortMessageControlTag = 0xD5;
+const TUint8 KBerTlvEventDownloadTag = 0xD6;
+const TUint8 KBerTlvTimerExpirationTag = 0xD7;
+
+// BER-TLV tags in SIM to ME direction
+const TUint8 KBerTlvProactiveSimCommandTag = 0xD0;
+
+// SIMPLE-TLV tags in both directions
+// TLV tags, Tag value, bits 1-7 (Range: '01' - '7E')
+const TUint8 KTlvCommandDetailsTag = 0x01;
+const TUint8 KTlvDeviceIdentityTag = 0x02;
+const TUint8 KTlvResultTag = 0x03;
+const TUint8 KTlvDurationTag = 0x04;
+const TUint8 KTlvAlphaIdentifierTag = 0x05;
+const TUint8 KTlvAddressTag = 0x06;
+const TUint8 KTlvCapabilityConfigurationParametersTag = 0x07;
+const TUint8 KTlvSubaddressTag = 0x08;
+const TUint8 KTlvSsStringTag = 0x09;
+const TUint8 KTlvUssdStringTag = 0x0A;
+const TUint8 KTlvSmsTpduTag = 0x0B;
+const TUint8 KTlvCellBroadcastPageTag = 0x0C;
+const TUint8 KTlvTextStringTag = 0x0D;
+const TUint8 KTlvToneTag = 0x0E;
+const TUint8 KTlvItemTag = 0x0F;
+const TUint8 KTlvItemIdentifierTag = 0x10;
+const TUint8 KTlvResponseLengthTag = 0x11;
+const TUint8 KTlvFileListTag = 0x12;
+const TUint8 KTlvLocationInformationTag = 0x13;
+const TUint8 KTlvImeiTag = 0x14;
+const TUint8 KTlvHelpRequestTag = 0x15;
+const TUint8 KTlvNetworkMeasurementResultsTag = 0x16;
+const TUint8 KTlvDefaultTextTag = 0x17;
+const TUint8 KTlvItemsNextActionIndicatorTag = 0x18;
+const TUint8 KTlvEventListTag = 0x19;
+const TUint8 KTlvCauseTag = 0x1A;
+const TUint8 KTlvLocationStatusTag = 0x1B;
+const TUint8 KTlvTransactionIdentifierTag = 0x1C;
+const TUint8 KTlvBccdChannelListTag = 0x1D;
+const TUint8 KTlvIconIdentifierTag = 0x1E;
+const TUint8 KTlvItemIconIdentifierListTag = 0x1F;
+const TUint8 KTlvCardReaderStatusTag = 0x20;
+const TUint8 KTlvCardAtrTag = 0x21;
+const TUint8 KTlvCApduTag = 0x22;
+const TUint8 KTlvRApduTag = 0x23;
+const TUint8 KTlvTimerIdentifierTag = 0x24;
+const TUint8 KTlvTimerValueTag = 0x25;
+const TUint8 KTlvDateTimeAndTimeZoneTag = 0x26;
+const TUint8 KTlvCallControlRequestedActionTag = 0x27;
+const TUint8 KTlvAtCommandTag = 0x28;
+const TUint8 KTlvAtResponseTag = 0x29;
+const TUint8 KTlvBcRepeatIndicatorTag = 0x2A;
+const TUint8 KTlvImmediateResponseTag = 0x2B;
+const TUint8 KTlvDtmfStringTag = 0x2C;
+const TUint8 KTlvLanguageTag = 0x2D;
+const TUint8 KTlvTimingAdvanceTag = 0x2E;
+const TUint8 KTlvAIDTag = 0x2F;
+const TUint8 KTlvBrowserIdentityTag = 0x30;
+const TUint8 KTlvUrlTag = 0x31;
+const TUint8 KTlvBearerTag = 0x32;
+const TUint8 KTlvProvisioningReferenceFileTag = 0x33;
+const TUint8 KTlvBrowserTerminationCauseTag = 0x34;
+const TUint8 KTlvBearerDescriptionTag = 0x35;
+const TUint8 KTlvChannelDataTag = 0x36;
+const TUint8 KTlvChannelDataLengthTag = 0x37;
+const TUint8 KTlvChannelStatusTag = 0x38;
+const TUint8 KTlvBufferSizeTag = 0x39;
+const TUint8 KTlvCardReaderIdentifierTag = 0x3A;
+const TUint8 KTlvTextStringTagUserPassword = 0x3B;
+const TUint8 KTlvSimMeTransportLevelTag = 0x3C;
+const TUint8 KTlvURLTag = 0x3D;
+const TUint8 KTlvOtherAddressTag = 0x3E;
+const TUint8 KTlvAccessTechnologyTag = 0x3F;
+const TUint8 KTlvESNTag = 0x46;
+const TUint8 KTlvNetworkAccessNameTag = 0x47;
+const TUint8 KTlvTimerIdentifierTagCRBitOn = 0xA4;
+
+// TLV Coding
+
+// Event download - Event list event coding
+const TUint8 KEventMTCall = 0x00;
+const TUint8 KEventCallConnected = 0x01;
+const TUint8 KEventCallDisconnected = 0x02;
+const TUint8 KEventLocationStatus = 0x03;
+const TUint8 KEventUserActivity = 0x04;
+const TUint8 KEventIdleScreenAvailable = 0x05;
+const TUint8 KEventCardReaderStatus = 0x06;
+const TUint8 KEventLanguageSelection = 0x07;
+const TUint8 KEventBrowserTermination = 0x08;
+const TUint8 KEventDataAvailable = 0x09;
+const TUint8 KEventChannelStatus = 0x0A;
+const TUint8 KEventAccessTechnologyChange = 0x0B;
+
+// Event download - Location status coding
+const TUint8 KLocationStatusNormalService = 0x00;
+const TUint8 KLocationStatusLimitedService = 0x01;
+const TUint8 KLocationStatusNoService = 0x02;
+
+// Event download - Browser termination coding
+const TUint8 KBrowserTerminationUser = 0x00;
+const TUint8 KBrowserTerminationError = 0x01;
+
+// REFRESH;
+const TUint8 KSimInitFullFileChangeNotification = 0x00;
+const TUint8 KFileChangeNotification = 0x01;
+const TUint8 KSimInitFileChangeNotification = 0x02;
+const TUint8 KSimInit = 0x03;
+const TUint8 KSimReset = 0x04;
+const TUint8 KUSIMApplicationReset = 0x05;
+const TUint8 K3GSessionReset = 0x06;
+const TUint8 KMaxPathLength = 16;
+
+// SET UP CALL;
+const TUint8 KSetUpCallIfNotCurrentlyBusy = 0x00;
+const TUint8 KSetUpCallIfNotCurrentlyBusyWithRedial = 0x01;
+const TUint8 KSetUpCallPuttingOtherCallsOnHold = 0x02;
+const TUint8 KSetUpCallPuttingOtherCallsOnHoldWithRedial = 0x03;
+const TUint8 KSetUpCallDisconnectingOtherCalls = 0x04;
+const TUint8 KSetUpCallDisconnectingOtherCallsWithRedial = 0x05;
+const TUint8 KAuthorityFormatIdentifier = 0x50;
+const TUint8 KMinutes = 0x00;
+const TUint8 KSeconds = 0x01;
+const TUint8 KTenthsOfSeconds = 0x02;
+
+// SEND SHORT MESSAGE;
+const TUint8 KSmsPackingRequiredMask = 0x01;
+const TUint8 KDCSAlphabetMask = 0x06;
+const TUint8 KSmsMaxSize = 160;
+const TUint8 KSmsMaxSizeWithoutPacking = 140;
+const TUint8 KSMSCommandMaxSize = 152;
+
+// DISPLAY TEXT,
+const TUint8 KPriorityMask = 0x01;
+const TUint8 KMessageClearMask = 0x80;
+
+// GET INKEY,
+const TUint8 KAlphabetMask = 0x01;
+const TUint8 KUCS2AlphabetMask = 0x02;
+const TUint8 KYesNoMask = 0x04;
+const TUint8 KImmediateDigitResponse = 0x08;
+const TUint8 KHelpAvailabilityMask = 0x80;
+
+// GET INPUT,
+const TUint8 KUserInputMask = 0x04;
+const TUint8 KGetInputSmsPackedMask = 0x08;
+const TUint8 KUCS2DCS = 0x08;
+const TUint8 K7BitDefaultSmsDCS = 0x00;
+const TUint8 K8BitDCS = 0x04;
+
+// SELECT ITEM.
+const TUint8 KSelectItemPresentationTypeMask = 0x03;
+const TUint8 KSelectItemChoiceOfData = 0x01;
+const TUint8 KSelectItemChoiceOfNavigation = 0x03;
+const TUint8 KSelectItemSelectUsingSoftKeyMask = 0x04;
+
+// SET UP MENU.
+const TUint8 KSelectionUsingSoftKey = 0x01;
+
+// TIMER MANAGEMENT
+const TUint8 KDeactivateTimer = 0x01;
+const TUint8 KGetTimerValue = 0x02;
+
+// LAUNCH BROWSER
+const TUint8 KLaunchBrowserIfNotYetLaunched = 0x00;
+const TUint8 KUseExistingBrowser = 0x02;
+const TUint8 KCloseAndLaunchNewBrowser = 0x03;
+
+// PROVIDE LOCAL INFORMATION
+const TUint8 KNetworkModeGsm = 0x00;
+const TUint8 KNetworkModeUtran = 0x03;
+
+// BEARER INDEPENDENT PROTOCOL
+const TUint8 KIPV4 = 0x21;
+const TUint8 KIPV6 = 0x57;
+
+// MO SM CONTROL
+const TUint8 KMoSmCtrlMaxLengthAddr1Addr2 = 249;
+
+// General result
+// All other values are reserved.
+// Results '0X' and '1X' indicate that the command has been performed.
+const TUint8 KCommandPerformedSuccessfully = 0x00;
+const TUint8 KCommandPerformedWithPartialComprehension = 0x01;
+const TUint8 KCommandPerformedWithMissingInformation = 0x02;
+const TUint8 KRefreshPerformedWithAdditionalEfsRead = 0x03;
+const TUint8 KCommandPerformedSuccessfullyIconCouldNotBeDisplayed = 0x04;
+const TUint8 KCommandPerformedButModifiedByCallControlBySim = 0x05;
+const TUint8 KCommandPerformedSuccessfullyLimitedService = 0x06;
+const TUint8 KCommandPerformedWithModification = 0x07;
+const TUint8 KProactiveSimSessionTerminatedByTheUser = 0x10;
+const TUint8 KBackwardMoveInTheProactiveSimSessionRequestedByTheUser = 0x11;
+const TUint8 KNoResponseFromUser = 0x12;
+const TUint8 KHelpInformationRequiredByTheUser = 0x13;
+const TUint8 KUssdOrSsTransactionTerminatedByTheUser = 0x14;
+
+// Results '2X' Indicate To The SIM That It May Be Worth Re-Trying The Command
+// At A Later Opportunity.
+const TUint8 KMeCurrentlyUnableToProcessCommand = 0x20;
+const TUint8 KNetworkCurrentlyUnableToProcessCommand = 0x21;
+const TUint8 KUserDidNotAcceptTheProactiveCommand = 0x22;
+const TUint8 KUserClearedDownCallBeforeConnectionOrNetworkRelease = 0x23;
+const TUint8 KActionInContradictionWithTheCurrentTimerState = 0x24;
+const TUint8 KInteractionWithCallControlBySimTemporaryProblem = 0x25;
+const TUint8 KLaunchBrowserGenericErrorCode = 0x26;
+
+// Results '3X' Indicate That It Is Not Worth The SIM Re-Trying With An
+// Identical Command, As It Will Only Get The Same Response. However, The
+// Decision To Retry Lies With The SIM Application.
+const TUint8 KCommandBeyondMeCapabilities = 0x30;
+const TUint8 KCommandTypeNotUnderstoodByMe = 0x31;
+const TUint8 KCommandDataNotUnderstoodByMe = 0x32;
+const TUint8 KCommandNumberNotKnownByMe = 0x33;
+const TUint8 KSsReturnError = 0x34;
+const TUint8 KSmsRpError = 0x35;
+const TUint8 KErrorRequiredValuesAreMissing = 0x36;
+const TUint8 KUssdReturnError = 0x37;
+const TUint8 KMultiplecardCommandsError = 0x38;
+const TUint8 KSimPermanentProblem = 0x39;
+const TUint8 KBearerIndependentProtocolError = 0x3a;
+
+// Additional information
+// Contents: For the general result "Command performed successfully", some
+// proactive commands require additional information in the command result.
+// This is defined in the subclauses below. For the general results '20', '21',
+// '26', '34', '35', '37', '38' and '39' and '3A', it is mandatory for the ME
+// to provide a specific cause value as additional information, as defined in
+// the subclauses below. For the other general results, the ME may optionally
+// supply additional information. If additional information is not supplied,
+// then the length of the value part of the data object need only contain the
+// general result. See 3GPP TS 11.14 V8.8.0, chapters 12.12.1 - 12.12.11 for
+// more details.
+
+// Additional information for ME problem
+// Additional information for network problem
+// Additional information for SS problem
+const TUint8 KNoSpecificCauseCanBeGiven = 0x00;
+const TUint8 KScreenIsBusy = 0x01;
+const TUint8 KMeCurrentlyBusyOnCall = 0x02;
+const TUint8 KMeCurrentlyBusyOnSsTransaction = 0x03;
+const TUint8 KNoService = 0x04;
+const TUint8 KAccessControlClassBar = 0x05;
+const TUint8 KRadioResourceNotGranted = 0x06;
+const TUint8 KNotInSpeechCall = 0x07;
+const TUint8 KMeCurrentlyBusyOnUssdTransaction = 0x08;
+const TUint8 KMeCurrentlyBusyOnSendDtmfCommand = 0x09;
+
+// Additional information for interaction with call control or MO SM control
+const TUint8 KActionNotAllowed = 0x01;
+const TUint8 KTypeOfRequestHasChanged = 0x02;
+
+// Additional information for MultipleCard commands
+const TUint8 KCardReaderRemovedOrNotPresent = 0x01;
+const TUint8 KCardRemovedOrNotPresent = 0x02;
+const TUint8 KCardReaderBusy = 0x03;
+const TUint8 KCardPoweredOff = 0x04;
+const TUint8 KCApduFormatError = 0x05;
+const TUint8 KMuteCard = 0x06;
+const TUint8 KTransmissionError = 0x07;
+const TUint8 KProtocolNotSupported = 0x08;
+const TUint8 KSpecifiedReaderNotValid = 0x09;
+
+// Additional information for Launch Browser problem
+const TUint8 KBearerUnavailable = 0x01;
+const TUint8 KBrowserUnavailable = 0x02;
+const TUint8 KMeUnableToReadTheProvisioningData = 0x03;
+
+// Additional information for Bearer Independent Protocol
+const TUint8 KNoChannelAvailable = 0x01;
+const TUint8 KChannelClosed = 0x02;
+const TUint8 KChannelIdentifierNotValid = 0x03;
+const TUint8 KRequestedBufferSizeNotAvailable = 0x04;
+const TUint8 KSecurityError = 0x05;
+const TUint8 KRequestedSimMeInterfaceTransportLevelNotAvailable = 0x06;
+
+// Source and Destination device identities are coded as follows:
+const TUint8 KKeypad = 0x01;
+const TUint8 KDisplay = 0x02;
+const TUint8 KEarpiece = 0x03;
+const TUint8 KAdditionalCardReader0 = 0x10;
+const TUint8 KAdditionalCardReader1 = 0x11;
+const TUint8 KAdditionalCardReader2 = 0x12;
+const TUint8 KAdditionalCardReader3 = 0x13;
+const TUint8 KAdditionalCardReader4 = 0x14;
+const TUint8 KAdditionalCardReader5 = 0x15;
+const TUint8 KAdditionalCardReader6 = 0x16;
+const TUint8 KAdditionalCardReader7 = 0x17;
+const TUint8 KChannel1 = 0x21;
+const TUint8 KChannel2 = 0x22;
+const TUint8 KChannel3 = 0x23;
+const TUint8 KChannel4 = 0x24;
+const TUint8 KChannel5 = 0x25;
+const TUint8 KChannel6 = 0x26;
+const TUint8 KChannel7 = 0x27;
+const TUint8 KSim = 0x81;
+const TUint8 KMe = 0x82;
+const TUint8 KNetwork = 0x83;
+
+
+// TLV Specific Data Types
+enum TTlvSpesificDataType
+ {
+ ETLV_TonAndNpi,
+ ETLV_DiallingNumberString,
+ ETLV_AlphaIdentifier,
+ ETLV_SubAddress,
+ ETLV_CapabilityConfigurationParameters,
+ ETLV_CellBroadcastPage,
+ ETLV_CommandNumber,
+ ETLV_TypeOfCommand,
+ ETLV_CommandQualifier,
+ ETLV_SourceDeviceIdentity,
+ ETLV_DestinationDeviceIdentity,
+ ETLV_TimeUnit,
+ ETLV_TimeInterval,
+ ETLV_IdentifierOfItem,
+ ETLV_TextStringOfItem,
+ ETLV_IdentifierOfItemChosen,
+ ETLV_MinimumLengthOfResponse,
+ ETLV_MaximumLengthOfResponse,
+ ETLV_GeneralResult,
+ ETLV_AdditionalInformationOnResult,
+ ETLV_SmsTPdu,
+ ETLV_DataCodingScheme,
+ ETLV_SsOrUssdString,
+ ETLV_TextString,
+ ETLV_Tone,
+ ETLV_UssdString,
+ ETLV_NumberOfFiles,
+ ETLV_Files,
+ ETLV_LocationAreaCode,
+ ETLV_CellIdentityValue,
+ ETLV_MccAndMnc,
+ ETLV_Imei,
+ ETLV_NetworkMeasurementResults,
+ ETLV_DefaultText,
+ ETLV_ItemsNextActionIndicator,
+ ETLV_EventList,
+ ETLV_Cause,
+ ETLV_LocationStatus,
+ ETLV_TransactionIdentifier,
+ ETLV_BcchChannelList,
+ ETLV_IconIdentifier,
+ ETLV_IconQualifier,
+ ETLV_IconListQualifier,
+ ETLV_IconIdentifierList,
+ ETLV_CardReaderStatus,
+ ETLV_CommandClassCLA,
+ ETLV_CommandInstructionCodeIns,
+ ETLV_P1Parameter,
+ ETLV_P2Parameter,
+ ETLV_Lc,
+ ETLV_Data,
+ ETLV_Le,
+ ETLV_RApduData,
+ ETLV_StatusWordSW1,
+ ETLV_StatusWordSW2,
+ ETLV_TimerIdentifier,
+ ETLV_TimerValue,
+ ETLV_DateTimeAndTimeZone,
+ ETLV_AtCommand,
+ ETLV_AtResponse,
+ ETLV_BcRepeatIndicatorValues,
+ ETLV_DtmfString,
+ ETLV_Language,
+ ETLV_MeStatus,
+ ETLV_TimingAdvance,
+ ETLV_BrowserIdentity,
+ ETLV_Url,
+ ETLV_ListOfBearers,
+ ETLV_PathToProvisioningFile,
+ ETLV_BrowserTerminationCause,
+ ETLV_BearerType,
+ ETLV_BearerParameters,
+ ETLV_ChannelDataString,
+ ETLV_ChannelDataLength,
+ ETLV_BufferSize,
+ ETLV_ChannelStatus,
+ ETLV_IdentifierOfCardReader,
+ ETLV_TypeOfAddress,
+ ETLV_Address,
+ ETLV_TransportProtocolType,
+ ETLV_PortNumber,
+ ETLV_NetworkAccessName,
+ ETLV_CallControlRequestedAction,
+ ETLV_Atr,
+ ETLV_AID
+ };
+
+#endif
+
+#ifndef CTLV_H
+#define CTLV_H
+
+// DESCRIPTION
+// TLV Base class. methods common for CTlv and CBerTlv
+
+class CTlvBase : public CBase
+ {
+ public:
+
+ /**
+ * Constructor
+ */
+ CTlvBase();
+
+ /**
+ * Get pointer to TLV data
+ * @return Pointer to TLV data
+ */
+ TPtrC8 Data() const;
+
+ /**
+ * Set TLV data
+ * @param aData: Data to be inserted
+ * @return None
+ */
+ void SetData( TPtrC8 aData );
+
+ /**
+ * Get total size, including tag
+ * @return size
+ */
+ TInt GetSize() const;
+
+ /**
+ * Get tag part of TLV
+ * @return tag value
+ */
+ TUint8 GetTag() const;
+
+ /**
+ * Returns true if comprehension flag is on
+ * @return boolean
+ */
+ TBool GetComprehensionRequired() const;
+
+ /**
+ * Get length part of TLV
+ * @return length
+ */
+ TUint8 GetLength () const;
+
+ /**
+ * Get value part of TLV
+ * @return value
+ */
+ TPtrC8 GetValue() const;
+
+ protected: // Data
+
+ TPtrC8 iData;
+ };
+
+
+// DESCRIPTION
+// CTlv contains methods to read simple TLV data
+
+class CTlv : public CTlvBase
+ {
+ public: // Constructor
+
+ /**
+ * Default constructor
+ */
+ IMPORT_C CTlv();
+
+ public: // Methods
+
+ /**
+ * Returns short info defined by aType.
+ * @param aType: wanted data type.
+ * @return wanted data.
+ */
+ IMPORT_C TUint8 GetShortInfo( TTlvSpesificDataType aType );
+
+ /**
+ * Returns the Data defined by aType. Index and length of the
+ * data depends on data type.
+ * @param aType: data type.
+ * @return pointer to the data.
+ */
+ IMPORT_C TPtrC8 GetData( TTlvSpesificDataType aType );
+
+ /**
+ * Returns long info by aType.
+ * @param aType: data type.
+ * @return returned data
+ */
+ IMPORT_C TUint16 GetLongInfo( TTlvSpesificDataType aType );
+ };
+
+#endif
+
+#ifndef CBERTLV_H
+#define CBERTLV_H
+
+// DESCRIPTION
+// CBerTlv contains methods to read BER-TLV data
+
+class CBerTlv : public CTlvBase
+ {
+
+ public: // Constructor
+
+ /**
+ * Default constructor
+ */
+ IMPORT_C CBerTlv();
+
+ public: // Methods
+
+ /**
+ * Find TLV by tag value
+ * @param aTlv:
+ * @param aTlvTag: TlvTag
+ * @param aItemNbr: number of requested TLV, default is 0
+ * @return TInt: KErrNone or KErrNotFound
+ */
+ IMPORT_C TInt TlvByTagValue( CTlv* aTlv, TUint8 aTlvTag,
+ TInt aItemNbr = 0 );
+
+ /**
+ * Find several TLVs by tag value
+ * @param aSubBlock: retruns TLVs
+ * @param aSubBlockId: TlvTag
+ * @return TInt: KErrNone or KErrNotFound
+ */
+ IMPORT_C TInt TlvByTagValueMulti( CTlv* aTlv, TUint8 aTlvTag );
+ };
+
+#endif
+
+#ifndef TSATUTILITY_H
+#define TSATUTILITY_H
+
+// CONSTANTS
+const TUint8 KZeroCharacterCode = 0x30;
+const TUint8 KPacked7BitTextMask = 0x0C;
+const TUint8 KCrShiftedOneBitToLeft = 0x1A;
+const TUint8 KUCS2TextCodingMask = 0x08;
+const TUint8 KUCS2ArabicCoding = 0x80;
+const TUint8 KUCS2GreekCoding = 0x81;
+const TUint8 KUCS2TurkishCoding = 0x82;
+// The card ID is always zero as long as only one supported
+const TUint8 KCardId0 = 0x00;
+
+// From 3GPP TS 51.11, 9.4.2 Responses to commands which are postponed
+const TUint8 KSw1SatBusy = 0x93;
+
+// From 3GPP TS 03.40, 9.2.3.22 TP Failure Cause (TP FCS)
+// SMS-PP SIM DDL error
+const TUint8 KSmsPpSimDdlError = 0xD5;
+// SMSP-PP SAT busy
+const TUint8 KSmsPpSatBusy = 0xD4;
+
+// From 3GPP TS 11.11, 9.4 Status conditions returned by the card
+const TUint8 KSw1NormalEnding = 0x90;
+const TUint8 KSw2NormalEnding = 0x00;
+
+// From 3GPP TS 11.10-4, 27.22.8 MO SHORT MESSAGE CONTROL BY SIM
+const TUint8 KMoSmCtrlResultAllowed = 0x00;
+const TUint8 KMoSmCtrlResultNotAllowed = 0x01;
+const TUint8 KMoSmCtrlResultAllowedWithModifications = 0x02;
+
+// From 3GPP TS 22.030 7.0.0 Structure of the MMI (Annex B)
+const TUint16 KSsAllForwardings = 0x0002;
+const TUint16 KSsAllCondForwardings = 0x0004;
+const TUint16 KSsForwUnconditional = 0x0015;
+const TUint16 KSsForwBusy = 0x0043;
+const TUint16 KSsForwNoReply = 0x003D;
+const TUint16 KSsForwNotReachable = 0x003E;
+
+// TON NPI
+// This just indicates that the TON NPI value is not set, TSY specific def.
+const TUint8 KTonNpiNotSet = 0xff;
+// From 3GPP TS 27.007-460, 8.33 Set Voice Call Number +CSVM
+const TUint8 KTonNpiInternational = 0x91;
+const TUint8 KTonNpiUnknown = 0x81;
+
+// General string length limitations
+const TUint8 KMaxAddressLength = 255;
+// From 3GPP TS 23.038-450, 6.1.2.3 USSD packing
+// String max length 160b + additional info in TR (1b) and DCS in PCmd (1b)
+const TUint8 KMaxUssdStringLengthInChars = 182;
+const TUint8 KMaxUssdStringLengthInBytes = 161;
+// Etel accepts SS strings with maximum length 242
+const TUint8 KMaxSSStringLength = 242;
+const TUint8 KSizeOfConversionArray = 63;
+const TUint8 KNumberMaxLength = 123;
+const TUint8 KOperatorCodeLength = 3;
+const TUint8 KAsciiBcdTableLength = 15;
+
+// This applies for Parameters, DCS and Protocol ID (3GPP TS 23.038, 5 CBS Data
+// Coding Scheme; 3GPP TS 23.040, 9.2.3.9 TP Protocol Identifier (TP PID);
+// 3GPP TS 23.040, 9.2.3.1 - 9.2.3.5
+const TUint8 KSmsTpduByteUnknownOrReserved = 0xFF;
+
+// Constants used in bit operations
+const TUint8 KMaskF0 = 0xF0;
+
+// Bcd->ascii translation table
+static const TUint8 KAscii[16] =
+ {
+ '0', '1', '2', '3', '4', '5', '6', '7',
+ '8', '9', '*', '#', 'p', 'w', '.', 0
+ };
+
+// 3GPP TS 11.11, EFadn
+static const TUint8 KAsciiToBCD[KAsciiBcdTableLength][2] =
+ {
+ { '0', 0x00 }, { '1', 0x01 }, { '2', 0x02 }, { '3', 0x03 },
+ { '4', 0x04 }, { '5', 0x05 }, { '6', 0x06 }, { '7', 0x07 },
+ { '8', 0x08 }, { '9', 0x09 }, { '*', 0x0A }, { '#', 0x0B },
+ { 'p', 0x0C }, /*DTMF*/
+ { 'w', 0x0D }, /*Wild*/
+ { '.', 0x0E }, /*RFU*/ };
+
+// GSM 7-bit ->unicode translation table
+// See 3GPP TS 23.038
+static const TUint16 KUnicode[128] =
+ {
+ 0x0040, 0x00A3, 0x0024, 0x00A5, 0x00E8, 0x00E9, 0x00F9, 0x00EC,
+ 0x00F2, 0x00C7, 0x000A, 0x00D8, 0x00F8, 0x000D, 0x00C5, 0x00E5,
+ 0x0394, 0x005F, 0x03A6, 0x0393, 0x039B, 0x03A9, 0x03A0, 0x03A8,
+ 0x03A3, 0x0398, 0x039E, 0x001B, 0x00C6, 0x00E6, 0x00DF, 0x00C9,
+ 0x0020, 0x0021, 0x0022, 0x0023, 0x00A4, 0x0025, 0x0026, 0x0027,
+ 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
+ 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
+ 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
+ 0x00A1, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
+ 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
+ 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
+ 0x0058, 0x0059, 0x005A, 0x00C4, 0x00D6, 0x00D1, 0x00DC, 0x00A7,
+ 0x00BF, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
+ 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
+ 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
+ 0x0078, 0x0079, 0x007A, 0x00E4, 0x00F6, 0x00F1, 0x00FC, 0x00E0
+ };
+
+
+static const TUint16 KUnicode16ToSms7[63][2] =
+ {
+ { 0x0040, 0x00 }, { 0x00A3, 0x01 }, { 0x0024, 0x02 }, { 0x00A5, 0x03 },
+ { 0x00E8, 0x04 }, { 0x00E9, 0x05 }, { 0x00F9, 0x06 }, { 0x00EC, 0x07 },
+ { 0x00F2, 0x08 }, { 0x00C7, 0x09 }, { 0x00D8, 0x0B }, { 0x00F8, 0x0C },
+ { 0x21B5, 0x0D }, { 0x000D, 0x0D }, { 0x2029, 0x0D }, { 0x00C5, 0x0E },
+ { 0x00E5, 0x0F }, { 0x0394, 0x10 }, { 0x005F, 0x11 }, { 0x03A6, 0x12 },
+ { 0x0393, 0x13 }, { 0x039B, 0x14 }, { 0x03A9, 0x15 }, { 0x03A0, 0x16 },
+ { 0x03A8, 0x17 }, { 0x03A3, 0x18 }, { 0x0398, 0x19 }, { 0x039E, 0x1A },
+ { 0x00C6, 0x1C }, { 0x00E6, 0x1D }, { 0x00DF, 0x1E }, { 0x00C9, 0x1F },
+ { 0x00A4, 0x24 }, { 0x00A1, 0x40 }, { 0x00C4, 0x5B }, { 0x00D6, 0x5C },
+ { 0x00D1, 0x5D }, { 0x00DC, 0x5E }, { 0x00A7, 0x5F }, { 0x00BF, 0x60 },
+ { 0x00E4, 0x7B }, { 0x00F6, 0x7C }, { 0x00F1, 0x7D }, { 0x00FC, 0x7E },
+ { 0x00E0, 0x7F }, { 0x007B, 0x1B }, { 0x007B, 0x28 }, { 0x007D, 0x1B },
+ { 0x007D, 0x29 }, { 0x005B, 0x1B }, { 0x005B, 0x3C }, { 0x007E, 0x1B },
+ { 0x007E, 0x3D }, { 0x005D, 0x1B }, { 0x005D, 0x3E }, { 0x005C, 0x1B },
+ { 0x005C, 0x2F }, { 0x005E, 0x1B }, { 0x005E, 0x14 }, { 0x007C, 0x1B },
+ { 0x007C, 0x40 }, { 0x20AC, 0x1B }, { 0x20AC, 0x65 }
+ };
+
+// SMS data coding schemes
+enum TSmsDcs
+ {
+ ESmsUnknownOrReservedDcs = KSmsTpduByteUnknownOrReserved,
+ ESms7BitDcs = 0x00,
+ ESms8BitDcs = 0x04,
+ ESms16BitDcs = 0x08
+ };
+
+// DESCRIPTION
+/**
+* This class includes small aid fuctions
+* @since S60 3.1
+*/
+class TSatUtility
+ {
+
+ public: // New functions
+
+ /**
+ * Map TON and NPI to RSat TON and NPI values
+ * @param aTonAndNpi: Source TON and NPI
+ * @param aTon: Mapped Type of number
+ * @param aNpi: Mapped Numbering plan
+ */
+ IMPORT_C static void TonAndNpi( TInt aTonAndNpi,
+ RSat::TTypeOfNumber* aTon,
+ RSat::TNumberingPlan* aNpi );
+
+ /**
+ * Converts 7-bit packed string to 8-bit unpacked format
+ * @param aSource: Pointer to the const data
+ * @param aTarget converted 8-bit unpacked string
+ * @return KErrNone or KErrOverflow if string was too long
+ */
+ IMPORT_C static TInt Packed7to8Unpacked( const TPtrC8 aSource,
+ TDes8& aTarget );
+
+ /**
+ * Converts UCS2 string to 7-bit packed format
+ * @param aInput: is source
+ * @param aOutput: converted 7-bit packed string
+ */
+ IMPORT_C static void UCSToPacked7( const TPtrC aInput,
+ TDes8& aOutput );
+
+ /**
+ * Converts Binary Coded Decimal to ASCII
+ * @param aInput is source
+ * @param aOutput converted 8-bit string
+ * @return KErrNone or KErrOverflow if string was too long
+ */
+ IMPORT_C static TInt BCDToAscii( const TPtrC8 aInput, TDes8& aOutput );
+
+ /**
+ * Converts Ascii string to Binary Coded Decimal
+ * @param aInput is source
+ * @param aOutput converted 8-bit string
+ * @return KErrNone or KErrOverflow if string was too long
+ */
+ IMPORT_C static TInt AsciiToBCD( const TDesC8& aInput,
+ TDes8& aOutput );
+
+ /**
+ * Remove Wild 'w' and Expansion digit '.' from EFadn string.
+ * @param aInput is source
+ * @param aOutput converted 8-bit string
+ */
+ IMPORT_C static void RemoveWildAndExpansionDigit( const TPtrC8 aInput,
+ TDes8& aOutput );
+
+ /**
+ * Set Alpha identifier as a Unicode text string
+ * and according to the alphabet used
+ * @param aRawData input data that was extracted with
+ * ETLV_AlphaIdentifier
+ * @param aAlphaId output
+ */
+ IMPORT_C static void SetAlphaId( const TPtrC8 aRawData, TDes& aAlphaId );
+
+ /**
+ * Convert integer to BCD format. If number is more than 100 only last
+ * two digits is converted.
+ * @param aTime time
+ * @return converted BCD value
+ */
+ IMPORT_C static TUint8 ConvertToSemiOctet( const TInt aTime );
+
+ /**
+ * Browse a text in Unicode format, and for some specific characters
+ * replace with the correct byte value
+ * @param aInput: GSM 7 bit default alphabet string
+ * @param aOutput: Unicode 16 string
+ */
+ IMPORT_C static void Convert7BitToUnicode16( const TDesC8& aInput,
+ TDes16& aOutput );
+
+ /**
+ * Converts unicode16 string to 7 bit character mode
+ * @param aInput: Unicode 16 string
+ * @param aOutput: Resulting GSM 7 bit default alphabet string
+ * @return KErrNone or KErrOverflow (input string is too long)
+ */
+ IMPORT_C static TInt ConvertUnicode16To7Bit( const TDesC16& aInput,
+ TDes8& aOutput );
+
+ /**
+ * Fill in a TDuration structure
+ * @param aBerTlv tlv containing duration data
+ * @param aTDuration duration structure
+ */
+ IMPORT_C static void FillDurationStructure( CBerTlv& aBerTlv,
+ RSat::TDuration& aTDuration );
+
+ /**
+ * Fill in a TIconId structure
+ * @param aBerTlv data containing icon address data
+ * @param aTIconId icon id structure
+ * @param aItemNmb item number
+ */
+ IMPORT_C static void FillIconStructure( CBerTlv& aBerTlv,
+ RSat::TIconId& aTIconId, const TInt aItemNmb = 0 );
+
+ /**
+ * Set Text string as a Unicode text string
+ * @param aTextString text string
+ * @param aText unicode output text string
+ */
+ IMPORT_C static void SetText( CTlv& aTextTlv, TDes& aUnicodeOutput );
+
+ /**
+ * Convert Alpha field text string to a Unicode text string.
+ * @param aSource text string
+ * @param aText unicode output text string
+ */
+ IMPORT_C static void ConvertAlphaFieldsToUnicode(
+ const TDesC8& aSource, TDes& aTarget );
+
+ /**
+ * Copy from 16 bit descriptor to 8 bit descriptor with little endian.
+ * Function uses Append method.
+ * @param aSource: source
+ * @param aTarget: target
+ * @return KErrNone or KErrOverflow if string was too long
+ */
+ IMPORT_C static TInt Copy16to8LE( const TDesC16& aSource,
+ TDes8& aTarget );
+
+ /**
+ * Copy from 8 bit descriptor to 16 bit descriptor with little endian.
+ * Function uses Append method.
+ * @param aSource: source
+ * @param aTarget: target
+ * @return KErrNone or KErrOverflow if string was too long
+ */
+ IMPORT_C static TInt Copy8to16LE( const TDesC8& aSource,
+ TDes16& aTarget );
+
+ /**
+ * Finds whether the data coding scheme, coded in CBS format,
+ * is 7-bit, 8-bit or 16-bit
+ * @param aDcs Input data coding scheme
+ * @return Converted DCS ( SMS format )
+ */
+ IMPORT_C static TSmsDcs DecodeCbsDcs( const TUint8 aDcs );
+
+ /**
+ * Gets 8 bit byte and copy it to the 16 bit byte with right endian.
+ * @param aSource: source
+ * @param aTarget: target
+ * @param aIndex: index
+ * @return KErrNone or KErrOverflow if string was too long
+ */
+ IMPORT_C static TInt CopyTwo8toOne16LE( const TDesC8& aSource,
+ TUint16& aTarget, const TInt aIndex );
+ };
+
+#endif
+
+const TUint8 KLaunchBrowserCmdQualifierNotUsed = 0x01;
+const TUint8 KLaunchBrowserCmdQualifierReserved = 0x04;
+const TUint8 KCsdBearer = 0x01;
+const TUint8 KGprsBearer = 0x03;
+
+const TUint8 KOnlyIfNotBusy = 0x00;
+const TUint8 KOnlyIfNotBusyWithRedial = 0x01;
+const TUint8 KHoldOtherCalls = 0x02;
+const TUint8 KHoldOtherCallsWithRedial = 0x03;
+const TUint8 KDisconnectOtherCalls = 0x04;
+const TUint8 KDisconnectOtherCallsWithRedial = 0x05;
+
+const TUint8 KSpecificLanguage = 0x01;
+const TUint8 KBipCsdBearer = 0x01;
+const TUint8 KBipGprsBearer = 0x02;
+const TUint8 KBipDefaultBearer = 0x03;
+const TUint8 KBipLocalLinkBearer = 0x04;
+const TUint8 KBipSendDataImmediately = 0x01;
+
+const TUint8 KNoCause = 0x00;
+const TUint8 KSmsVPFRelative = 0x10;
+const TUint8 KSmsVPFEnhanced = 0x08;
+const TUint8 KSmsVPFAbsolute = 0x18;
+//const TUint8 KMaxAddressLength = 255;
+const TUint8 KMaxCommandDetailsLength = 5;
+const TInt KImeiLength=16; //the structure defined in CSatNotifyLocalInfo was 16 bytes however ETSI TS 123 003 V7.7.0 specifies 15 bytes for IMEIs.
+//const TUint8 KOperatorCodeLength = 3;
+const TUint8 KAdditionalInfoMaxSize = 244;
+
+typedef TBuf8<KImeiLength> TImeiBuf;
+
+const TUint8 KMaxBccLength = 16;
+const TUint16 KMaxLengthDefaultBearerData = 258;
+
+
+// Max address length
+const TUint8 KAddrMaxLength = 255;
+
+/*
+* This structure contains local information.
+* Used in event handling and by CSatNotifyLocalInfo
+*/
+struct TLocalInformation
+ {
+ TUint16 iLocationAreaCode; // Location area code
+ TUint16 iCellId; // Cell Id
+ TBuf8<KOperatorCodeLength> iOperatorCode; // Operator code
+ };
+
+
+struct TTerminalRespData
+ {
+ // Proactive command number
+ TUint8 iPCmdNumber;
+ // Command details tlv
+ TBuf8<KMaxCommandDetailsLength>iCommandDetails;
+ // General result for NotifySetUpEventList
+ TUint8 iGeneralResult;
+ // Additional info
+ TBuf<KAdditionalInfoMaxSize> iAdditionalInfo;
+ };
+
+//icon defs
+const TUint8 KGetIconDataPckgLength = 2;
+const TUint8 KIconInfoLength = 6;
+const TUint8 KBasicIconDataLength = 2;
+const TUint8 KColourIconDataLength = KIconInfoLength;
+const TUint8 KFilePathLength = 8;
+/**
+ * Used for Location Status
+ */
+const TUint8 KCountryCodeLength = 3;
+
+
+/*
+* The data in this structure contains information
+* needed in Get Icon, Get image instance and get clut.
+*/
+struct TIconInfo
+ {
+ TUint16 iOffset; // Offset
+ TUint16 iLength; // Length
+ TBuf8<KFilePathLength> iSimFilePath; // Sim file path
+ };
+
+
+enum TSsStatus
+ {
+ ENotBusy,
+ ESsBusy,
+ EUssdBusy
+ };
+
+enum TCachedSimAtkFiles
+ {
+ ECacheEFSST = 0x01, // EF-SST, (U)SIM Service table
+ ECacheEFCBMID = 0x02,// EF-CBMID, CB DataDownload message IDs
+ // Next 0x04, 0x08 etc..
+ };
+
+/**
+* This Structure provides Refresh specific information
+* Used: CSatNotifyRefresh::RefreshAllowed()
+*/
+
+struct TRefreshInfo
+ {
+ TBuf8<RSat::KRefreshedFileListMaxSize> iFileList;
+ TBuf8<RSat::KAidMaxSize> iAid;
+ TUint16 iInternalCache;
+ };
+
+/*
+* This structure contains data needed for LocationStatus
+* envelope. (used by EventDownload and MoSmContol)
+*/
+struct TLocationStatusEnvelope
+ {
+ TUint8 iLocationStatus; // Location satus
+ TBuf8<KCountryCodeLength> iCountryCode; // Country code
+ TUint16 iLocationAreaCode;// Location area code
+ TUint16 iCellId; // Cell id
+ };
+
+
+const TUint8 KMaxCauseLength = 248;
+
+/**
+* This structure contains data needed for CallDisconnected
+* envelope.
+*/
+struct TCallDisconnectedEnvelope
+ {
+ TUint8 iCmdNumber; // Command number
+ TBool iNearEnd; // MO flag
+ TBool iCauseGiven; // Cause given
+ TBuf8<KMaxCauseLength> iCause; // Cause
+ };
+
+/**
+ * This structure contains data needed for MTCall
+ * envelope.
+ */
+ struct TMTCallEnvelope
+ {
+ TUint8 iCmdNumber; // Command number
+ TUint8 iTONandNPI; // Ton and Npi
+ TBuf8<KNumberMaxLength> iDiallingNumber;// Calling Party BCD number
+ TPtrC8 iCalledPartySubAddress; // Calling Party Subaddress
+ };
+
+ /*
+ * This structure contains the address data of the service center
+ * needed for MO-SMS Control envelope.
+ */
+ struct TAddressData
+ {
+ TPtrC8 iRPDestinationAddr; // RP Destination Address
+ TPtrC8 iTPDestinationAddr; // TP Destination Address
+ };
+
+ /**
+ * The data in this structure is used for a response to the NAA for a
+ * MO SM Control notification request. The possible values of the
+ * result are defined in TSatUtility.h
+ */
+ struct TMoSmCtrlData
+ {
+ TAddressData iAddressData; // RP and TP Destination addresses
+ RSat::TAlphaId* iAlphaId; // Pointer to the Alpha ID object
+ TBool iIsAlphaIdEmpty; // Declares id Alpha ID is empty
+ TUint8 iResult; // MO SM Ctrl Result,
+ };
+
+
+/*
+* This structure contains information needed in constructing Call
+* Control (call/SS/USSD) Envelope and handling the call control events.
+*/
+struct TCCInfo
+ {
+ TUint8 iTag; // Tag of envelope
+ TBuf8<KMaxBccLength> iBcc1; // For storing bearer capability 1
+ TBuf8<KMaxBccLength> iBcc2; // For storing bearer capability 2
+ TBuf8<KMaxAddressLength> iAddress; // For storing address
+ TUint8 iTonNpi; // For storing ton&npi
+ TUint8 iDcs; // For storing DCS (only USSD)
+ };
+
+
+typedef TBuf8<16> TNmrBuf;
+typedef TBuf<32> TBcchListBuf;
+
+// Cell Broadcast isi msg length
+const TUint8 KCbsMsgMaxLength = 92;
+
+
+// --------------
+
+// INCLUDES
+#include <e32base.h> // Etel base
+
+// CONSTANTS
+
+// The internal SAT IPC values are agreed to be between 1001600 - 1002000
+// See ETel_Telephony_Server_Design.doc, chapter 6.3 Policing Custom APIs
+const TInt KSatInternalIpcOffset = 1001600;
+const TInt KSatInternalIpcMaxOffset = 1002000;
+
+// Contains IPC definitions used by SAT TSY Layering.
+
+// TSatTsyLayerIPC enumerates IPC values used by SAT API.
+enum TSatTsyLayerIPC
+ {
+ ESatTsyReady = KSatInternalIpcOffset,
+ ESatTsyPCmd,
+ ESatTsyTimerExpiredIPC,
+ ESatTsyGetIfPendingNotification,
+ ESatTsyGetBearerCapability,
+ ESatTsyGetIMEI, // 1001605
+ ESatTsyTimeZone,
+ ESatTsyTimingAdvance,
+ ESatTsyCreateEnvelope,
+ ESatTsySendEnvelope,
+ ESatTsyEnvelopeError, // 1001610
+ ESatTsyMoSmControlEnvelope,
+ ESatTsyCallConnected,
+ ESatTsyCallDisconnected,
+ ESatTsyLocationStatus,
+ ESatTsyMTCall, // 1001615
+ ESatTsyAccessTechnologyChange,
+ ESatTsyCellBroadcast,
+ ESatTsySmsPpDdl,
+ ESatTsyReadCbmids,
+ ESatTsyNetStatus, // 1001620
+ ESatTsyProvideLocalInfo,
+ ESatTsyLocalInformationNmr,
+ ESatTsyAccTech,
+ ESatTsyNotifyLocalInfo,
+ ESatTsyServiceRequest, // 1001625
+ ESatTsyRefresh,
+ ESatTsyCompleteRefresh,
+ ESatTsySetPolling,
+ ESatTsySetProactiveCommandOnGoingStatus,
+ ESatTsyGetIconData, // 1001630
+ ESatTsyGetImageInstance,
+ ESatTsyGetClut,
+ ESatTsyCallControlActivation,
+ ESatTsyMoSmsControlActivation,
+ ESatTsyUssdControlActivation, // 1001635
+ ESatTsySmsPpDdlStatus,
+ ESatTsySsStatus,
+ ESatTsyUssdStatus,
+ ESatTsyImsiChanged,
+ ESatTsyCheckAtkDataForAlphaId, // 1001640
+ ESatTsyCallEvent,
+ ESatTsySSEvent,
+ ESatTsyUSSDEvent,
+ ESatTsyEmergencyNbrCheck,
+ ESatTsyFdnStatusCheck, // 1001645
+ ESatTsyRemoveEventList,
+ ESatTsySmsDeliverReport
+ }; // end enum TSatTsyLayerIPC
+
+
+#endif /*SAT_DEFS_H_*/