voipplugins/accountcreationplugin/inc/acpproviderlistview.h
changeset 0 a4daefaec16c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/voipplugins/accountcreationplugin/inc/acpproviderlistview.h	Mon Jan 18 20:12:36 2010 +0200
@@ -0,0 +1,368 @@
+/*
+* Copyright (c) 2007-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:  Declatirion of CAcpProviderListView
+*
+*/
+
+
+#ifndef ACPPROVIDERLISTVIEW_H
+#define ACPPROVIDERLISTVIEW_H
+
+#include <eikclb.h>
+#include <aknview.h>
+#include <mspnotifychangeobserver.h>
+#include <wlanmgmtcommon.h>
+#include <xSPViewServices.h>
+
+#include "macpdialogobserver.h"
+#include "macpcontrollerobserver.h"
+#include "macptimerobserver.h"
+#include "accountcreationpluginconstants.h"
+#include "accountcreationplugin.hrh" // enums
+
+class CAcpTimer;
+class CAcpDialog;
+class CAcpProviderSpecificView;
+class CAcpProviderListContainer;
+class MAccountCreationPluginObserver;
+class CAcpQueryView;
+class CAcpController;
+class CFbsBitmap;
+class CSPNotifyChange;
+class CEikonEnv;
+class CSPSettings;
+
+/**
+ *  CAcpProviderListView class
+ *  Declarition of CAcpProviderListView.
+ *
+ *  @lib accountcreationplugin.lib
+ *  @since S60 v3.2
+ */
+NONSHARABLE_CLASS( CAcpProviderListView ) : public CAknView,
+                                            public MEikListBoxObserver,
+                                            public MAcpDialogObserver,
+                                            public MAcpControllerObserver,
+                                            public MAcpTimerObserver
+    {
+    public:
+
+    /**
+     * Two-phased constructor.
+     *
+     * @param aObserver Observer for notifying readiness.
+     */
+    static CAcpProviderListView* NewL(
+        MAccountCreationPluginObserver& aObserver, TBool aLaunchedFromAI, CEikonEnv& aEikEnv );
+
+    /**
+     * Two-phased constructor.
+     *
+     * @param aObserver Observer for notifying readiness.
+     */
+    static CAcpProviderListView* NewLC(
+        MAccountCreationPluginObserver& aObserver, TBool aLaunchedFromAI, CEikonEnv& aEikEnv );
+
+    /**
+     * Destructor.
+     */
+    virtual ~CAcpProviderListView();
+
+    /**
+     * Provisioning query.
+     * 
+     * @since S60 v3.2
+     */
+    void ProvisioningL();
+
+    /**
+     * Starts provider list download.
+     * 
+     * @since S60 v3.2
+     */
+    void DownloadProviderListL();
+    
+// from base class CAknView
+
+    /**
+     * From CAknView.
+     * Returns view UID.
+     * 
+     * @since S60 v3.2
+     * @return view UID.
+     */
+    TUid Id() const;
+
+// from base class MAcpDialogObserver
+
+    /**
+     * From MAcpDialogObserver.
+     * Informs that a dialog has been dismissed.
+     * 
+     * @since S60 v3.2
+     * @param aError Error code.
+     */ 
+    void DialogDismissedL( TInt aError );
+
+// from base class MAcpControllerObserver
+
+    /**
+     * From MAcpControllerObserver.
+     * Informs that provider list is ready.
+     * 
+     * @since S60 v3.2
+     * @param aError Error code.
+     */ 
+    void NotifyProviderListReady( TInt aError );
+ 
+    /**
+     * From MAcpControllerObserver.
+     * Informs that downloading has been completed.
+     * 
+     * @since S60 v3.2
+     * @param aError System wide error code.
+     */ 
+    void NotifyDownloadingCompleted( TInt aError );
+    
+    /**
+      * From MAcpControllerObserver.
+      * Informs that downloading sis file has been completed.
+      * 
+      * @since S60 v5.0
+      * @param aFileName sis file name
+      */ 
+    void NotifyDownloadingSISCompleted( TDesC& aFileName );
+
+    /**
+     * From MAcpControllerObserver.
+     * Informs that service settings have been saved.
+     * 
+     * @since S60 v3.2
+     */ 
+    void NotifyProvisioningCompleted();
+    
+    /**
+     * From MAcpControllerObserver.
+     * Notifies observer when settings have been completely saved.
+     * 
+     * @since S60 v3.2
+     */ 
+    void NotifySettingsSaved();
+    
+    /**
+     * From MAcpTimerObserver
+     * Notifies observer when timer expires.
+     * 
+     * @since S60 v5.0
+     */ 
+    void TimerExpired();
+
+
+private:
+
+    CAcpProviderListView( MAccountCreationPluginObserver& aObserver,
+                          TBool aLaunchedFromAI, CEikonEnv& aEikEnv );
+    
+    void ConstructL();
+
+    /**
+     * For changing text to the title pane.
+     * 
+     * @since S60 v3.2
+     */
+    void SetTitlePaneTextL() const;
+    
+    /**
+     * For saving account creation url to rcse
+     * 
+     * @since S60 v5.0
+     * @param aServiceId service id
+     */
+    void SaveAccountCreationUrlL( TUint aServiceId );
+
+// from base class CAknView
+
+    /**
+     * From CAknView.
+     * Activates the view.
+     * 
+     * @since S60 v3.2
+     * @param aPrevViewId ID of the previous view. Not used.
+     * @param aCustomMessageId ID of custom message. Not used.
+     * @param aCustomMessage Custom message. Not used.
+     */
+    void DoActivateL( const TVwsViewId& /*aPrevViewId*/, 
+        TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/ );
+
+    /**
+     * From CAknView.
+     * Deactivates the view.
+     * 
+     * @since S60 v3.2
+     */
+    void DoDeactivate();
+
+    /**
+     * From CAknView.
+     * Handles commands.
+     * 
+     * @since S60 v3.2
+     * @param aCommand Command ID.
+     */
+    void HandleCommandL( TInt aCommand );
+
+// from base class MEikListBoxObserver
+
+    /**
+     * From MEikListBoxObserver.
+     * Handles listbox events.
+     * 
+     * @since S60 v3.2
+     * @param aListBox Listbox. Not used.
+     * @param aEventType Event type.
+     */
+    void HandleListBoxEventL( CEikListBox* /*aListBox*/, 
+        TListBoxEvent aEventType );
+
+    /**
+     * From MEikListBoxObserver.
+     * Handles listbox selections.
+     * 
+     * @since S60 v3.2
+     */
+    void HandleListBoxSelectionL();
+
+    /**
+     * From MEikListBoxObserver.
+     * Dynamically initiates menu pane.
+     * 
+     * @since S60 v3.2
+     * @param aResourceId ID of resource.
+     * @param aMenuPane Menu pane to be initiated.
+     */
+    void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+    /**
+     * Informs that service settings have been saved.
+     * 
+     * @since S60 v3.2
+     */
+    void DoNotifyProvisioningCompletedL();
+
+private: // data
+
+    /**
+     * Handle to plugins controller.
+     * Own
+     */
+    CAcpController* iController;
+
+    /**
+     * Reference to observer.
+     */
+    MAccountCreationPluginObserver& iObserver;
+
+    /**
+     * Handle to Avkon view application UI.
+     * Not own.
+     */
+    CAknViewAppUi* iUi;
+
+    /**
+     * Container class for provider list view.
+     * Own.
+     */
+    CAcpProviderListContainer* iContainer;
+
+    /**
+     * Handle to provider specific view.
+     * Not own.
+     */
+    CAcpProviderSpecificView* iProviderSpecificView;
+
+    /**
+     * Handle to query view.
+     * Not own.
+     */
+    CAcpQueryView* iQueryView;
+
+    /**
+     * Handle dialog utility to show global wait note.
+     * Own.
+     */
+    CAcpDialog* iDialog; 
+    
+    
+    /**
+     * Handle to acp timer.
+     * Own.
+     */
+    CAcpTimer* iTimer;
+    
+    /**
+     * Handle to serviec provider settings
+     * Own.
+     */
+    CSPSettings* iSpSettings;
+
+    /**
+     * For restoring browser's setting later on.
+     */
+     TInt iWarning;
+
+    /**
+     * For restoring browser's setting later on.
+     */
+     TInt iDataSaving;
+     
+    /** 
+     * Array of service ids.
+     */
+     RArray<TServiceId> iServiceIds;
+          
+    /**
+     * Name of the service being installed.
+     */
+     HBufC* iServiceName;
+     
+     /**
+      * Boolean indicating if CSC has been started from active idle
+      */ 
+     TBool iLaunchedFromAI;
+     
+     /**
+      * Reference to CEikonEnv.
+      */
+     CEikonEnv& iEikEnv;
+
+    /** 
+     * ETrue if connection to NSA server is being established.
+     */
+     TBool iConnectingToServer;
+     
+     /*
+      * Xsp view service
+      * Own.
+      */
+     RxSPViewServices iXspViewServices;
+     
+     /*
+      * Array of phonebook tab view ids
+      */
+     RArray<TInt32> iTabViewIds;
+    };
+
+#endif  // ACPPROVIDERLISTVIEW_H
+
+// End of file.