--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingappbase/mcesettings/inc/MceSettingsMtmServicesDialog.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,153 @@
+/*
+* 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:
+* Dialog for handling services of certain mtm (if possible to create services).
+*
+*/
+
+
+
+#ifndef __MCESETTINGSMTMSERVICESDIALOG_H__
+#define __MCESETTINGSMTMSERVICESDIALOG_H__
+
+// INCLUDES
+
+#include "MceSettingsTitlePaneHandlerDialog.h"
+#include <ImumInternalApi.h>
+#include <ImumInHealthServices.h>
+class CMceSettingsMultipleServicesDialog;
+
+// CONSTANTS
+const TInt KMceMaxNumberOfMailboxes = 6;
+
+// FORWARD DECLARATIONS
+
+class MMceSettingsAccountManager;
+class CMceUidNameArray;
+
+// CLASS DECLARATION
+
+class CMceSettingsMtmServicesDialog :
+ public CMceSettingsTitlePaneHandlerDialog,
+ public MMsvSessionObserver
+ {
+ public:
+
+ /**
+ * Constructor.
+ */
+ CMceSettingsMtmServicesDialog (
+ TUid aMessageType,
+ MMceSettingsAccountManager& aManager,
+ CMsvSession* aSession,
+ CMceSettingsMultipleServicesDialog& aParent );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CMceSettingsMtmServicesDialog();
+
+ /**
+ * From CEikDialog
+ */
+ virtual TBool OkToExitL(TInt aButtonId);
+
+ /**
+ * From MEikListBoxObserver
+ */
+ virtual void HandleListBoxEventL(
+ CEikListBox* aListBox,
+ TListBoxEvent aEventType );
+
+ /**
+ * From CAknDialog
+ */
+ void ProcessCommandL( TInt aCommandId );
+
+ /**
+ * From CAknDialog
+ */
+ void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+ /**
+ * From CEikDialog
+ */
+ TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,TEventCode aType );
+
+ /**
+ * MMsvSessionObserver
+ */
+ void HandleSessionEventL( TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3 );
+
+ /**
+ * From CoeControl
+ */
+ void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+ /**
+ * Updates services array
+ */
+ virtual void UpdateServicesArrayL();
+
+ protected:
+
+ /**
+ * From CEikDialog
+ */
+ virtual void PreLayoutDynInitL();
+
+ private:
+
+ /**
+ * Launches help application
+ */
+ void LaunchHelpL() const;
+
+ /**
+ * Set special MSK button
+ * @since S60 3.2
+ */
+ void SetSpecialMSKButtonL(TInt aResourceId);
+
+ /**
+ * Updates the internal mailbox data information
+ *
+ * @since S60 v3.2
+ * @leave KErrNoMemory
+ */
+ void UpdateMailboxDataL();
+
+ private: // Data
+ TUid iMtmType;
+ MMceSettingsAccountManager& iAccountManager;
+ CMsvSession* iSession;
+
+ CMceUidNameArray* iAccountArray;
+ TBool iSelectionKeyPressedToOpenOptionMenu;
+ TBool iSessionObserverAdded;
+ // Owned: Pointer to email API object
+ CImumInternalApi* iEmailApi;
+ // Array of mailbox id's
+ MImumInHealthServices::RMailboxIdArray iMailboxArray;
+ TBool iMailboxCreationOn;
+ TInt iNumberOfMailboxes;
+
+ // Not owned: Only to call that we are closed
+ CMceSettingsMultipleServicesDialog& iParentDialog;
+ TMsvId iCurrentMailAccountId;
+ };
+
+#endif // MCESETTINGSMTMSERVICESDIALOG_H
+
+// End of File