--- 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