idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h
branchRCL_3
changeset 83 5456b4e8b3a8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h	Wed Sep 01 12:32:46 2010 +0100
@@ -0,0 +1,212 @@
+/*
+* 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"
+* 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 renderer.
+*
+*/
+
+
+#ifndef C_AIDIALOGRENDERER_H
+#define C_AIDIALOGRENDERER_H
+
+// System includes
+#include <e32base.h>
+#include "ainativerenderer.h"
+#include <MPsetNetworkInfoObs.h> // for MPsetNetworkInfoObserver 
+#include <MPsetNetworkSelect.h>  // for MPsetNetworkSelect
+
+// User includes
+#include "ainativerenderer.h"
+
+// Forward declarations
+class CAknNoteDialog;
+class CHsContentPublisher;
+class CPsetNetwork;
+class CAknWaitDialog;
+class CPsetContainer;
+class CAknPopupList;
+
+namespace AiNativeUiController
+{
+
+/**
+ *  Dialog renderer.
+ *
+ *  Used to show CAknNoteDialog on screen.
+ *
+ *  @since S60 3.2
+ */
+NONSHARABLE_CLASS( CAiDialogRenderer ) : public CAiNativeRenderer, public MPsetNetworkInfoObserver
+    {
+public:
+
+    static CAiDialogRenderer* NewLC();
+
+    virtual ~CAiDialogRenderer();
+
+// from base class CAiNativeRenderer
+
+    void DoPublishL( CHsContentPublisher& aPlugin, TInt aContent, TInt aResource, TInt aIndex );
+
+    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:
+
+    CAiDialogRenderer();
+
+    /**
+     * Show dialog.
+     *
+     * @since S60 3.2
+     */
+    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
+
+    /**
+     * Dialog.
+     * Own.
+     */
+    CAknNoteDialog* iDialog;
+   
+    /**
+     * Text to be rendered in the dialog.
+     * Own.
+     */
+    HBufC* iText;
+
+    /// Indicates SIM registration failure.
+    TBool iShowDialog;
+
+#ifdef __COVER_DISPLAY
+    /**
+     * Dialog ID to be published.
+     * Own.
+     */
+    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
+
+#endif // C_AIDIALOGRENDERER_H