mobilemessaging/smum/inc/SmumServiceCentresDialog.h
changeset 0 72b543305e3a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mobilemessaging/smum/inc/SmumServiceCentresDialog.h	Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,202 @@
+/*
+* Copyright (c) 2002-2008 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:  
+*     Service Centres dialog.
+*
+*/
+
+
+
+#ifndef SMUMSERVICECENTRESDIALOG_H
+#define SMUMSERVICECENTRESDIALOG_H
+
+//  INCLUDES
+#include <AknForm.h>    // CAknDialog
+#include <eiklbo.h>     // MEikListBoxObserver
+#include "SMSETDLG.H"   // TSmumSCNameInfo, TSmsSettingSCNames, CSmumSCArray
+
+#include <bldvariant.hrh>
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+enum TSmumScDeletionValues
+    {
+    ESmumScNormalDelete = 0,
+    ESmumScLastOne,
+    ESmumScInUse
+    };
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+class CMuiuSettingsArray;
+class CEikTextListBox;
+class CSmsSettings;
+class CAknTitlePane;
+
+// CLASS DECLARATION
+
+/**
+*  Message centre's general settings dialog.
+*/
+NONSHARABLE_CLASS( CSmumServiceCentresDialog ) :
+    public CAknDialog,
+    public MEikListBoxObserver
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Constructor.
+        */
+        static CSmumServiceCentresDialog* NewL( 
+            CSmsSettings& aSettings,
+            TInt& aExitCode,
+            TInt aMenuTitleResourceId,
+            TBool aHelpFeatureSupported,
+            TBool aSimSCsOnly = EFalse );
+
+        /**
+        * Destructor.
+        */
+        ~CSmumServiceCentresDialog();
+
+    protected:  // Functions from base classes
+        
+        /**
+        * From CAknDialog
+        */
+        void ProcessCommandL(TInt aCommandId);
+
+        /**
+        * From CAknDialog
+        */
+        void DynInitMenuPaneL(TInt aMenuId, CEikMenuPane* aMenuPane);
+        
+        /**
+        * From CEikDialog
+        */
+        void PreLayoutDynInitL();
+
+        /**
+        * From CEikDialog
+        */
+        TBool OkToExitL(TInt aButtonId);
+
+        /**
+        * From MEikListBoxObserver
+        */
+        void HandleListBoxEventL(
+            CEikListBox* aListBox, 
+            TListBoxEvent aEventType);
+
+        /**
+        * From CAknDialog
+        */
+        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+        
+        /**
+        * From CCoeControl, returns help context
+        */
+        void GetHelpContext(TCoeHelpContext& aContext) const; 
+
+    private: // new functions
+        
+        /**
+        * Launch add SC dialog.
+        * @param none
+        * @return nothing
+        */
+        void AddServiceCentreL();
+
+        /**
+        * Launch edit SC dialog.
+        * @param none
+        * @return nothing
+        */
+        void EditServiceCentreL();
+
+        /**
+        * Delete service centre.
+        * @param none
+        * @return nothing
+        */
+        void DeleteServiceCentreL();
+
+        /**
+        * Launch list query for the user to choose new SC in use.
+        * @param none
+        * @return nothing
+        */
+        void LaunchScInUseListQueryL();
+
+        /**
+        * Updates the service centre array to Sms Settings.
+        * @param none
+        * @return nothing
+        */
+        void ClosingServiceCentresDialogL() const;
+         
+        /**
+        * By default Symbian OS constructor is private.
+        */
+        void ConstructL(TInt aMenuTitleResourceId);
+        CSmumServiceCentresDialog( 
+        	CSmsSettings& aSettings, 
+        	TInt& aExitCode, 
+        	TBool aHelpFeatureSupported, 
+        	TBool aSimSCsOnly /*= EFalse*/);
+
+        /** 
+        * Launches help application
+        */
+        void LaunchHelpL();
+  
+        /** 
+        * Updates Middle softkey visibility
+        */                        
+        void UpdateButtonVisibility();
+        
+        /** 
+        * Does delayed exit after specified delay
+        * @since S60 v5.0
+        * @param aDelayTime Requested delay in microseconds
+        */ 
+        void DoDelayedExitL( const TInt aDelay );
+        
+        /** 
+        * Used for exiting application properly
+        * @since S60 v5.0
+        * param aThis Pointer to this AppUi
+        */         
+        static TInt DelayedExit( TAny* aThis );
+        
+    private:  // Data
+        CEikTextListBox*    iListBox;
+        CSmumSCArray*       iSCAddressesList;
+        CSmsSettings&       iSettings;
+        CAknTitlePane*      iTitlePane;
+        HBufC*              iPreviousTitleText;
+        TInt&               iExitCode;
+        TBool               iHelpFeatureSupported;
+        TBool				iSimSCsOnly;
+        TBool				iMSKEnabledInPlatform;
+        CPeriodic*          iIdle; 
+        };
+#endif // SMUMSERVICECENTRESDIALOG_H
+            
+// End of File