idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h
branchRCL_3
changeset 11 ff572dfe6d86
parent 9 f966699dea19
--- a/idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h	Fri Feb 19 22:42:37 2010 +0200
+++ b/idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h	Fri Mar 12 15:41:49 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 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"
@@ -19,8 +19,11 @@
 #ifndef C_AIDIALOGRENDERER_H
 #define C_AIDIALOGRENDERER_H
 
-// System incldues
+// System includes
 #include <e32base.h>
+#include "ainativerenderer.h"
+#include <MPsetNetworkInfoObs.h> // for MPsetNetworkInfoObserver 
+#include <MPsetNetworkSelect.h>  // for MPsetNetworkSelect
 
 // User includes
 #include "ainativerenderer.h"
@@ -28,6 +31,10 @@
 // Forward declarations
 class CAknNoteDialog;
 class CHsContentPublisher;
+class CPsetNetwork;
+class CAknWaitDialog;
+class CPsetContainer;
+class CAknPopupList;
 
 namespace AiNativeUiController
 {
@@ -39,7 +46,7 @@
  *
  *  @since S60 3.2
  */
-NONSHARABLE_CLASS( CAiDialogRenderer ) : public CAiNativeRenderer
+NONSHARABLE_CLASS( CAiDialogRenderer ) : public CAiNativeRenderer, public MPsetNetworkInfoObserver
     {
 public:
 
@@ -54,6 +61,59 @@
     void DoCleanL( CHsContentPublisher& aPlugin, TInt aContent );
 
     void FocusObtainedL();
+    
+    // from base class MPsetNetworkInfoObserver
+    
+        /**
+         * @@see MPsetNetworkInfoObserver::HandleNetworkInfoReceivedL
+         */
+        void HandleNetworkInfoReceivedL( 
+                        const CNetworkInfoArray* aInfoArray, const TInt aResult );
+            
+        /**
+         * @@see MPsetNetworkInfoObserver::HandleSearchingNetworksL
+         */
+        void HandleSearchingNetworksL( TServiceRequest aRequest );
+            
+        /**
+         * @@see MPsetNetworkInfoObserver::HandleRequestingSelectedNetworkL
+         */
+        void HandleRequestingSelectedNetworkL( TBool aOngoing );
+    
+        /**
+         * @@see MPsetNetworkInfoObserver::HandleNetworkChangedL - not used
+         */
+        void HandleNetworkChangedL(
+                        const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
+                        const RMobilePhone::TMobilePhoneRegistrationStatus& aStatus,
+                        const TInt aResult );
+     
+        /**
+         * @@see MPsetNetworkInfoObserver::HandleNetworkErrorL
+         */
+        void HandleNetworkErrorL( const TServiceRequest aRequest,
+                         const TInt aError );
+    
+        /**
+         * @@see MPsetNetworkInfoObserver::HandleCurrentNetworkInfoL - not used
+         */
+        void HandleCurrentNetworkInfoL( 
+                const MPsetNetworkSelect::TCurrentNetworkInfo& /* aCurrentInfo */, 
+                const TInt /* aResult */ ) {};
+            
+        /**
+         * @@see MPsetNetworkInfoObserver::HandleNetworkChangedL - not used
+         */
+        void HandleNetworkChangedL( 
+                const MPsetNetworkSelect::TNetworkInfo& /* aCurrentInfo */, 
+                const MPsetNetworkSelect::TCurrentNetworkStatus /* aStatus */, 
+                const TInt /* aResult */ ) {}; 
+    
+         /**
+         * @@see MPsetNetworkInfoObserver::HandleCallActivatedL
+         */
+        void HandleCallActivatedL() {};
+    
 
 private:
 
@@ -66,6 +126,40 @@
      */
     void ShowDialogL();
 
+    void ConstructL();
+
+    void PopulatePLMNListL();
+
+    /**
+     * Provides the network operator list.
+     */
+    void NetworkListL();
+
+    /**
+     * Sets title to a popup list.
+     * @param aList pointer to list
+     * @param aTitleID resource ID of the title
+     */
+    void SetTitleToPopupL( CAknPopupList& aList, TInt aTitleID );
+
+    /** 
+     * Creates a waiting note (member variable).
+     * @param aDelayOff is the note shown immediately or not
+     */
+    void CheckAndCreateDlgL( TBool aDelayOff );
+
+    /*
+     * Empties fetched network provider's list.
+     */
+    void PurgeNetworkList();
+
+    /**
+     * Shows a requested note.
+     * @param aResourceId reource ID for note text
+     * @param aType type of note
+     */
+    void ShowNoteL( TInt aResourceId, TInt aType );
+ 
 
 private: // data
 
@@ -92,6 +186,25 @@
     TInt iDialogId;
 #endif
 
+
+    //PhoneSettings engine object
+    CPsetNetwork*           iNetwork;
+    //PhoneSettings container
+    CPsetContainer*         iSettingsContainer;
+    //Requesting note
+    CAknWaitDialog*         iDlg;        
+    //Array of networks
+    CNetworkInfoArray*      iNetworkArray;
+    //Network selection list
+    CAknPopupList*          iNetworkPopupList;
+    //Has the user selected a valid network
+    TBool                   iApprovedNetwork;
+    TBool                   iSearchForNetworksActive;
+    TBool                   iPLMNListPopulateShowIsHandling;
+   
+    // Resource index
+    TInt                    iRscIndex;
+
     };
 
 } // namespace AiNativeUiController