internetradio2.0/uiinc/irui.h
changeset 0 09774dfdd46b
equal deleted inserted replaced
-1:000000000000 0:09774dfdd46b
       
     1 /*
       
     2 * Copyright (c) 2006-2007 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:  ?Description
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 /* ---------------------------------------------------------------------------
       
    20 *  Version history:
       
    21 *  Template version:
       
    22 *  <ccm_history>
       
    23 *
       
    24 *  Version: 25, Tue Mar 19 18:00:00 2008 by Rohit
       
    25 *  Ref:
       
    26 *  Implemented change request to display Byte Counter in KB till 0.1 MB, and in MB threrafter
       
    27 *
       
    28 *  Version: 24, Tue Feb 28 18:00:00 2008 by Rohit/Kranthi
       
    29 *  Ref:
       
    30 *  MIRCtrlCmdObserver::MCtrlCommand() function signature changed (Merged IRv1.0 Engine code changes)
       
    31 *
       
    32 *  </ccm_history>
       
    33 * ============================================================================
       
    34 */
       
    35 
       
    36 #ifndef IRUI_H
       
    37 #define IRUI_H
       
    38 
       
    39 #include <aknsitemdef.h>
       
    40 #include <aknviewappui.h>
       
    41 #include <remconcoreapitargetobserver.h>
       
    42 #include <aknindicatorcontainer.h>
       
    43 #include "internetradioconfigurationflags.hrh"
       
    44 
       
    45 #include <MProEngProfileActivationObserver.h>
       
    46 //For IAD
       
    47 #ifdef FF_IAUPDATE
       
    48 #include <iaupdateobserver.h>
       
    49 #endif
       
    50 
       
    51 //starting adding of ui code
       
    52 #include "irbat.h"
       
    53 #include "irctrlcommand.h"
       
    54 #include "irnetworkcontrollerobserver.h"
       
    55 #include "irpropertyobserver.h"
       
    56 #include "irsessionparams.h"
       
    57 #include "irstreamsourceobserver.h"
       
    58 #include "misdsresponseobserver.h"
       
    59 #include "IRdatatransferobserver.h"
       
    60 #include "irfirsttimeview.h"
       
    61 #include "irsettingsview.h"
       
    62 #include "irsystemeventobserver.h" //For system events
       
    63 #include "irpubsubkeys.h"
       
    64 #include "IRControlEventObserver.h"
       
    65 
       
    66 class CIRSettingsView;
       
    67 class CIRBaseView;
       
    68 class CIRCtrlCmdObserver;
       
    69 class CIRDiscoverStationsView;
       
    70 class CIRFavoritesDb;
       
    71 class CIRMediaClient;
       
    72 class CIRNetworkController;
       
    73 class CIRNowPlayingView;
       
    74 class CIRNwInfoObserver;
       
    75 class CIROTAUpdate;
       
    76 class CIRPubSub;
       
    77 class CIRReportGenerator;
       
    78 class CIRSettings;
       
    79 class CIRStreamSource;
       
    80 class CAlfEnv;
       
    81 class CIRAlarmObserver;
       
    82 class CIRMessageObserver;
       
    83 class CIRBrowseChannelItems;
       
    84 class CIRBrowseCatagoryItems;
       
    85 class CIRLastPlayedStationInfo;
       
    86 class CIconFileProvider;
       
    87 class CIRFirstTimeView;
       
    88 class CIRAddManuallyStationView;
       
    89 class CIRStationDirectoryView;
       
    90 class CIRCategoryView;
       
    91 class CIRSearchResultsView;
       
    92 class CIRStationsView;
       
    93 class CIRTopStationsView;
       
    94 class CIRPlsView;
       
    95 class CIRCostWarningView;
       
    96 class CIRMainView;
       
    97 class CIRDialogLauncher;
       
    98 class CAknWaitDialog;
       
    99 class CIRIsdsWrapper;
       
   100 class CIRNowPlayingWrapper;
       
   101 class CIRViewStack;
       
   102 class CIRSystemEventCollector; //For system events
       
   103 class CIRStationInfoView;
       
   104 class CIRHistoryListView;
       
   105 class CRemConInterfaceSelector;
       
   106 class CRemConCoreApiTarget;
       
   107 class MProEngNotifyHandler;
       
   108 //For IAD
       
   109 class CIAUpdate;
       
   110 class CIAUpdateParameters;
       
   111 class CIRControlEventObserver;
       
   112 
       
   113 #ifdef __IRA_FEATURE_BACKSTEPPING_SERVICE
       
   114 class CIRBackSteppingServiceWrapper;
       
   115 #endif // __IRA_FEATURE_BACKSTEPPING_SERVICE
       
   116 
       
   117 
       
   118 //Network Indicator
       
   119 _LIT(KGprs,"Gprs");
       
   120 _LIT(K3G,"3G");
       
   121 _LIT(KWiFi,"WiFi");
       
   122 _LIT(KEdge,"Edge");
       
   123 
       
   124 //CONSTANTS DECLARATION
       
   125 
       
   126 //Resolution
       
   127 const TInt KIRLowResolution = 176;
       
   128 const TInt KIRQVGAResolution = 240;
       
   129 const TInt KIRPotraitResolution = 320;
       
   130 //Ulr Validation
       
   131 const TInt KMaxBufSize = 256;
       
   132 const TInt KSmallBufSize = 32;
       
   133 const TInt KSearchStringChar = 100;
       
   134 const TInt KLoop = 3;
       
   135 const TInt KScrollAmount =20;
       
   136 const TInt KScrollDelay = 1000000;
       
   137 const TInt KInterval = 200000;
       
   138 
       
   139 //charging Animation time
       
   140 const TInt KChargingAnimTimer = 500000;
       
   141 
       
   142 //For help context
       
   143 #define KUIDIRAPP 0x2000B499
       
   144 const TUid KIRMCVUid = {KUIDIRAPP};
       
   145 
       
   146 //add for now can change later
       
   147 enum TIROverLayText
       
   148     {
       
   149     KIROverLayTextNotDefined = 0,
       
   150     KIROverLayTextBuffering,
       
   151     KIROverLayTextLoading,
       
   152     KIROverLayTextSearching,
       
   153     KIROverLayTextConnecting
       
   154     };
       
   155 
       
   156 
       
   157  enum TIRKeyboardKeys
       
   158 {
       
   159    EIRKeyboardKey0 = 0x30,
       
   160    EIRKeyboardKey1 = 0x31,
       
   161    EIRKeyboardKey2 = 0x32,
       
   162    EIRKeyboardKey3 = 0x33,
       
   163    EIRKeyboardKey4 = 0x34,
       
   164    EIRKeyboardKey5 = 0x35,
       
   165    EIRKeyboardKey6 = 0x36,
       
   166    EIRKeyboardKey7 = 0x37,
       
   167    EIRKeyboardKey8 = 0x38,
       
   168    EIRKeyboardKey9 = 0x39
       
   169 };
       
   170 
       
   171 
       
   172 const TInt KSearchBoxTextLength = 100;
       
   173 const TInt KFindStringLength = 10;
       
   174 
       
   175 
       
   176 //========================================class declaration CIRUi============================================
       
   177 
       
   178 
       
   179 
       
   180 
       
   181 /**
       
   182  * This class Creates CIRUi.
       
   183  * Controls the  entire Ui.
       
   184  * It creates the instance's of all the views.
       
   185  * Instantiates NetworkController,IsdsClient,IsdsPreset,MediaClient,FavouritesDb,IRPubSub
       
   186  *
       
   187  * @code
       
   188  * Controls the user commands
       
   189  * HandleCommandL()
       
   190  *
       
   191  * Handle window server events
       
   192  * HandleWsEventL()
       
   193  *
       
   194  * Display the battery value
       
   195  * DisplayBatteryValueL()
       
   196  *
       
   197  * Redraw the currently activated view
       
   198  * ActivateCurrentView()
       
   199  *
       
   200  * Update the current network status
       
   201  * UpdateCurrentNetwork()
       
   202  *
       
   203  * Connect to server
       
   204  * iNetwork->ConnectToServerL(iUrl)
       
   205  *
       
   206  * Call back called when category data recieved
       
   207  * IsdsCatogoryDataReceivedL()
       
   208  *
       
   209  * Call play
       
   210  * iPlayer->Play()
       
   211  *
       
   212  * @endcode
       
   213  *
       
   214  */
       
   215 class MAknEditingStateIndicator
       
   216 	{
       
   217 public:
       
   218 
       
   219 	enum TAknEditingState
       
   220 		{
       
   221 		EStateNone,
       
   222 		ET9Upper,
       
   223 		ET9Lower,
       
   224 		ET9Shifted,
       
   225 		ENumeric,
       
   226 		EMultitapUpper,
       
   227 		EMultitapLower,
       
   228 		EMultitapShifted,
       
   229 		};
       
   230 
       
   231 public:
       
   232 	virtual void SetState(TAknEditingState aState) = 0;
       
   233 	virtual CAknIndicatorContainer *IndicatorContainer() = 0;
       
   234 	};
       
   235 
       
   236 class CIRUi :public CAknViewAppUi, public MIRNetworkController,
       
   237 			 public MCoeForegroundObserver,public MIRPropertyChangeObserver,
       
   238 			 public MIRDataTransferObserver,
       
   239 #ifdef FF_IAUPDATE
       
   240  			 public MIAUpdateObserver,
       
   241 #endif
       
   242  			 public MRemConCoreApiTargetObserver,public MProEngProfileActivationObserver,
       
   243  			 public MIRSystemEventObserver,
       
   244  			 public MCoeViewActivationObserver
       
   245 	{
       
   246 public:
       
   247 	/**
       
   248 	* ConstructL
       
   249 	* 2nd phase constructor.
       
   250 	* Perform the second phase construction of a
       
   251 	* CIRUi object.
       
   252 	*/
       
   253 	void ConstructL();
       
   254 
       
   255 	/**
       
   256 	* CIRCategoryView.
       
   257 	* C++ default constructor.
       
   258 	*/
       
   259 	CIRUi();
       
   260 
       
   261 	/**
       
   262 	* ~CIRCategoryView
       
   263 	* Destructor.
       
   264 	*/
       
   265 	~CIRUi();
       
   266 
       
   267 	/**
       
   268 	* GetWrapperInstance()
       
   269 	* Returns the instance of the IsdsWrapper object
       
   270 	*/
       
   271 
       
   272 	CIRIsdsWrapper* GetWrapperInstance();
       
   273 	/**
       
   274 	* HandleCommandL()
       
   275 	* Handles the user input commands.
       
   276 	* @param input command
       
   277 	*/
       
   278 
       
   279 	/**
       
   280 	* GetNowPlayingWrapperInstance()
       
   281 	* Returns the instance of the CIRNowPlayingWrapper object
       
   282 	*/
       
   283 	CIRNowPlayingWrapper* GetNowPlayingWrapperInstance();
       
   284 	/**
       
   285 	 * From CAknView
       
   286 	 *
       
   287 	 * @see CAknView::HandleCommandL( TInt aCommand )
       
   288 	 */
       
   289 	void HandleCommandL(TInt aCommand);
       
   290 
       
   291 	/**
       
   292 	* IRHandleCommandL()
       
   293 	* Saves the index of the selected item from the listbox.
       
   294 	* @param currently selected item index.
       
   295 	* @param user command
       
   296 	*/
       
   297 	void IRHandleCommandL(TInt aIndex,TInt aCommand);
       
   298 
       
   299 	/**
       
   300 	* SavePrevIDL()
       
   301 	* Saves the previousID of the view.
       
   302 	* @param previousID of the view.
       
   303 	* @param user command.
       
   304 	*/
       
   305 	void SavePrevIDL(const TUid& aPrevID,TInt aCommand);
       
   306 
       
   307 	/**
       
   308 	* HandleStatusPaneSizeChange()
       
   309 	* Called by framework whenever the resource is changed.
       
   310 	*/
       
   311 	void HandleStatusPaneSizeChange();
       
   312 
       
   313 	/**
       
   314 	* HandleWsEventL()
       
   315 	* Called by framework on an window server event.
       
   316 	* @param window server event
       
   317 	*/
       
   318 	void HandleWsEventL( const TWsEvent& aEvent,CCoeControl* aDestination );
       
   319 
       
   320 	/**
       
   321 	* HandleKeyEventL()
       
   322 	* Called by framework on an window server event.
       
   323 	* @param window server event
       
   324 	*/
       
   325 	TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
       
   326 
       
   327 	/**
       
   328 	* IconProvider()
       
   329 	* @return the instance of icon provider..
       
   330 	*/
       
   331 	CIconFileProvider* IconProvider();
       
   332 
       
   333 	/**
       
   334 	* GetMifFilePath().
       
   335 	* @return the full path of mif file.
       
   336 	*/
       
   337 	TFileName GetMifFilePath() const;
       
   338 
       
   339 	/**
       
   340 	* GetPrivatePath().
       
   341 	* Returns the full path of the file.
       
   342 	* @return filepath
       
   343 	*/
       
   344 	TFileName GetPrivatePath()const;
       
   345 	/**
       
   346 	* ActivateCurrentView().
       
   347 	* Redraws the currently active view.
       
   348 	* @param Uid of the currently active view.
       
   349 	*/
       
   350 	void ActivateCurrentView(const TUid& aUid) const;
       
   351 
       
   352 	/**
       
   353 	* VerifyNetworkConnectivityL()
       
   354 	* verify whether the network is connected or not
       
   355 	* This function can leave if displaying of info note leaves hence
       
   356 	* this leave can be ignored
       
   357 	* @param    aObserver     The delayed action observer to receive the event when network connection is established.
       
   358 	* @return the bool that informs the network connectivity status.
       
   359 	*/
       
   360 	TBool VerifyNetworkConnectivityL();
       
   361 
       
   362 	/**
       
   363 	* HandleGainingForeground()
       
   364 	* This is call back function which observes application focus gaining
       
   365 	* foreground
       
   366 	*/
       
   367 	void HandleGainingForeground();
       
   368 
       
   369 	/**
       
   370 	* HandleLosingForeground()
       
   371 	* Function handles when application looses foreground focus
       
   372 	*/
       
   373 	void HandleLosingForeground();
       
   374 	/**
       
   375 	 * LosingForeground
       
   376 	 * Function handles when application looses foreground focus
       
   377 	 */
       
   378 	void LosingForeground();
       
   379 
       
   380 
       
   381 	/**
       
   382 	* ViewStack()
       
   383 	* Returns pointer to the view stack.
       
   384 	* @return   Pointer to view stack.
       
   385 	*/
       
   386 	CIRViewStack& ViewStack();
       
   387 
       
   388 	/**
       
   389 	* ForwardBackCommandToBsWrapperL()
       
   390 	* Forwards back command to Back Stepping Service wrapper.
       
   391 	* @return Returns ETrue if Back Stepping Service consumes the back command, otherwise returns EFalse.
       
   392 	*/
       
   393 
       
   394 	TBool ForwardBackCommandToBsWrapperL();
       
   395 
       
   396 	/**
       
   397 	* ActiveView()
       
   398 	* Function returns the UID of the Current Active view
       
   399 	**/
       
   400 	TUid ActiveView() const;
       
   401 
       
   402 	/**
       
   403 	* FocusWhenSelectGot()
       
   404 	* Funtion is called to get the flag when an listbox item is selected
       
   405 	* so that the next view gets activated
       
   406 	**/
       
   407 	TBool FocusWhenSelectGot() const;
       
   408 
       
   409 	/**
       
   410 	* FocusWhenSelectSet()
       
   411 	* Funtion is called to set flag when an listbox item is selected
       
   412 	* so that the next view gets activated
       
   413 	**/
       
   414 	void FocusWhenSelectSet(TBool aFocus);
       
   415 
       
   416 	/**
       
   417 	* OpenFileL()
       
   418 	* Open the file using Document's instance
       
   419 	* @param filename to be opened
       
   420 	*/
       
   421 	void OpenFileL( const TDesC& aFileName );
       
   422 
       
   423 
       
   424 	/**
       
   425 	* GainingForeGroundL()
       
   426 	* Function handles when application gains foreground focus
       
   427 	*/
       
   428 	void GainingForeGroundL();
       
   429 	/**
       
   430 	* MrccatoCommand()
       
   431 	* This is called to decrease the volume
       
   432 	* @param aOperationId Operation Id
       
   433 	* @param aButtonAct Button Action
       
   434 	*/
       
   435 	void MrccatoCommand(TRemConCoreApiOperationId aOperationId,
       
   436 	TRemConCoreApiButtonAction aButtonAct);
       
   437 
       
   438 	/**
       
   439      * From MRemConCoreApiTargetObserver.
       
   440      */
       
   441     void MrccatoPlay(TRemConCoreApiPlaybackSpeed aSpeed,
       
   442         TRemConCoreApiButtonAction aButtonAct);
       
   443 
       
   444 	/**
       
   445 	* SetVolume()
       
   446 	* Call CPeriodic after the period is over
       
   447 	* @param volume level.
       
   448 	*/
       
   449 	void SetVolume(TInt aValue);
       
   450 
       
   451 	 /**
       
   452      * Returns a reference to System event collector
       
   453      */
       
   454     CIRSystemEventCollector& SystemEventCollector();
       
   455 
       
   456 	/**
       
   457 	* IRNetworkEventL()
       
   458 	*
       
   459 	*/
       
   460 	virtual void IRNetworkEventL(TIRNetworkEvent aEvent);
       
   461 
       
   462 	/**
       
   463 	* UpdateCurrentNetwork()
       
   464 	* Updates the CurrentNetwork
       
   465 	* @param MCC
       
   466 	* @param MNC
       
   467 	*/
       
   468 	void UpdateCurrentNetwork(const TDesC& aCurrentNetworkMCC,
       
   469 	const TDesC& aCurrentNetworkMNC);
       
   470 
       
   471 	/**
       
   472 	* UpdateHomeNetwork()
       
   473 	* Updates the home
       
   474 	* @param MCC
       
   475 	* @param MNC
       
   476 	*/
       
   477 	void UpdateHomeNetwork(const TDesC& aCurrentNetworkMCC,
       
   478 	const TDesC& aCurrentNetworkMNC);
       
   479 
       
   480 
       
   481 	/**
       
   482 	* ParseAndPrepareUrl()
       
   483 	* Checks for the URL whether its valid or not
       
   484 	* @param URL
       
   485 	*/
       
   486 	TBool ParseAndPrepareUrl(const TDesC& aUrl);
       
   487 
       
   488 	/**
       
   489 	* SetCurrentNetworkType()
       
   490 	* Sets Current Network Being Used
       
   491 	*/
       
   492 	void SetCurrentNetworkType();
       
   493 
       
   494 	/**
       
   495 	* GetCurrentNetworkType()
       
   496 	* Returns Current Network Being Used
       
   497 	*/
       
   498 	TDesC& GetCurrentNetworkType();
       
   499 
       
   500 	/**
       
   501 	* SetPlayStateWhileCall()
       
   502 	* Sets This Value When Stoping the Player
       
   503 	* While Call is Active
       
   504 	*/
       
   505 	void  SetPlayStateWhileCall(TBool aPlayTerminated);
       
   506 	/**
       
   507 	* GetPlayStateWhileCall()()
       
   508 	* Returns the Value of Play state
       
   509 	* While Call is Active
       
   510 	*/
       
   511 	TBool  GetPlayStateWhileCall();
       
   512 
       
   513 	/**
       
   514 	* IsEmbedded()
       
   515 	*/
       
   516 	TBool IsEmbedded() const;
       
   517 
       
   518 	/**
       
   519 	* IsCallActive()
       
   520 	* @return the state of call
       
   521 	**/
       
   522 	TBool IsCallActive();
       
   523 
       
   524 	/**
       
   525 	* HandlePropertyChangeL
       
   526 	* Derived from MIRPropertyChangeObserver
       
   527 	*/
       
   528 	virtual	void HandlePropertyChangeL(const TUid& aCategory,
       
   529 	const TUint aKey, const TInt aValue );
       
   530 
       
   531 	/**
       
   532 	* HandlePropertyChangeL
       
   533 	* Derived from MIRPropertyChangeObserver
       
   534 	*/
       
   535 	virtual	void HandlePropertyChangeL(const TUid& aCategory,
       
   536 	const TUint aKey, const TIRTextProperty& aValue );
       
   537 
       
   538 	/**
       
   539 	* HandlePropertyChangeErrorL
       
   540 	* Derived from MIRPropertyChangeObserver
       
   541 	*/
       
   542 	virtual	void HandlePropertyChangeErrorL(const TUid& aCategory,
       
   543 	const TUint aKey, TInt aError);
       
   544 
       
   545 	/**
       
   546 	* CurrentViewContainer
       
   547 	* Returns the pointer of the active view container
       
   548 	*/
       
   549 	CIRBaseView* CurrentViewContainer();
       
   550 
       
   551 	/**
       
   552 	* IsOverLayActive()
       
   553 	*Returns the status of the loading or buffering
       
   554 	*/
       
   555 	TBool IsOverLayActive() const;
       
   556 
       
   557 	/**
       
   558 	* The last selected browsing category
       
   559 	*
       
   560 	* @return The selected item as TCurrentSelectedItem, of KErrNotFound
       
   561 	*/
       
   562 	TInt SelectedBrowsingCategory() const;
       
   563 	/**
       
   564 	 * Checks if current screen orientation is landscape
       
   565 	 *
       
   566 	 * @return ETrue if orientation is landscape, otherwise EFalse
       
   567 	 */
       
   568 	TBool IsLandscapeOrientation() const;
       
   569 	/**
       
   570 	* Cancels the pending delayed action.
       
   571 	*/
       
   572 	void CancelDelayedAction();
       
   573 
       
   574 	/**
       
   575 	* DisplayNetworkIconL(TBool aNetworkFlag,CGulIcon* aNetworkBitmap;TIRConnectionType aConnectionType, TInt aBitmapId, TInt aMaskId=-1, const TDesC& aDisplayConnectionType)
       
   576 	* Display the Connection Icon
       
   577 	*/
       
   578 	void DisplayNetworkIconL(CGulIcon** aNetworkBitmap, TIRConnectionType aConnectionType,
       
   579 			 TInt aBitmapId, TInt aMaskId, const TDesC& aDisplayConnectionType);
       
   580 
       
   581 	/**
       
   582 	* FlashNetworkIConL(TBool aNetworkFlag,CGulIcon* aNetworkBitmap;TIRConnectionType aConnectionType, TInt aBitmapId, TInt aMaskId=-1, const TDesC& aDisplayConnectionType)
       
   583 	* Flash the Network Icon
       
   584 	*/
       
   585 	void FlashNetworkIConL(CGulIcon** aNetworkBitmap, TIRConnectionType aConnectionType,
       
   586 				 TInt aBitmapId, TInt aMaskId);
       
   587 
       
   588 	/**
       
   589 	* SetCommandSetL(TInt aResourceId)
       
   590 	* Function is called to set the CBA buttons Dynamically
       
   591 	*/
       
   592 	void SetCommandSetL(TInt aResourceId);
       
   593 
       
   594 	/* IsFirstTime()
       
   595 	* Determines whether this view is launched first time or not.
       
   596 	*/
       
   597 	TBool IsFirstTime();
       
   598 
       
   599 	/**
       
   600 	* DisplayErrorNoteL()
       
   601 	* Display the error note
       
   602 	* @param string id from the resource
       
   603 	**/
       
   604 	void DisplayErrorNoteL(TInt aResourceId);
       
   605 
       
   606 	/**
       
   607 	* DisplayErrorNoteL()
       
   608 	* Display the error note
       
   609 	* @param string id from the resource
       
   610 	**/
       
   611 	void DisplayErrorNoteL(TInt aResourceId, const TDesC &  aString);
       
   612 
       
   613 	/**
       
   614 	* DisplayInformationL(const TDesC& aResourceDisp)
       
   615 	* Display the information note.
       
   616 	*/
       
   617 	void DisplayInformationL(TInt aResourceId, TInt aInt);
       
   618 
       
   619 	/**
       
   620 	* DisplayInformationL(const TDesC& aResourceDisp)
       
   621 	* Display the information note.
       
   622 	*/
       
   623 	void DisplayInformationL(TInt aResourceId, const TDesC &  aString = KNullDesC);
       
   624 
       
   625 	/**
       
   626 	* Retrieves current Byte Counter for displaying in Now playing view
       
   627 	*/
       
   628 	void UpdateNowPlayingByteCounter();
       
   629 
       
   630 	/**
       
   631 	* Triggers the view according to layout change.
       
   632 	*/
       
   633 	void TriggerCommand();
       
   634 	/**
       
   635 	* IsForeground()
       
   636 	* Function To Check Whether Application is in Foreground.
       
   637 	*/
       
   638 	TBool IsForeground();
       
   639 	/**
       
   640 	* ParsePlsDataL()
       
   641 	* Parse the PLS data
       
   642 	* @param file to be parsed
       
   643 	*/
       
   644 	void ParsePlsDataL(CFileStore*& /*aFileStore*/, RFile& aFile);
       
   645 	/**
       
   646 	* ConnectToPlsUrlL()
       
   647 	* Connects to PLS URL
       
   648 	*/
       
   649 	void ConnectToPlsUrlL();
       
   650 	/**
       
   651 	* GetPlsActiavted()
       
   652 	* @return bool whether T&C or cost warning view are accepted or not
       
   653 	*/
       
   654 	TBool GetPlsActiavted() const;
       
   655 	/**
       
   656 	* SetPlsActiavted()
       
   657 	* Sets bool if T&C or cost warning view are not accepted
       
   658 	* @param bool to be set
       
   659 	*/
       
   660 	void SetPlsActiavted(TBool aPlsactivated);
       
   661 	/**
       
   662 	* GetBgWhenLockState()
       
   663 	* returns the iBgWhenLock lock state
       
   664 	*/
       
   665 	TBool GetBgWhenLockState();
       
   666 	/**
       
   667 	* GetCurrentOperatorValue()
       
   668 	* returns the iCurrentOperator value
       
   669 	*/
       
   670 	TInt GetCurrentOperatorValue();
       
   671 	/**
       
   672 	* GetHomeOperatorValue()
       
   673 	* returns the vallue of iHomeOperator
       
   674 	*/
       
   675 	TInt GetHomeOperatorValue();
       
   676 	/**
       
   677 	* GetCallActiveState()
       
   678 	* returns whether iCallActive variable is true/false
       
   679 	*/
       
   680 	TBool GetCallActiveState();
       
   681 	/**
       
   682 	* GetNetworkControllerInstance()
       
   683 	* returns the iNetworkController
       
   684 	*/
       
   685 	CIRNetworkController* GetNetworkControllerInstance();
       
   686 	/**
       
   687 	* GetNowPlayingViewInstance()
       
   688 	* returns instance od nowplaying view
       
   689 	*/
       
   690 	CIRNowPlayingView* GetNowPlayingViewInstance();
       
   691 	/**
       
   692 	* GetPubSubManagerInstance()
       
   693 	* returns instace of publish subscriber
       
   694 	*/
       
   695 	CIRPubSub* GetPubSubManagerInstance();
       
   696 	/**
       
   697 	* GetCurrentThreadIDValue()
       
   698 	* returns the Current thread ID
       
   699 	*/
       
   700 	TUint64 GetCurrentThreadIDValue();
       
   701 	/**
       
   702 	* GetFavPresetsInstance()
       
   703 	* returns instace of Favourite preset
       
   704 	*/
       
   705 	CIRFavoritesDb* GetFavPresetsInstance();
       
   706 	/**
       
   707 	* GetNetworkType()
       
   708 	* returns  Network Connection Type
       
   709 	*/
       
   710 	TIRConnectionType GetNetworkType();
       
   711 	/**
       
   712 	* GetCallConnectedState()
       
   713 	* returns the iCallConnected state
       
   714 	*/
       
   715 	TBool GetCallConnectedState();
       
   716 	/**
       
   717 	* SetActivationPendingValue()
       
   718 	*  assign the Id value to iActionPending
       
   719 	*/
       
   720 	void SetActivationPendingValue(TUid aUid);
       
   721 	/**
       
   722 	* GetPresentViewID()
       
   723 	* returns the present view ID
       
   724 	*/
       
   725 	TUid GetPresentViewID();
       
   726 
       
   727 	/**
       
   728 	* HandleAlarmStart()
       
   729 	* Handles when an alarm comes
       
   730 	*/
       
   731 	void HandleAlarmStart();
       
   732 
       
   733 	/**
       
   734 	* HandleAlarmEnd()
       
   735 	* Handles when an alarm ends
       
   736 	*/
       
   737 	void HandleAlarmEnd();
       
   738 
       
   739 	/**
       
   740 	* HandleInitialAlarmEvent()
       
   741 	* Handles initial event when alarm comes
       
   742 	*/
       
   743 	void HandleInitialAlarmEvent();
       
   744 
       
   745 	/**
       
   746 	* HandleMessageAlertL()
       
   747 	* Handles when a new message comes
       
   748 	*/
       
   749 	void HandleMessageAlertL();
       
   750 
       
   751 	/**
       
   752 	* GetPlsIndex()
       
   753 	* Returns the Pls Index
       
   754 	*/
       
   755 	TInt GetPlsIndex();
       
   756 
       
   757 	/**
       
   758 	* SetPlsIndex()
       
   759 	* Sets the Pls Index
       
   760 	*/
       
   761 	void SetPlsIndex(TInt aPlsIndex);
       
   762 
       
   763 	/**
       
   764 	* GetBgLock()
       
   765 	* Returns whether the Bground is Locked
       
   766 	*/
       
   767 	TBool GetBgLock();
       
   768 
       
   769 	/**
       
   770 	* SetBgLock()
       
   771 	* Sets the BGround whether it is Locked or Unlocked
       
   772 	*/
       
   773 	void SetBgLock(TBool aBgWhenLock);
       
   774 
       
   775 	/**
       
   776 	* GetEditStation()
       
   777 	* Returns whether The station can be edited Or not
       
   778 	*/
       
   779 	TBool GetEditStation();
       
   780 
       
   781 	/**
       
   782 	* SetEditStation()
       
   783 	* Sets the iIsEditStation Flag To determine whether the station
       
   784 	* can be Edited
       
   785 	*/
       
   786 	void SetEditStation(TBool aIsEditStation);
       
   787 
       
   788 	/**
       
   789 	* IsOfflineProfile()
       
   790 	* Function returns True if the Current Profile is Offline
       
   791 	*/
       
   792 	TBool IsOfflineProfile();
       
   793 
       
   794 	// Abstract method for handling profile activation event.
       
   795 	void  HandleProfileActivatedL (TInt aProfileId);
       
   796 	void  HandleProfileActivationNotificationError (TInt) ;
       
   797 
       
   798 	/**
       
   799 	 * Checks if free disk space is under pre-set limit. Also
       
   800 	 * shows information note telling user to delete some data.
       
   801 	 * Some operations should check the disk space with this
       
   802 	 * function before proceeding and possibly cancel the process.
       
   803 	 *
       
   804 	 * @return ETrue if disk space is under limit, EFalse otherwise.
       
   805 	 */
       
   806 	TBool CheckAndNotifyLowDiskSpaceL() const;
       
   807 
       
   808 	/* MIRSystemEventObserver::HandleSystemEventL()
       
   809  	 * Handles the system events
       
   810  	 */
       
   811 	 void HandleSystemEventL(TIRSystemEventType aEventType);
       
   812 
       
   813 	 /*
       
   814 	  * Changes the state of the player
       
   815 	  */
       
   816 	 void PlayerStateChangedL(TIRStopPlayState aState);
       
   817 
       
   818 	 /*
       
   819 	  * from base class MCoeViewActivationObserver
       
   820 	  */
       
   821     void HandleViewActivation(const TVwsViewId& aNewlyActivatedViewId,
       
   822         					  const TVwsViewId& aViewIdToBeDeactivated );
       
   823 
       
   824 private:
       
   825 
       
   826 	/**
       
   827 	* NetworkAnimationTimerExpiredL
       
   828 	* Called when the buffering times out
       
   829 	**/
       
   830 	static TInt NetworkAnimationTimerExpired(TAny* aPtr);
       
   831 
       
   832 	/**
       
   833 	* GetLockInfo()
       
   834 	* To get the information about phone lock
       
   835 	* @param TBool Return true if the phone is Locked.
       
   836 	**/
       
   837 	TBool GetLockInfo();
       
   838 
       
   839 	/**
       
   840 	* Updates the subscriber identifier (IMSI code) and sets the Terms & Conditions display as necessary.
       
   841 	*/
       
   842 	void UpdateSubscriberIdL();
       
   843 	/**
       
   844 	* HandleDataTransferEventL()
       
   845 	* CallBack which Returns the ByteCounter
       
   846 	**/
       
   847 
       
   848 	void HandleDataTransferEventL( const MIRDataTransferTracker::TIRDataTransferPckg& aData );
       
   849 
       
   850 	/**
       
   851 	* ResetVolumeTimer()
       
   852 	* Set the volume bar timer for displaying volume bar
       
   853 	* @param time interval for which volume bar is to be displayed
       
   854 	*/
       
   855 	void ResetVolumeTimer( TInt aVolumeTimer );
       
   856 
       
   857 	/**
       
   858 	* IsVolumeBarPressed()
       
   859 	* checks whether volume bar is pressed
       
   860 	* @return ETrue whether volume bar key is pressed
       
   861 	*/
       
   862 	TBool IsVolumeBarPressed();
       
   863 
       
   864 	/**
       
   865 	* IsVolumeUp()
       
   866 	* checks whether volume bar is pressed
       
   867 	* @return ETrue if volume is increased and EFalse if volume is decreased
       
   868 	*/
       
   869 	TBool IsVolumeUp();
       
   870 
       
   871 
       
   872 
       
   873 
       
   874 	/**
       
   875 	* Updates the landscape data. This is done separately
       
   876 	* and not in IsLandscapeOrientation method as
       
   877 	* IsLandscapeOrientation MUST NOT do a window server flush
       
   878 	*/
       
   879 	void UpdateLandscapeInformation();
       
   880 
       
   881 	/**
       
   882 	*CIRUi::CreateWritablePrivatePath()
       
   883 	*Only for ROM SDK3.2
       
   884 	*creates a private path in c drive if it doesnot exist (for rom install)
       
   885 	*/
       
   886 	void CreateWritablePrivatePath();
       
   887 
       
   888 	// from base class MIAUpdateObserve
       
   889 #ifdef FF_IAUPDATE
       
   890     void CheckUpdatesComplete(TInt aErrorCode, TInt aAvailableUpdates);
       
   891     void UpdateComplete(TInt aErrorCode, CIAUpdateResult* aResult);
       
   892     void UpdateQueryComplete(TInt aErrorCode, TBool aUpdateNow);
       
   893 #endif
       
   894 
       
   895 
       
   896 public:
       
   897 	/*
       
   898 	* HandleResourceChangeL( TInt aType )
       
   899 	* Handles the changes in the resolution
       
   900 	*/
       
   901 	void HandleResourceChangeL( TInt aType );
       
   902 
       
   903 
       
   904 // Handles call functionalities when the call is active state or inactive state
       
   905 	void HandleCallActiveL(TIRSystemEventType aEventType);
       
   906 
       
   907  TInt ChooseLayoutResource( TInt aNormalPortraitRes,
       
   908         TInt aMirroredPortraitRes, TInt aNormalLandscapeRes,
       
   909         TInt aMirroredLandscapeRes ) const;
       
   910 	/*
       
   911 	* GetSkinColor
       
   912 	* Returns the Current Color
       
   913 	*/
       
   914 	TRgb GetSkinColor();
       
   915 	/*
       
   916 	* ChooseToolBarIcons
       
   917 	* Returns the ToolbarBirmap Id For The Current Theme
       
   918 	*/
       
   919 	TInt  ChooseToolBarBitmaps(TInt aBlack,TInt aWhite);
       
   920 	/*
       
   921 	* ChooseToolBarMaskId
       
   922 	* Returns the ToolbarBirmap Id For The Current Theme
       
   923 	*/
       
   924 	TInt  ChooseToolBarMaskId(TInt aBlackMask,TInt aWhiteMask);
       
   925 
       
   926 	/*
       
   927 	* SetHistory
       
   928 	* Set the Flag From All the Views  When Go to nowplaying Is Done
       
   929 	*/
       
   930 	void  SetHistory(TBool aHistory);
       
   931 
       
   932 
       
   933 	/*
       
   934 	* GetAlarm
       
   935 	* Return the iAlarmTerminated Flag
       
   936 	*/
       
   937 	TBool GetAlarm();
       
   938 
       
   939 	//Methods to determine if any channel was added to favorites
       
   940 	TBool IsFlagIfAnyFavL();
       
   941 
       
   942     void SetMainView(TBool val);
       
   943 
       
   944     /**
       
   945 	 * FindInMusicStoreCounter()
       
   946 	 * Counter of how many times a user has started
       
   947 	 * "FindInMusicStore"
       
   948 	 */
       
   949 	void FindInMusicStoreCounter();
       
   950 
       
   951 	/**
       
   952 	 * GetFindInMusicStoreCount()
       
   953 	 * Gets the value of how many times a user has started
       
   954 	 * "FindInMusicStore"
       
   955 	 */
       
   956 	void GetFindInMusicStoreCount(TInt& aFindInMStoreCount);
       
   957 
       
   958 	RArray<TInt>& GetPlsSaved() ;
       
   959 
       
   960 	void SetListenFromPls(TBool aValue);
       
   961 
       
   962     TBool GetListenFromPls();
       
   963 
       
   964    	/**
       
   965 	 *  Used to determine the current profile
       
   966 	 *  @return TInt describing the profile value
       
   967 	 */
       
   968 	TInt DetermineCurrentProfile() const;
       
   969 
       
   970 	void SetListenFromSecondPls(TBool aValue);
       
   971 	TBool GetListenFromSecondPls();
       
   972 
       
   973 	/**
       
   974 	 * Brings VRA task to foreground.
       
   975 	 */
       
   976 	void BringToForeground() const;
       
   977 
       
   978 	/**
       
   979 	 * Sends VRA task to background.
       
   980 	 */
       
   981 	void SendToBackground() const;
       
   982 
       
   983 
       
   984 private:		//Added by Snigdha for HomeScreen
       
   985 
       
   986 
       
   987 	 /**
       
   988      * Handles action handler command line parameter.
       
   989      *
       
   990      * @param   aTail   The tail of the command line; command id is expected.
       
   991      */
       
   992     void ProcessActionHandlerCommandParameter( const TDesC8& aTail );
       
   993 
       
   994     /**
       
   995      * Parses the command line options and calls option specific methods. Supports existing and extended
       
   996      * command line interfaces.
       
   997      *
       
   998      * in old CLI, the expected format of aTail is "N", where N is a preset ID.
       
   999      *
       
  1000      * in new CLI, the expected format is "-<option> <value>", where option can be "p", "f" or "a".
       
  1001      *             for option p (preset) <value> is integer presenting the preset ID
       
  1002      *             for option f (frequency) <value> is integer presenting frequency.
       
  1003      *             for option a (action handler command) <value> is id of the command
       
  1004      *                           - commands can be found from vractionhandlerdefs.h.
       
  1005      *
       
  1006      * @param   aTail   The tail of the command line.
       
  1007      */
       
  1008     void ProcessCommandTailL( const TDesC8& aTail );
       
  1009 
       
  1010 
       
  1011     MCoeMessageObserver::TMessageResponse HandleMessageL(
       
  1012 	    TUint32 aClientHandleOfTargetWindowGroup,
       
  1013 	    TUid aMessageUid,
       
  1014 	    const TDesC8& aMessageParameters );
       
  1015 
       
  1016     TBool ProcessCommandParametersL(
       
  1017         TApaCommand aCommand,
       
  1018         TFileName& aDocumentName, const TDesC8& aTail );
       
  1019 
       
  1020 public:
       
  1021 
       
  1022 
       
  1023 
       
  1024 	//Array of URL's
       
  1025 	// TO DO: This varible can be made as private in Future
       
  1026 	/*
       
  1027 	* iURLs
       
  1028 	* Instance of RPointerArray
       
  1029 	*/
       
  1030 	RPointerArray<HBufC8> iURLs;
       
  1031 	/*
       
  1032 	* iNowPlayingView
       
  1033 	* Instance of NowPlaying View
       
  1034 	*/
       
  1035 	CIRNowPlayingView* iNowPlayingView;
       
  1036 	/*
       
  1037 	* iFirstTimeView
       
  1038 	* Instance of First Time View
       
  1039 	*/
       
  1040 	CIRFirstTimeView* iFirstTimeView;
       
  1041 	/*
       
  1042 	* iIRAddManually
       
  1043 	* Instance of Add Manually View
       
  1044 	*/
       
  1045 	CIRAddManuallyStationView* iIRAddManually;
       
  1046 	/*
       
  1047 	* iIRAddManually
       
  1048 	* Instance of NetworkController
       
  1049 	*/
       
  1050 	CIRNetworkController* iNetworkController;
       
  1051 	/*
       
  1052 	* iIconProvider
       
  1053 	* Instance of Icon File Provider
       
  1054 	*/
       
  1055 	CIconFileProvider* iIconProvider;
       
  1056 	/*
       
  1057 	* iFsSession
       
  1058 	* Instance of filesession
       
  1059 	*/
       
  1060 	RFs iFsSession;
       
  1061 	/*
       
  1062 	* iFavPresets
       
  1063 	* Instance of FavoritesDb
       
  1064 	*/
       
  1065 	CIRFavoritesDb *iFavPresets;
       
  1066 	/*
       
  1067 	* iIRSettings
       
  1068 	* Instance of CurrentOperationSettings
       
  1069 	*/
       
  1070 	CIRSettings* iIRSettings;
       
  1071 	/*
       
  1072 	* iSettingsView
       
  1073 	* Instance of Settings View
       
  1074 	*/
       
  1075 	CIRSettingsView* iSettingsView;
       
  1076 
       
  1077 	//Currently selected listbox item index
       
  1078 	TInt iIndex;
       
  1079 
       
  1080 
       
  1081 	//Now Playing View's previous ID
       
  1082 	TUid iNPPrevViewId;
       
  1083 
       
  1084 
       
  1085 	//Presently activated View's ID
       
  1086 	TUid iPresentViewID;
       
  1087 
       
  1088 	/*
       
  1089 	* iLastPlayed
       
  1090 	* Instance of Last played station Information
       
  1091 	*/
       
  1092 	CIRLastPlayedStationInfo *iLastPlayed;
       
  1093 
       
  1094 	/*
       
  1095 	* iStationdirView
       
  1096 	* Instance of Station Directory View
       
  1097 	*/
       
  1098 	CIRStationDirectoryView *iStationdirView;
       
  1099 	/*
       
  1100 	* iCategoryView
       
  1101 	* Instance of Category View
       
  1102 	*/
       
  1103 	CIRCategoryView *iCategoryView;
       
  1104 
       
  1105 	/*
       
  1106 	* iSearchResultsView
       
  1107 	* Instance of SearchResults View
       
  1108 	*/
       
  1109 	CIRSearchResultsView* iSearchResultsView;
       
  1110 
       
  1111 	/*
       
  1112 	* iStationsView
       
  1113 	* Instance of  Stations View
       
  1114 	*/
       
  1115 	CIRStationsView *iStationsView;
       
  1116 	/*
       
  1117 	* iTopStationsView
       
  1118 	* Instance of TopStations View
       
  1119 	*/
       
  1120 	CIRTopStationsView *iTopStationsView;
       
  1121 
       
  1122 	/**
       
  1123 	* 	Store Veiw to be activated when in Background.
       
  1124 	*/
       
  1125 	TUid iActivationPending ;
       
  1126 
       
  1127 	/*
       
  1128 	* iUpdateApp
       
  1129 	* Instance of CIRAppUpdate
       
  1130 	*/
       
  1131 	TBuf<KSearchBoxTextLength> iSearchString;
       
  1132 
       
  1133 	// Holds the data for the Stations view Title
       
  1134 	RBuf iStationsViewTitleString;
       
  1135 
       
  1136 	// Holds the data for the Category view Title type
       
  1137 	TInt iCategoryViewTitleType;
       
  1138 
       
  1139 	/**
       
  1140 	* To Hold the Index of the Station to Edit
       
  1141 	*/
       
  1142 	TInt iEditStationIndex;
       
  1143 	/*
       
  1144 	* iPlsView
       
  1145 	* Instance of Play List view
       
  1146 	*/
       
  1147 	CIRPlsView* iPlsView;
       
  1148 	/*
       
  1149 	* iDialogNote
       
  1150 	* Instance of Dialog Launcher class
       
  1151 	*/
       
  1152 	CIRDialogLauncher * iDialogNote;
       
  1153 
       
  1154 
       
  1155 
       
  1156 
       
  1157 private:
       
  1158 
       
  1159 #ifdef FF_IAUPDATE
       
  1160     /**
       
  1161      * IAD client object.
       
  1162      * Owned.
       
  1163      */
       
  1164     CIAUpdate* iUpdate;
       
  1165 
       
  1166     /**
       
  1167      * Parameters for IAD update.
       
  1168      * Owned.
       
  1169      */
       
  1170     CIAUpdateParameters* iParameters;
       
  1171 #endif // FF_IAUPDATE
       
  1172 
       
  1173 
       
  1174 
       
  1175    TBool iFeatureManagerInitialized;
       
  1176 
       
  1177 
       
  1178 
       
  1179 	/*
       
  1180 	* iSelector
       
  1181 	* Instance of CRemConInterfaceSelector For
       
  1182 	* Handling Media Keys
       
  1183 	*/
       
  1184 
       
  1185 	CRemConInterfaceSelector* iSelector;
       
  1186 	/*
       
  1187 	* iTarget
       
  1188 	* Instance of CRemConCoreApiTarget For
       
  1189 	* Handling Media Keys
       
  1190 	*/
       
  1191 
       
  1192 	CRemConCoreApiTarget* iTarget;
       
  1193 
       
  1194 	//holds type of current network
       
  1195 	TIRConnectionType iNetWorkType;
       
  1196 
       
  1197 	//checks whether call is connected or not
       
  1198 	TBool iCallConnected;
       
  1199 
       
  1200 	//current operator
       
  1201 	TInt iCurrentOperator;
       
  1202 
       
  1203 	//home operator
       
  1204 	TInt iHomeOperator;
       
  1205 
       
  1206 	//network observer for finding home and current operator
       
  1207 	CIRNwInfoObserver* iNwObserver;
       
  1208 
       
  1209 	/**
       
  1210 	* System event collector
       
  1211 	* For handling system events related to call, network and headset
       
  1212 	*/
       
  1213 	CIRSystemEventCollector* iSystemEventCollector;
       
  1214 
       
  1215 
       
  1216 	// Used for url checking
       
  1217 	TBuf8<KMaxBufSize> iUrl8;
       
  1218 
       
  1219 	/*
       
  1220 	* iIsPresetSaved
       
  1221 	* array used to check whether the preset is saved in Favorites from PLS
       
  1222 	*/
       
  1223 	RArray<TInt> iIsPresetSaved;
       
  1224 
       
  1225 	RArray<TInt> iPlsPresetSaved;
       
  1226 
       
  1227 	//Checks whether PLS view is active or not
       
  1228 	TBool iPlsactivated;
       
  1229 
       
  1230 	// for cheking if the view is activated through the select
       
  1231 	TBool iSelect;
       
  1232 
       
  1233 
       
  1234 	//indicates that play has to be triggered after alarm
       
  1235 	TBool iTriggeringRequired;
       
  1236 
       
  1237 	//determines overlay text
       
  1238 	TIROverLayText iOverlayVariable;
       
  1239 
       
  1240 
       
  1241 	TUid iBGPresentViewId;
       
  1242 
       
  1243 	/*
       
  1244 	* iCntChaReqForSaving
       
  1245 	*
       
  1246 	*/
       
  1247 	TInt iCntChaReqForSaving;
       
  1248 
       
  1249 	//for call observing
       
  1250 	TBool iCallActive;
       
  1251 
       
  1252 	//For adding songs to history to handle adding to history
       
  1253 	TInt iCount;
       
  1254 
       
  1255 	// Current preset id
       
  1256 	TInt iCurrentPresetId;
       
  1257 
       
  1258     TBool iListenFrmSecondPls;
       
  1259 
       
  1260 
       
  1261 	// The selected browsing category
       
  1262 	TInt iSelectedBrowsingCategory;
       
  1263 
       
  1264 	TInt iRequestedPresets;
       
  1265 
       
  1266 	//Skinning API needs the file name to be stored in a TBuf
       
  1267 	TBuf<KMaxBufSize> iMbmFileName;
       
  1268 
       
  1269 	//set if a sync request is made from ui
       
  1270 	TBool iOtaRequest;
       
  1271 
       
  1272 
       
  1273 	//stores current thread's id
       
  1274 	TUint64 iCurrentThreadID;
       
  1275 
       
  1276 
       
  1277 	TBool iAlarmTerminated;
       
  1278 
       
  1279 
       
  1280 		//current network
       
  1281 	TBuf<10> iCurrentNetwork;
       
  1282 
       
  1283 	//home network
       
  1284 	TBuf<10> iHomeNetwork;
       
  1285 
       
  1286 	//Holds the type of network connected
       
  1287 	TBuf<5> iConnectionType;
       
  1288 
       
  1289 	/*
       
  1290 	* iPlsLength
       
  1291 	* Instance of RArray
       
  1292 	*/
       
  1293 	RArray< TInt > iPlsLength;
       
  1294 
       
  1295 	/*
       
  1296 	* iValue
       
  1297 	*value to store the return value from confirmation Notes
       
  1298 	*/
       
  1299 	TInt iValue;
       
  1300 
       
  1301 	/*
       
  1302 	* iAlfEnv
       
  1303 	* Instance of CAlfEnv
       
  1304 	*/
       
  1305 	CAlfEnv* iAlfEnv;
       
  1306 
       
  1307   	/*
       
  1308 	* iMifFilePath
       
  1309 	* path for the Mif File
       
  1310 	*/
       
  1311 	TFileName iMifFilePath;
       
  1312 
       
  1313 	//Checks whether application is call terminated
       
  1314 	TBool iPlayTerminated;
       
  1315 
       
  1316 	/*
       
  1317 	* iLandscape
       
  1318 	* Instance to return the value of landscape
       
  1319 	*/
       
  1320 	TBool iLandscape;
       
  1321 
       
  1322 		//Instance of IRPubSub
       
  1323 	CIRPubSub* iPubSubManager;
       
  1324 
       
  1325 	/*
       
  1326 	* iMultiStationSave
       
  1327 	* return the bool value for multi station saved
       
  1328 	*/
       
  1329 	TBool iMultiStationSave;
       
  1330 
       
  1331 	/**
       
  1332 	* subscriber for bitrate
       
  1333 	*/
       
  1334 	CIRPropertyObserver* iBitrateSubscriber;
       
  1335 
       
  1336 	/**
       
  1337 	* subscriber for multiple play handling
       
  1338 	*/
       
  1339 	CIRPropertyObserver* iMultiplePlayHandler;
       
  1340 	/**
       
  1341 	* Timer to animate the network indicatior icon
       
  1342 	*/
       
  1343 	CPeriodic* iNetworkIndicatorTimer;
       
  1344 
       
  1345 		//Gets the Pls Index
       
  1346 	TInt iPlsIndex;
       
  1347 
       
  1348 	//check if going to background due to keypad lock
       
  1349 	TBool iBgWhenLock;
       
  1350 
       
  1351 	/**
       
  1352 	* Boolean varaible to store whether the station is
       
  1353 	* editable or not
       
  1354 	*/
       
  1355     TBool iIsEditStation;
       
  1356 
       
  1357 	/**
       
  1358 	* Boolean varaible which is used for Switching Between Npv and History
       
  1359 	* View
       
  1360 	*/
       
  1361     TBool iHistory;
       
  1362 
       
  1363 
       
  1364     TBool iSecondInstanceFlag;
       
  1365 
       
  1366     TBool iMainViewLaunch;
       
  1367 
       
  1368 
       
  1369     static TInt iFindInMusicStoreCount;
       
  1370     /**
       
  1371 	* Boolean varaible which is used for Checking The Current profile
       
  1372 	*/
       
  1373 	TBool iIsOffline;
       
  1374 
       
  1375 	/*
       
  1376 	* iNotifyHandler
       
  1377 	* Instance of Notify Handler Used for Registering Profile
       
  1378 	* Changed
       
  1379 	*/
       
  1380     MProEngNotifyHandler* iNotifyHandler;
       
  1381     TBool iListenFromPls ;
       
  1382 
       
  1383 	CIRDialogLauncher*  iDialogLauncher;
       
  1384 
       
  1385 	/*
       
  1386 	* iProfileId
       
  1387 	* Instance Which strores the Profile Id
       
  1388 	*/
       
  1389     TInt iProfileId;
       
  1390 
       
  1391 
       
  1392     /**
       
  1393      * Is application started or focused to Now playing view.
       
  1394      */
       
  1395     TBool iStartUpInNowPlayingView;
       
  1396 
       
  1397 #ifdef __IRA_FEATURE_BACKSTEPPING_SERVICE
       
  1398     /**
       
  1399      * Backstepping Service wrapper.
       
  1400      * Own.
       
  1401      */
       
  1402     CIRBackSteppingServiceWrapper* iBsWrapper;
       
  1403 #endif
       
  1404 
       
  1405 	CIRControlEventObserver * iControlEventObserver; 
       
  1406 public:
       
  1407 
       
  1408 	/**
       
  1409 	* iIsdsWrapper
       
  1410 	* Instance of the IsdsWrapper class
       
  1411 	*/
       
  1412 	CIRIsdsWrapper *iIsdsWrapper;
       
  1413 	/**
       
  1414 	* iNowPlayingWrapper
       
  1415 	* Instance of the NowPlayingWrapper class
       
  1416 	*/
       
  1417 	CIRNowPlayingWrapper *iNowPlayingWrapper;
       
  1418 	/*
       
  1419 	* iHistoryListView
       
  1420 	* Instance of History view
       
  1421 	*/
       
  1422 	CIRHistoryListView* iHistoryListView;
       
  1423 	/**
       
  1424 	* View stack holds all previous views, not the current view.
       
  1425 	*/
       
  1426 	CIRViewStack* iViewStack;
       
  1427 	/*
       
  1428 	* iUpdateApp
       
  1429 	* Instance of Cost warning view
       
  1430 	*/
       
  1431 	CIRCostWarningView* iCostWarningView;
       
  1432 	/*
       
  1433 	* iMainView
       
  1434 	* Instance of Main View
       
  1435 	*/
       
  1436 	CIRMainView* iMainView;
       
  1437 	/*
       
  1438 	* iAlarmObserver
       
  1439 	* Instance of Alarm observer
       
  1440 	*/
       
  1441 	CIRAlarmObserver* iAlarmObserver;
       
  1442 	/*
       
  1443 	* iMessageObserver
       
  1444 	* Instance of Message observer
       
  1445 	*/
       
  1446 //	CIRMessageObserver* iMessageObserver;
       
  1447 
       
  1448 	/**
       
  1449 	* iStationInfoView
       
  1450 	* Instance of the StationInfoView class
       
  1451 	*/
       
  1452 	CIRStationInfoView *iStationInfoView;
       
  1453 
       
  1454 	/**
       
  1455 	 * iIsDisconnected
       
  1456 	 * checks if the network status is disconnected
       
  1457 	 */
       
  1458 	 TBool iIsDisconnected;
       
  1459 
       
  1460 
       
  1461 
       
  1462 	};
       
  1463 
       
  1464 
       
  1465 #endif // IRUI_H
       
  1466 
       
  1467