diff -r 000000000000 -r 72b543305e3a mobilemessaging/smum/inc/SMSUCDMA.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobilemessaging/smum/inc/SMSUCDMA.H Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,161 @@ +/* +* Copyright (c) 2002 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: +* Sms Mtm Ui. +* +*/ + + + +#if !defined(__SMSUCDMA_H__) +#define __SMSUCDMA_H__ + +#if !defined(__MTMUIBAS_H__) +#include // CBaseMtmUi +#endif + +#include "smsu.h" +// CLASS DECLARATION + +/** +* CSmsMtmUiCDMA +* Inherited from CSmsMtmUi +* MTM implementation for CDMA SMS +* Overloads the GSM method for lauching CDMA specific settings dialog and RFS functionalities +*/ +NONSHARABLE_CLASS(CSmsMtmUiCDMA) : public CSmsMtmUi + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CSmsMtmUiCDMA* NewL(CBaseMtm& aBaseMtm,CRegisteredMtmDll& aRegisteredMtmDll); + + /** + * Destructor. + */ + virtual ~CSmsMtmUiCDMA(); + + public: // Functions from base classes + + /** + * From CSmsMtmUi + * Context-specific + */ + CMsvOperation* OpenL(TRequestStatus& aStatus); + + /** + * From CSmsMtmUi + */ + void InvokeSyncFunctionL(TInt aFunctionId, const CMsvEntrySelection& aSelection, TDes8& aParameter); + + private: // New functions + /** + * Launch the service settings dialog on the current entry + * @param aStatus follows the operation progress + * @return pointer to started operation + */ + CMsvOperation* LaunchSettingsDialogL( TRequestStatus& aStatus ); + + /** + * Creates Sms Service + * @param aNoServiceNoCheckNeeded is check needed or not + * @return id of service + */ + TMsvId CreateSmsServiceL( TBool aNoServiceNoCheckNeeded ); + + /** + * Actual Sms service default creator + * @param aServiceId of service + */ + void CreateDefaultSettingsL( TMsvId aServiceId ); + + /** + * Reads default / variated settings from shared data + * @param aServiceSettings pointer to service + */ + void ReadDefaultSettingsFromSharedDataL( CSmsSettings* aServiceSettings ); + + /** + * Take the name and number fields from the recipients array and concaternate them + * together, putting <> around the numbers and separating recipients with a comma + * @return pointer to descriptor + */ + HBufC* TurnRecipientsArrayIntoStringLC( + const CArrayPtrFlat& aRecip, + const TBool aEmailMessage = EFalse ) const; + + /** + * Returns a pointer to Sms Client Mtm + * @return reference to Sms Client Mtm + */ + inline CSmsClientMtm& SmsClientMtm() const { return (CSmsClientMtm&)BaseMtm();}; + + /** + * Checks do we have sms service and store for it, if not creates (if wanted) + * one with default settings + * @param aCreateService if missing create one + * @param aCreateStore if missing create one + * @param aFetchSMSCs if something recreated fetch SMSCs from SIM + * @return TInt enum TSmumSmsReCreation tells what was done + */ + TInt CheckAndEnsureSmsServiceOkL( + TBool aCreateService, + TBool aCreateStore, + TBool aFetchSMSCs ); + + /** + * Determines the current MO state of a SMS message + * @param aContext SMS message Context + * @return HBufC* Pointer to the string describing the current status + */ + HBufC* StatusTextL( const TMsvEntry& aContext ) const; + + /** + * Extracts all the required data from the mtm, populates a message info array + * and passes this array to the message info dialog class which displays the + * dialog. + * This is used for sms's and also created bio messages (which use sms as the + * bearer). + * @return + */ + void ConstructAndShowInfoDialogL() const; + + private: + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL(); + + /** + * Constructor (accessible only through factory function) + */ + CSmsMtmUiCDMA(CBaseMtm& aBaseMtm,CRegisteredMtmDll& aRegisteredMtmDll); + + private: // Data + // iNoCallbackNumber is a string, read from loc file, to be displayed + // when there is no callback number set + HBufC* iNoCallbackNumber; + // Message Queue + TBool iMsgQueueEnabled; + TInt iMsgQueueTimeout; + }; + +#endif // __SMSUCDMA_H__ + + + +// End of File