mobilemessaging/smum/inc/SMSUCDMA.H
changeset 0 72b543305e3a
--- /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 <MTMUIBAS.H>                    // 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<CSmsNumber>& 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