internetradio2.0/uiinc/irnowplayingview.h
changeset 0 09774dfdd46b
equal deleted inserted replaced
-1:000000000000 0:09774dfdd46b
       
     1 /*
       
     2 * Copyright (c) 2004-2006 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:  Header file for CIRNowPlayingView
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef C_CIRNOWPLAYINGVIEW_H
       
    20 #define C_CIRNOWPLAYINGVIEW_H
       
    21 
       
    22 #include "internetradioconfigurationflags.hrh"
       
    23 #include <coecobs.h>
       
    24 #ifdef MUSICSHOP_AVAILABLE
       
    25 #include <MusicStoreUidConstants.h> //For Find in Shop
       
    26 #include <mpxfindinmusicshopcommon.h> //For Find in Shop
       
    27 #endif
       
    28 #include <mdaaudiosampleplayer.h> //For future use
       
    29 #include <alf/alfenv.h>
       
    30 
       
    31 #include <aknvolumepopup.h>
       
    32 #include "irbaseview.h"
       
    33 #include "irui.h"
       
    34 #include "ir.hrh"
       
    35 #include "pspresetobserver.h"
       
    36 #include "MLogoDownloadObserver.h"
       
    37 #include "irstationinformationdata.h"
       
    38 #include <akntoolbarobserver.h>
       
    39 #include <aknbutton.h>
       
    40 #include "IRFavoritesDb.h"
       
    41 #include "MViewsResponseAndErrorObserver.h"
       
    42 #include <AknProgressDialog.h>
       
    43 
       
    44 #include <remconcoreapitarget.h>
       
    45 #include <remconinterfaceselector.h>
       
    46 #include "irstationlogocontrolobserver.h"
       
    47 
       
    48 #include "IRActiveNetworkObserver.h"
       
    49 #include "msyncpresetobserver.h"	// MSyncPresetObserver
       
    50 //Forward Declarations
       
    51 class CAlfEnv;
       
    52 class CIRNowPlayingViewContainer;
       
    53 class CIRIsdsPreset;
       
    54 class CIRLogoDownloadEngine;
       
    55 class MLogoDownloadObserver;
       
    56 class CIRIsdsPreset;
       
    57 class CEikMenuPane;
       
    58 
       
    59 #ifdef __IRA_FEATURE_EQUALIZER
       
    60 class CMPXViewPlugin;
       
    61 class CMPXFindInMShop; //For Find in Shop
       
    62 #endif
       
    63 
       
    64 class CMdaAudioPlayerUtility;
       
    65 class CStereoWidening;
       
    66 class CIRSettings;
       
    67 class CMPXFindInMShop; //For Find in Shop
       
    68 class CAknVolumePopup;
       
    69 class CAknWaitDialog;
       
    70 class CIRLogoTimer;
       
    71 /**
       
    72  *  NowPlayingView View
       
    73  *
       
    74  *  NowPlayingView View, the  view displayed in Internet Radio  application,when
       
    75  *  Listen is Done
       
    76  */
       
    77 class CIRNowPlayingView :public CIRBaseView,public MPSPresetObserver,
       
    78 						public MLogoDownloadObserver,public MAknToolbarObserver,
       
    79     					public MViewsResponseAndErrorObserver,public MCoeControlObserver,
       
    80     					public MAlfActionObserver,private MRemConCoreApiTargetObserver,
       
    81     					 public MIRLogoControlObserver,
       
    82     					 public MSyncPresetObserver
       
    83 
       
    84 
       
    85  	{
       
    86 public:  // Methods
       
    87 
       
    88     /**
       
    89      * Function : NewL
       
    90      * Function returns an instance of CIRNowPlayingView
       
    91      * Two phase constructor
       
    92      * @param aAlfEnv Alfred environment to use
       
    93      * @return instance of CIRNowPlayingView
       
    94      */
       
    95 	static CIRNowPlayingView* NewLC( CAlfEnv& aAlfEnv );
       
    96 
       
    97 	/**
       
    98 	* Two-phased constructor.
       
    99 	*
       
   100 	* Adds the control to the control group
       
   101 	*
       
   102 	* @param   aEnv    Alfred environment to use.
       
   103 	* @return  The created object. Ownership is not transferred.
       
   104 	*/
       
   105 	static CIRNowPlayingView* NewL( CAlfEnv& aEnv);
       
   106 	/**
       
   107 	* Destructor.
       
   108 	*/
       
   109 	~CIRNowPlayingView();
       
   110 
       
   111 	/**
       
   112      * OfferToolbarEventL()
       
   113    	 */
       
   114 	void OfferToolbarEventL(TInt aCommand );
       
   115 
       
   116     /**
       
   117      * Id()
       
   118      * returns the id of the View
       
   119      */
       
   120 	// from base class CAknView
       
   121 	TUid Id() const;
       
   122 
       
   123 	/**
       
   124      * HandleCommandL()
       
   125      */
       
   126 	void HandleCommandL( TInt aCommand );
       
   127 
       
   128 	/**
       
   129      * DynInitMenuPaneL()
       
   130      */
       
   131 	// from base class MEikMenuObserver
       
   132 	void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
       
   133 
       
   134 
       
   135    	/**
       
   136      * HandleForegroundEventL()
       
   137   	 */
       
   138 	void HandleForegroundEventL( TBool aForeground );
       
   139 
       
   140     /**
       
   141      * Function : PresetLogoDownloadedL
       
   142      * CallBack Function Returning the Preset With Logo
       
   143      * @param aPreset to be filled with Logo
       
   144      */
       
   145 	void PresetLogoDownloadedL(CIRIsdsPreset* aPreset);
       
   146 
       
   147 	/**
       
   148      * PresetLogoDownloadError()
       
   149      * CallBack Function Returning the Preset Without Logo
       
   150      * Called when an error/connection-fail occurs while downloading
       
   151      * @param aPreset sent without Logo
       
   152      */
       
   153 	void PresetLogoDownloadError(CIRIsdsPreset* aPreset);
       
   154 
       
   155 
       
   156 	/**
       
   157      * Function :PlayAndStopControlL()
       
   158      * Function Used to Play or Stop The Song
       
   159      * User Play,Stop Functionality
       
   160      */
       
   161 	void PlayAndStopControlL();
       
   162 
       
   163 	/**
       
   164      * Function :ConnectToPreset()
       
   165      * User For Connecting To Next or Prev Preset
       
   166      * For Context Navigation
       
   167      */
       
   168 	void ConnectToPresetL();
       
   169 
       
   170 	// from base class MCoeControlObserver
       
   171 	/**
       
   172      * From MCoeControlObserver
       
   173      *
       
   174      * @see MCoeControlObserver::HandleControlEventL(
       
   175      *    CCoeControl* aControl,
       
   176      *    TCoeEvent aEventType )
       
   177      */
       
   178     void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
       
   179 
       
   180 // from base class MAlfActionObserver
       
   181     void HandleActionL(const TAlfActionCommand& aActionCommand);
       
   182 
       
   183 	/**
       
   184      * Function :UpdateStationNameL()
       
   185      * User For Updating Station Name
       
   186      * @param aFadeStyle Used for setting Directionality
       
   187      */
       
   188 	void UpdateStationNameL(TIRFadeStyle /*aFadeStyle*/) ;
       
   189 
       
   190     /**
       
   191      * Function :DisplayBitrate()
       
   192      * Used for Displaying Bitrate
       
   193      * @param aBitrate Value To show on the View
       
   194      */
       
   195 	void DisplayBitrate(const TDesC& aBitrate) const;
       
   196 
       
   197     /**
       
   198      * Function :OnViewActivationL()
       
   199      * Used for Setting the values On View Activation
       
   200      */
       
   201 	void OnViewActivationL();
       
   202 
       
   203     /**
       
   204      * Function :DisplaySongArtistNameL()
       
   205      * Displays the Song Name and Artist Name
       
   206      * @param  aSongName To show on the View
       
   207      * @param aArtistName To show on the View
       
   208      */
       
   209 	void DisplaySongArtistNameL(const TDesC& aSongName,const TDesC& aArtistName);
       
   210 
       
   211     /**
       
   212      * Function :DisplayByteCounterL()
       
   213      * Used for Displaying ByteCounter
       
   214      * @param total_bytes Value To show on the View
       
   215      */
       
   216 	void DisplayByteCounterL(TReal32  total_bytes);
       
   217 
       
   218 	 /**
       
   219      * Function :SetRequestPendingWhenNoNetWork()
       
   220      * Sets the Value of Request Pendind While Checking For Network
       
   221      * @param aRequestPending Value To Set
       
   222      */
       
   223 	void SetRequestPendingWhenNoNetWork(TBool aRequestPending);
       
   224 
       
   225 	 /**
       
   226      * Function :GetRequestPending()
       
   227      * Return the Request Pending Value
       
   228      * @return Returns the Request Pending Value
       
   229      */
       
   230 	TBool GetRequestPending();
       
   231 
       
   232 	 /**
       
   233      * Function :SetRequestPendingWhenNoNetWorkForNextOrPrev()
       
   234      * Sets the Value of Request Pendind While Checking For Network
       
   235      * @param aRequestPending Value To Set
       
   236      */
       
   237 	void SetRequestPendingWhenNoNetWorkForNextOrPrev(TBool aRequestPending);
       
   238 
       
   239 	 /**
       
   240      * Function :GetRequestPendingForNextOrPreV()
       
   241      * Return the Request Pending Value
       
   242      * @return Returns the Request Pending Value
       
   243      */
       
   244 	TBool GetRequestPendingForNextOrPreV();
       
   245 
       
   246     /**
       
   247      * Function :ConstructToolbarL()
       
   248      * Used for Constructing ToolBar
       
   249      */
       
   250 	void ConstructToolbarL();
       
   251 
       
   252     /**
       
   253      * Function :DisplaylogoL()
       
   254      * Function User For Displaying the Logo
       
   255      */
       
   256 	void DisplaylogoL() ;
       
   257 
       
   258     /**
       
   259      * Function :DrawViewL()
       
   260      * Function User For Layouting Controls On the View
       
   261      * @param aLogoStatus Value Used for Displaying
       
   262      * Media idle Animation
       
   263      */
       
   264 	void DrawViewL(TBool aLogoStatus) ;
       
   265 
       
   266     /**
       
   267      * Function :StartTimerL()
       
   268      * Function User Updating Station Name When Next Is Pressed
       
   269      */
       
   270 	void StartTimerL() ;
       
   271     /**
       
   272      * Function :ReFreshView()
       
   273      * Function Used For Refreshing the View
       
   274      */
       
   275 
       
   276 	void ReFreshViewL();
       
   277 	/**
       
   278      * Function :AddStationsL()
       
   279      * Function Used Used to Add the Currently Playing Channel To Fav
       
   280      */
       
   281 	void AddStationsL();
       
   282 	/**
       
   283      * ResponseL()
       
   284      */
       
   285 	//from thr mixing class MViewsResponseAndErrorObserver
       
   286 	void ResponseL( CIRIsdsPreset* aPreset = NULL );
       
   287 
       
   288 	/**
       
   289      * PresetResponseL()
       
   290      * CallBack From IsDs when Preset data is received
       
   291      */
       
   292 	void PresetResponseL(CIRIsdsPreset* aPreset);
       
   293 
       
   294 	/**
       
   295      * ErrorL()
       
   296      */
       
   297 	void ErrorL();
       
   298 
       
   299 	/**
       
   300      * Function :GetStereoModeL()
       
   301      * Used for getting Mode of Stereo whether it is On or Off
       
   302      */
       
   303 
       
   304 	void GetStereoModeL();
       
   305 
       
   306 	// from base class MIRSystemEventObserver
       
   307     void HandleSystemEventL( TIRSystemEventType aEventType );
       
   308 
       
   309     /**
       
   310      * Function :SetVolumePopUpValue()
       
   311      * Used for setting the VolumePop up Value
       
   312      */
       
   313 	void SetVolumePopUpValue(TInt aValue);
       
   314 
       
   315 	 /**
       
   316      * Function :GetVolumePopUpValue()
       
   317      * Getting the volume Pop up Value
       
   318      */
       
   319     TInt GetVolumePopUpValue();
       
   320 
       
   321    	 /**
       
   322      * Function :UpdateLastplayedL()
       
   323      * Updates the LastPlayed Station
       
   324      */
       
   325     void UpdateLastplayedL();
       
   326 
       
   327 
       
   328     /**
       
   329      * LaunchFMTransmitterL()
       
   330      * Launch FM Transmitter application
       
   331      */
       
   332 	void LaunchFMTransmitterL();
       
   333 	/**
       
   334      * SetBitrate()
       
   335      * Sets The Bitrates Value
       
   336      */
       
   337 	void SetBitrate(TInt aError) ;
       
   338 
       
   339 	// from base class MRemConCoreApiTargetObserver
       
   340 
       
   341     /**
       
   342      * From MRemConCoreApiTargetObserver.
       
   343      */
       
   344     void MrccatoCommand(TRemConCoreApiOperationId aOperationId,
       
   345         TRemConCoreApiButtonAction aButtonAct);
       
   346 
       
   347     /**
       
   348      * From MRemConCoreApiTargetObserver.
       
   349      */
       
   350     void MrccatoPlay(TRemConCoreApiPlaybackSpeed aSpeed,
       
   351         TRemConCoreApiButtonAction aButtonAct);
       
   352 // from base class MIRLogoControlObserver
       
   353     void LogoReadyForDisplayL();
       
   354     void LogoConversionFailedL();
       
   355 
       
   356 	/**
       
   357 	 * from MSyncPresetObserver
       
   358 	 * SyncPresetRemovedL()
       
   359 	 * called back when the preset that is synced was removed from isds
       
   360 	 * @param TInt,the preset id
       
   361 	 */
       
   362 	void SyncPresetRemovedL(TInt aId);
       
   363 
       
   364 	/**
       
   365 	 * from MSyncPresetObserver
       
   366 	 * SyncPresetChangedL()
       
   367 	 * called back when the preset that is synced has been changed in the isds
       
   368 	 * @param CIRIsdsPreset&,the new preset data
       
   369 	 */
       
   370 	void SyncPresetChangedL(CIRIsdsPreset& aPreset);
       
   371 
       
   372 	/**
       
   373 	 * from MSyncPresetObserver
       
   374 	 * SyncPresetNoChangeL()
       
   375 	 * called back when the preset that is synced has not been changed
       
   376 	 */
       
   377 	 void SyncPresetNoChangeL();
       
   378 
       
   379 protected:
       
   380 
       
   381 	// from base class CAknView
       
   382 	 /**
       
   383      * DoActivateL()
       
   384      */
       
   385 	void DoActivateL( const TVwsViewId& aPrevViewId,TUid aCustomMessageId,
       
   386 					const TDesC8& aCustomMessage );
       
   387 
       
   388 	/**
       
   389      * DoDeactivate()
       
   390      */
       
   391 	void DoDeactivate();
       
   392 
       
   393 private: //Methods
       
   394 
       
   395 	/**
       
   396 	* By default Symbian 2nd phase constructor is private.
       
   397 	*/
       
   398 	void ConstructL();
       
   399 
       
   400 	/**
       
   401 	* C++ default constructor.
       
   402 	*/
       
   403 	CIRNowPlayingView( CAlfEnv& aAlfEnv );
       
   404 
       
   405 	/**
       
   406 	* Updates the station logos with preset data
       
   407 	*/
       
   408 	void UpdateStationLogosL();
       
   409 
       
   410 	/**
       
   411      * HandlePresetChangedL()
       
   412      * returns the instance of iStationsData
       
   413      */
       
   414 	// from base class MPSPresetObserver
       
   415 	void HandlePresetChangedL( TInt aId, TUid aDataHandler, MPSPresetObserver::TPSReason aReason );
       
   416 
       
   417 	/**
       
   418      * GetLogo()
       
   419      * returns the instance of iStationsData
       
   420      */
       
   421 	void GetLogoL();
       
   422 
       
   423     /**
       
   424      * To Launch Find in Shop Option
       
   425      *
       
   426      */
       
   427     void LaunchMusicShopL();
       
   428 
       
   429     /**
       
   430      * To Launch Find in Shop Option
       
   431      *
       
   432      */
       
   433     void DoFindInMusicShopL( const TDesC& aSongName,
       
   434                              const TDesC& aArtistName,
       
   435                              const TDesC& aAlbumName,
       
   436                              TBool aMusicFlag );
       
   437 
       
   438 	/**
       
   439 	 *  Retrievs the string from Central Repository for the specified key and cen rep uid
       
   440 	 *  Transfers the ownership of the returned HBufC object
       
   441 	 *  The caller must takecare of deleting the returned object*
       
   442 	 *	@param aRepositoryUid specifies the Uid of the repository to be used
       
   443 	 *	@param aKey specifies the key to be used
       
   444 	 *	@return HufC* pointer to the retrieved string
       
   445 	 */
       
   446 	HBufC* CentralRepositoryStringValueL(const TUid& aRepositoryUid,
       
   447 		TUint32 aKey ) const;
       
   448     /**
       
   449      * ListenFromPls()
       
   450      * To support Context Navigation
       
   451      */
       
   452 	void ListenFromPlsL();
       
   453 
       
   454 	 /**
       
   455     * HelpContext()
       
   456     * Returns the Help Context For NowPlaying View
       
   457     */
       
   458    TCoeHelpContext HelpContext() const;
       
   459 
       
   460     /**
       
   461      * IsMetaData()
       
   462      * returns true if there is meta data
       
   463      */
       
   464     TBool IsMetaData();
       
   465 
       
   466     /**
       
   467      * MusciStoreEnabledStatus()
       
   468      * returns true if music store enabled status is "yes"
       
   469      */
       
   470     TBool MusciStoreEnabledStatus();
       
   471 
       
   472 
       
   473 
       
   474 public:
       
   475    	/**
       
   476      * SetsameUrlFlag()
       
   477      * function sets the iSameUrl flag
       
   478      */
       
   479 	void SetsameUrlFlag(TBool aSameUrl);
       
   480 	 /**
       
   481      * GetsameUrlFlag()
       
   482      * function returns the iSameUrl Flag
       
   483      */
       
   484 	TInt GetsameUrlFlag();
       
   485 
       
   486 	/**
       
   487      * SetStationNameFlag()
       
   488      * function Sets the Flag to Update the Station Nmae
       
   489      */
       
   490 	 void SetStationNameFlag(TInt aValue);
       
   491 
       
   492       /**
       
   493      * SetLastPlayedValue()
       
   494      * function Sets the Lastplayed Flag Value
       
   495      */
       
   496 	 void SetLastPlayedValue(TInt aLastPlayed);
       
   497 
       
   498 	 /**
       
   499      * SetPlayingValue()
       
   500      * function Sets the iPlaying Flag Value
       
   501      */
       
   502 	 void SetPlayingValue(TInt aPlaying);
       
   503 
       
   504 	 /**
       
   505      * HandleMediaKeysL()
       
   506      * function handles the hardware media keys
       
   507      */
       
   508 	void HandleMediaKeysL(TRemConCoreApiOperationId aOperationId,
       
   509 	TRemConCoreApiButtonAction aButtonAct);
       
   510 
       
   511    	/**
       
   512      * DeleteSteroEffect()
       
   513      * Destroys the Stereo Effect Corresponing the Player
       
   514      */
       
   515 	void DeleteSteroEffect(TBool aStereo);
       
   516 	/**
       
   517      * DisablePlayer()
       
   518      * Stop Player When Call is Active
       
   519      */
       
   520 	void DisablePlayer();
       
   521 
       
   522     /**
       
   523      * Function :SetRockerIndex()
       
   524      * Sets the Current Playing Index
       
   525      * @param aRockerIndex Value used for Context Navigation
       
   526      */
       
   527 	 void SetRockerIndex(TInt aRockerIndex);
       
   528 
       
   529 	 /**
       
   530      * Function :GetRockerIndex()
       
   531      * Returns The current Playing Index
       
   532      * @return RockerIndex Value used for Context Navigation
       
   533      */
       
   534 	 TInt GetRockerIndex();
       
   535 
       
   536     /**
       
   537      * Function :SavePreviousIndex()
       
   538      * Sets the Previous Index
       
   539      * @param aPresetCount Value used for Context Navigation
       
   540      */
       
   541 	 void SavePreviousIndex(TInt aPresetCount);
       
   542 
       
   543 	 /**
       
   544      * Function :GetRequestPending()
       
   545      * Return the Previous index Value
       
   546      * @return Returns Previous index Value
       
   547      */
       
   548 	 TInt GetPreviousIndex();
       
   549 	  /**
       
   550      * Indicates, has this view been activated in the life time of
       
   551      * the application.
       
   552      * @return ETrue if this view has been activated, EFalse otherwise
       
   553      */
       
   554     TBool HasBeenActivated() const;
       
   555 
       
   556     /**
       
   557      * Function :GetCommandId()
       
   558      * Returns the Last selected Command id
       
   559      * @return the Command id Required While network Switch
       
   560      */
       
   561     TInt  GetCommandId() ;
       
   562 
       
   563      /**
       
   564      * Function :IsVolumeMuted()
       
   565      * Returns whether volume is Muted
       
   566      * @return the Volume Mute State
       
   567      */
       
   568     TBool  IsVolumeMuted() ;
       
   569 
       
   570     /**
       
   571      * SyncPresetL()
       
   572      * Used to syncronize presets
       
   573      * @param TInt the preset id
       
   574      * @param TDesC the last modified tag for the preset
       
   575      */
       
   576     void SyncPresetL(TInt aChid,const TDesC &aModifiedTime);
       
   577 
       
   578       /**
       
   579      * Callback method that performs the actual deletion of connections.
       
   580      *
       
   581      * @param aSelfPtr Pointer argument given when the callback/timer is created.
       
   582      * @return KErrNone Specified in the function pointer declaration.
       
   583      */
       
   584     static TInt StaticConnectionCleanupCallback( TAny* aSelfPtr );
       
   585 
       
   586 
       
   587 private:
       
   588 
       
   589 	/**
       
   590 	* The Alfred environment
       
   591 	*/
       
   592 	CAlfEnv& iAlfEnv;
       
   593 
       
   594 	/**
       
   595 	* iToolbar
       
   596 	* Used for Touch ToolBar
       
   597     */
       
   598 	CAknToolbar* iToolbar;
       
   599 
       
   600 	/**
       
   601      * Is the start up of application ongoing.
       
   602      */
       
   603     TBool iStartUp;
       
   604 
       
   605     /**
       
   606     * For Find in Music Shop
       
   607     *
       
   608     */
       
   609     CMPXFindInMShop* iMPXFindInShop; //For Find in Shop
       
   610 
       
   611 #ifdef __IRA_FEATURE_EQUALIZER
       
   612 	/**
       
   613 	 * Used for activating the equalizer view
       
   614      */
       
   615      CMPXViewPlugin* iMpxEqualizerViewPlugin;
       
   616 #endif // __IRA_FEATURE_EQUALIZER
       
   617 
       
   618 	/**
       
   619 	* iIndex
       
   620 	* Used for Context Navigation
       
   621 	*/
       
   622 	TInt iIndex;
       
   623 
       
   624 	/**
       
   625 	* iPreset
       
   626 	* Used for storing the Current Logo Data
       
   627 	*/
       
   628     CIRIsdsPreset* iCurrentPreset;
       
   629 
       
   630 	/**
       
   631 	* iPreset1
       
   632 	* Used for storing the Prev Logo Data
       
   633 	*/
       
   634 	CIRIsdsPreset* iPrevPreset1;
       
   635 
       
   636 	/**
       
   637 	* iFadeStyle
       
   638 	* Used for directionality
       
   639 	*/
       
   640 	TIRFadeStyle iFadeStyle;
       
   641 
       
   642 	/**
       
   643 	* iIsOn
       
   644 	* Used for handling Menupane
       
   645 	*/
       
   646 	TBool iIsOn;
       
   647 
       
   648 	/**
       
   649 	* ipresets
       
   650 	* Used for Getting the Fav Presets
       
   651 	*/
       
   652 	RIRPresetArray ipresets;
       
   653 
       
   654 	/**
       
   655 	* iBuffer
       
   656 	* Used for storing the Station Name
       
   657 	*/
       
   658 	RBuf iBuffer;
       
   659 
       
   660 	/**
       
   661 	* iMenuPane
       
   662 	* Used for handling the MenuPane
       
   663 	*/
       
   664    	CEikMenuPane* iMenuPane;
       
   665 
       
   666    	/**
       
   667 	* iDs
       
   668 	* Used for holding the Commands
       
   669 	*/
       
   670    	TIRIds iDs;
       
   671 
       
   672 
       
   673    	/**
       
   674 	* iStationsData
       
   675 	* Used for Referencing the Stations Data
       
   676 	*/
       
   677    	CDesCArrayFlat* iStationsData;
       
   678 
       
   679    	/**
       
   680 	* iShowToolBar
       
   681 	* Used showing the Touch ToolBar
       
   682 	*/
       
   683    	TBool iShowToolBar;
       
   684 
       
   685 	/**
       
   686      * iMetadata
       
   687      * Used For storing the Metadata
       
   688      */
       
   689 	RBuf iMetadata;
       
   690 
       
   691  	/**
       
   692      * iStereoMode
       
   693      * Used For storing status of Stereo Mode
       
   694      */
       
   695 	TInt iStereoMode;
       
   696 
       
   697 
       
   698 	//Instance of CurrentOperationSettings
       
   699 	CIRSettings* iIRSettings;
       
   700 
       
   701 	 /**
       
   702 	 *iSameUrl
       
   703 	 *Used for showing the metadata
       
   704 	 */
       
   705 	 TBool iSameUrl;
       
   706 
       
   707 	/**
       
   708 	* Used For Pls
       
   709 	*/
       
   710 	CIRIsdsPreset *plsData;
       
   711 
       
   712 	/**
       
   713 	* iPlsIndex
       
   714 	* Used for Context Navigation
       
   715 	*/
       
   716 	TInt iPlsIndex;
       
   717 
       
   718 	/**
       
   719 	* iPresetValue
       
   720 	* Used for Loading the Logos
       
   721 	*/
       
   722 	TInt iPresetValue;
       
   723 
       
   724 	/**
       
   725 	* iPrecount
       
   726 	* Used for Loading the Logos
       
   727 	*/
       
   728 	TInt iPrecount;
       
   729 	/**
       
   730 	* iDefaultLogo
       
   731 	* Used for Loading the Logos
       
   732 	*/
       
   733 	TBool iDefaultLogo;
       
   734 	/**
       
   735 	* iUpdateLastplayed
       
   736 	* Used for Upadating the Lastplayed Song
       
   737 	*/
       
   738 	 TBool iUpdateLastplayed;
       
   739 	/**
       
   740 	* iUpdateStationName
       
   741 	* Used for Updating the Station Name
       
   742 	*/
       
   743 	 TBool iUpdateStationName;
       
   744 
       
   745 	/**
       
   746 	* iRockerIndex
       
   747 	* Used for Context Navigation
       
   748 	*/
       
   749 	TInt iRockerIndex;
       
   750 
       
   751    	/**
       
   752 	* iPresetCount
       
   753 	* Used for storing the index Value
       
   754 	*/
       
   755    	TInt iPresetCount;
       
   756 	/**
       
   757 	* iVolumeBarValue
       
   758 	* Stores the VolumeBar Value
       
   759 	*/
       
   760 	TInt iVolumeBarValue;
       
   761 
       
   762     /**
       
   763      * Flag used for When Equalizer is On.
       
   764      */
       
   765      TBool iEaualizerOn;
       
   766     /**
       
   767 	* iPlaying
       
   768 	* Checks Whether thr NowPlaying is Active or Not
       
   769 	*/
       
   770 	static TBool iPlaying;
       
   771 
       
   772 	/**
       
   773 	* iVolPopup
       
   774 	* The Instance of AknVolume Popup.
       
   775 	*/
       
   776 	CAknVolumePopup*  iVolPopup;
       
   777 
       
   778     /**
       
   779      * Flag Set When Call is active.
       
   780      */
       
   781     TBool iCallActive;
       
   782 
       
   783 
       
   784 	//Used for later in handling Stereo Mode
       
   785 	CStereoWidening* iStereoEffect;
       
   786     /*
       
   787 	 * iRequestPending
       
   788 	 * Checks whether an active request is pending
       
   789 	 */
       
   790 	TBool iRequestPending;
       
   791 
       
   792 	/*
       
   793 	 * iNextOrPrevRequest
       
   794 	 * Checks whether an active request is pending
       
   795 	 */
       
   796 	TBool iNextOrPrevRequest;
       
   797     /*
       
   798 	 * iStationHasLogo
       
   799 	 * Checks whether an active request is pending
       
   800 	 */
       
   801 
       
   802 	TBool iStationHasLogo;
       
   803 	/**
       
   804      * Indexes for items in Radio Idle, needed for keeping radio idle up to date.
       
   805      */
       
   806     TInt iBitrateIndex;
       
   807     TInt iNameIndex;
       
   808     TInt iMetadataIndex;
       
   809     TInt iPSNameIndex;
       
   810     TInt iNameIndex1;
       
   811    	/*
       
   812 	 * iLogoTimer
       
   813 	 * Instance of Timer Class To start the Media Animation
       
   814 	 */
       
   815 
       
   816  	CIRLogoTimer* iLogoTimer;
       
   817 
       
   818  	 /**
       
   819      * Indicates, has this view been activated in the life time of
       
   820      * the application.
       
   821      */
       
   822     TBool iHasBeenActivated;
       
   823    	 /**
       
   824      * Indicates, has this view been activated in the life time of
       
   825      * the application.
       
   826      */
       
   827     TInt iCommandId;
       
   828 	TInt iSettingsValue;
       
   829 	TBool iVolumeMute;
       
   830 	TInt iLogoIndex;
       
   831 	TBool iShowBitrate;
       
   832 
       
   833 	/**
       
   834      * Timer for delayed cleanup of connections.
       
   835      * Owned.
       
   836      */
       
   837     CPeriodic* iConnectionCleanupTimer;
       
   838 public:
       
   839     /**
       
   840 	* The Alf container. Not owned.
       
   841 	*/
       
   842 	CIRNowPlayingViewContainer* iContainer;
       
   843 
       
   844 	// TO Do: The Variable can be made private in Future
       
   845     };
       
   846 
       
   847 #endif      // C_CIRNOWPLAYINGVIEW_H