voipplugins/accountcreationplugin/inc/acpproviderlistview.h
branchRCL_3
changeset 22 d38647835c2e
parent 0 a4daefaec16c
equal deleted inserted replaced
21:f742655b05bf 22:d38647835c2e
       
     1 /*
       
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Declatirion of CAcpProviderListView
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef ACPPROVIDERLISTVIEW_H
       
    20 #define ACPPROVIDERLISTVIEW_H
       
    21 
       
    22 #include <eikclb.h>
       
    23 #include <aknview.h>
       
    24 #include <mspnotifychangeobserver.h>
       
    25 #include <wlanmgmtcommon.h>
       
    26 #include <xSPViewServices.h>
       
    27 
       
    28 #include "macpdialogobserver.h"
       
    29 #include "macpcontrollerobserver.h"
       
    30 #include "macptimerobserver.h"
       
    31 #include "accountcreationpluginconstants.h"
       
    32 #include "accountcreationplugin.hrh" // enums
       
    33 
       
    34 class CAcpTimer;
       
    35 class CAcpDialog;
       
    36 class CAcpProviderSpecificView;
       
    37 class CAcpProviderListContainer;
       
    38 class MAccountCreationPluginObserver;
       
    39 class CAcpQueryView;
       
    40 class CAcpController;
       
    41 class CFbsBitmap;
       
    42 class CSPNotifyChange;
       
    43 class CEikonEnv;
       
    44 class CSPSettings;
       
    45 
       
    46 /**
       
    47  *  CAcpProviderListView class
       
    48  *  Declarition of CAcpProviderListView.
       
    49  *
       
    50  *  @lib accountcreationplugin.lib
       
    51  *  @since S60 v3.2
       
    52  */
       
    53 NONSHARABLE_CLASS( CAcpProviderListView ) : public CAknView,
       
    54                                             public MEikListBoxObserver,
       
    55                                             public MAcpDialogObserver,
       
    56                                             public MAcpControllerObserver,
       
    57                                             public MAcpTimerObserver
       
    58     {
       
    59     public:
       
    60 
       
    61     /**
       
    62      * Two-phased constructor.
       
    63      *
       
    64      * @param aObserver Observer for notifying readiness.
       
    65      */
       
    66     static CAcpProviderListView* NewL(
       
    67         MAccountCreationPluginObserver& aObserver, TBool aLaunchedFromAI, CEikonEnv& aEikEnv );
       
    68 
       
    69     /**
       
    70      * Two-phased constructor.
       
    71      *
       
    72      * @param aObserver Observer for notifying readiness.
       
    73      */
       
    74     static CAcpProviderListView* NewLC(
       
    75         MAccountCreationPluginObserver& aObserver, TBool aLaunchedFromAI, CEikonEnv& aEikEnv );
       
    76 
       
    77     /**
       
    78      * Destructor.
       
    79      */
       
    80     virtual ~CAcpProviderListView();
       
    81 
       
    82     /**
       
    83      * Provisioning query.
       
    84      * 
       
    85      * @since S60 v3.2
       
    86      */
       
    87     void ProvisioningL();
       
    88 
       
    89     /**
       
    90      * Starts provider list download.
       
    91      * 
       
    92      * @since S60 v3.2
       
    93      */
       
    94     void DownloadProviderListL();
       
    95     
       
    96 // from base class CAknView
       
    97 
       
    98     /**
       
    99      * From CAknView.
       
   100      * Returns view UID.
       
   101      * 
       
   102      * @since S60 v3.2
       
   103      * @return view UID.
       
   104      */
       
   105     TUid Id() const;
       
   106 
       
   107 // from base class MAcpDialogObserver
       
   108 
       
   109     /**
       
   110      * From MAcpDialogObserver.
       
   111      * Informs that a dialog has been dismissed.
       
   112      * 
       
   113      * @since S60 v3.2
       
   114      * @param aError Error code.
       
   115      */ 
       
   116     void DialogDismissedL( TInt aError );
       
   117 
       
   118 // from base class MAcpControllerObserver
       
   119 
       
   120     /**
       
   121      * From MAcpControllerObserver.
       
   122      * Informs that provider list is ready.
       
   123      * 
       
   124      * @since S60 v3.2
       
   125      * @param aError Error code.
       
   126      */ 
       
   127     void NotifyProviderListReady( TInt aError );
       
   128  
       
   129     /**
       
   130      * From MAcpControllerObserver.
       
   131      * Informs that downloading has been completed.
       
   132      * 
       
   133      * @since S60 v3.2
       
   134      * @param aError System wide error code.
       
   135      */ 
       
   136     void NotifyDownloadingCompleted( TInt aError );
       
   137     
       
   138     /**
       
   139       * From MAcpControllerObserver.
       
   140       * Informs that downloading sis file has been completed.
       
   141       * 
       
   142       * @since S60 v5.0
       
   143       * @param aFileName sis file name
       
   144       */ 
       
   145     void NotifyDownloadingSISCompleted( TDesC& aFileName );
       
   146 
       
   147     /**
       
   148      * From MAcpControllerObserver.
       
   149      * Informs that service settings have been saved.
       
   150      * 
       
   151      * @since S60 v3.2
       
   152      */ 
       
   153     void NotifyProvisioningCompleted();
       
   154     
       
   155     /**
       
   156      * From MAcpControllerObserver.
       
   157      * Notifies observer when settings have been completely saved.
       
   158      * 
       
   159      * @since S60 v3.2
       
   160      */ 
       
   161     void NotifySettingsSaved();
       
   162     
       
   163     /**
       
   164      * From MAcpTimerObserver
       
   165      * Notifies observer when timer expires.
       
   166      * 
       
   167      * @since S60 v5.0
       
   168      */ 
       
   169     void TimerExpired();
       
   170 
       
   171 
       
   172 private:
       
   173 
       
   174     CAcpProviderListView( MAccountCreationPluginObserver& aObserver,
       
   175                           TBool aLaunchedFromAI, CEikonEnv& aEikEnv );
       
   176     
       
   177     void ConstructL();
       
   178 
       
   179     /**
       
   180      * For changing text to the title pane.
       
   181      * 
       
   182      * @since S60 v3.2
       
   183      */
       
   184     void SetTitlePaneTextL() const;
       
   185     
       
   186     /**
       
   187      * For saving account creation url to rcse
       
   188      * 
       
   189      * @since S60 v5.0
       
   190      * @param aServiceId service id
       
   191      */
       
   192     void SaveAccountCreationUrlL( TUint aServiceId );
       
   193 
       
   194 // from base class CAknView
       
   195 
       
   196     /**
       
   197      * From CAknView.
       
   198      * Activates the view.
       
   199      * 
       
   200      * @since S60 v3.2
       
   201      * @param aPrevViewId ID of the previous view. Not used.
       
   202      * @param aCustomMessageId ID of custom message. Not used.
       
   203      * @param aCustomMessage Custom message. Not used.
       
   204      */
       
   205     void DoActivateL( const TVwsViewId& /*aPrevViewId*/, 
       
   206         TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/ );
       
   207 
       
   208     /**
       
   209      * From CAknView.
       
   210      * Deactivates the view.
       
   211      * 
       
   212      * @since S60 v3.2
       
   213      */
       
   214     void DoDeactivate();
       
   215 
       
   216     /**
       
   217      * From CAknView.
       
   218      * Handles commands.
       
   219      * 
       
   220      * @since S60 v3.2
       
   221      * @param aCommand Command ID.
       
   222      */
       
   223     void HandleCommandL( TInt aCommand );
       
   224 
       
   225 // from base class MEikListBoxObserver
       
   226 
       
   227     /**
       
   228      * From MEikListBoxObserver.
       
   229      * Handles listbox events.
       
   230      * 
       
   231      * @since S60 v3.2
       
   232      * @param aListBox Listbox. Not used.
       
   233      * @param aEventType Event type.
       
   234      */
       
   235     void HandleListBoxEventL( CEikListBox* /*aListBox*/, 
       
   236         TListBoxEvent aEventType );
       
   237 
       
   238     /**
       
   239      * From MEikListBoxObserver.
       
   240      * Handles listbox selections.
       
   241      * 
       
   242      * @since S60 v3.2
       
   243      */
       
   244     void HandleListBoxSelectionL();
       
   245 
       
   246     /**
       
   247      * From MEikListBoxObserver.
       
   248      * Dynamically initiates menu pane.
       
   249      * 
       
   250      * @since S60 v3.2
       
   251      * @param aResourceId ID of resource.
       
   252      * @param aMenuPane Menu pane to be initiated.
       
   253      */
       
   254     void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
       
   255 
       
   256     /**
       
   257      * Informs that service settings have been saved.
       
   258      * 
       
   259      * @since S60 v3.2
       
   260      */
       
   261     void DoNotifyProvisioningCompletedL();
       
   262 
       
   263 private: // data
       
   264 
       
   265     /**
       
   266      * Handle to plugins controller.
       
   267      * Own
       
   268      */
       
   269     CAcpController* iController;
       
   270 
       
   271     /**
       
   272      * Reference to observer.
       
   273      */
       
   274     MAccountCreationPluginObserver& iObserver;
       
   275 
       
   276     /**
       
   277      * Handle to Avkon view application UI.
       
   278      * Not own.
       
   279      */
       
   280     CAknViewAppUi* iUi;
       
   281 
       
   282     /**
       
   283      * Container class for provider list view.
       
   284      * Own.
       
   285      */
       
   286     CAcpProviderListContainer* iContainer;
       
   287 
       
   288     /**
       
   289      * Handle to provider specific view.
       
   290      * Not own.
       
   291      */
       
   292     CAcpProviderSpecificView* iProviderSpecificView;
       
   293 
       
   294     /**
       
   295      * Handle to query view.
       
   296      * Not own.
       
   297      */
       
   298     CAcpQueryView* iQueryView;
       
   299 
       
   300     /**
       
   301      * Handle dialog utility to show global wait note.
       
   302      * Own.
       
   303      */
       
   304     CAcpDialog* iDialog; 
       
   305     
       
   306     
       
   307     /**
       
   308      * Handle to acp timer.
       
   309      * Own.
       
   310      */
       
   311     CAcpTimer* iTimer;
       
   312     
       
   313     /**
       
   314      * Handle to serviec provider settings
       
   315      * Own.
       
   316      */
       
   317     CSPSettings* iSpSettings;
       
   318 
       
   319     /**
       
   320      * For restoring browser's setting later on.
       
   321      */
       
   322      TInt iWarning;
       
   323 
       
   324     /**
       
   325      * For restoring browser's setting later on.
       
   326      */
       
   327      TInt iDataSaving;
       
   328      
       
   329     /** 
       
   330      * Array of service ids.
       
   331      */
       
   332      RArray<TServiceId> iServiceIds;
       
   333           
       
   334     /**
       
   335      * Name of the service being installed.
       
   336      */
       
   337      HBufC* iServiceName;
       
   338      
       
   339      /**
       
   340       * Boolean indicating if CSC has been started from active idle
       
   341       */ 
       
   342      TBool iLaunchedFromAI;
       
   343      
       
   344      /**
       
   345       * Reference to CEikonEnv.
       
   346       */
       
   347      CEikonEnv& iEikEnv;
       
   348 
       
   349     /** 
       
   350      * ETrue if connection to NSA server is being established.
       
   351      */
       
   352      TBool iConnectingToServer;
       
   353      
       
   354      /*
       
   355       * Xsp view service
       
   356       * Own.
       
   357       */
       
   358      RxSPViewServices iXspViewServices;
       
   359      
       
   360      /*
       
   361       * Array of phonebook tab view ids
       
   362       */
       
   363      RArray<TInt32> iTabViewIds;
       
   364     };
       
   365 
       
   366 #endif  // ACPPROVIDERLISTVIEW_H
       
   367 
       
   368 // End of file.