diff -r 5f0182e07bfb -r 5456b4e8b3a8 idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h --- /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 +#include "ainativerenderer.h" +#include // for MPsetNetworkInfoObserver +#include // 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