diff -r 4a8d14a1a8ca -r ab1d0f4d2aa4 Telephony/ctsydispatchlayer/exportinc/mltsydispatchsmsinterface.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 +#include + +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_*/