internetradio2.0/uiinc/irnowplayingwrapper.h
changeset 0 09774dfdd46b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/uiinc/irnowplayingwrapper.h	Mon Apr 19 14:01:53 2010 +0300
@@ -0,0 +1,917 @@
+/*
+* Copyright (c) 2006-2007 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:  ?Description
+*
+*/
+
+
+/* ---------------------------------------------------------------------------
+*  Version history:
+*  Template version:
+*  <ccm_history>
+*
+*  Version: 19, Fri Sep 19 13:00:00 2008 by Rohit
+*  Ref:
+*  Added ASF detection and Integrated CIRAsfPlayer in Now Playing scenario
+*
+*  </ccm_history>
+* ============================================================================
+*/
+
+#ifndef IRNOWPLAYINGWRAPPER_H
+#define IRNOWPLAYINGWRAPPER_H
+
+#include <e32base.h>
+#include <BADESCA.H>
+#include <AknProgressDialog.h>
+
+#include "irstreamsourceobserver.h"
+#include "irctrlcommand.h"
+#include "IRNetworkControllerObserver.h" //TIRConnectionType Defined
+#include "irsessionlogger.h" //TConnectedFrom defined
+#include <Etel3rdParty.h>
+#include "IRActiveNetworkObserver.h"
+class CIRStreamSource;
+class CIRCtrlCmdObserver;
+class CIRMediaClient;
+class CIRReportGenerator;
+class CIRSettings;
+class CIRIsdsWrapper;
+class CIRMetaData;
+class CIRIsdsPreset;
+class CIRUi;
+class CAknWaitDialog;
+class CIRAsfPlayer;
+
+//CONSTANTS
+
+//Ulr Validation
+const TInt KMaxBufferSize = 256;
+const TInt KMaxUrlSize = 256;
+enum TSyncState
+	{
+	ESyncStateNull,
+	ESyncReqPending,
+	ESyncPsChanged,
+	EPsConnectionFailed,
+	EPsConnectionSuccessful
+	};
+
+//for nowplaying view
+
+enum TIRViews
+{
+  ELastplayed=0,
+  EFav,
+  ESearch,
+  EHistoryView,
+  EStations,
+  EBrowseByTopStations,
+  EPls
+};	
+
+
+class CIRNowPlayingWrapper:public CBase,
+						   public MIRStreamSourceObserver,
+						   public MIRCtrlCmdObserver,
+						   public MProgressDialogCallback,
+						   public MIRActiveNetworkObserver
+	{
+	
+public:
+
+	/* Function : NewL
+	 * function to return an instance of CIRIsdsWrapper
+	 * Two phase constructor
+     */
+ 	static CIRNowPlayingWrapper* NewL(CIRUi& aAppUi,CIRSettings& aIRSettings,
+ 								CIRIsdsWrapper& aIsdsWrapper);        
+
+    /**
+     * NewLC.
+     * Two-phased constructor.
+     * Create a CIRIsdsWrapper object, which will draw itself
+     * to aRect.
+     */
+    static CIRNowPlayingWrapper* NewLC(CIRUi& aAppUi,CIRSettings& aIRSettings,
+    						CIRIsdsWrapper& aIsdsWrapper);        
+
+    /**
+     * ~CIRIsdsWrapper
+     * Destructor.
+     */
+    ~CIRNowPlayingWrapper();
+ 
+    /**
+     * ConstructL
+     * 2nd phase constructor.
+     * Perform the second phase construction of a
+     * CIRSearchView object.
+     */
+    void ConstructL();
+		
+	/**
+     * CIRSearchView.
+     * C++ default constructor.
+     */
+    CIRNowPlayingWrapper(CIRUi& aAppUi,CIRSettings& aIRSettings,CIRIsdsWrapper& aIsdsWrapper);  
+	
+	//MCLASSES FUNCTIONS
+	
+	/** 
+	 *  MIRStreamSourceObserver::OpenComplete()
+	 *  Called when connected to the channel server  
+	 *  To implement the fill of buffer
+	 */
+	void OpenComplete(); 
+
+	/** 
+	 *  MIRStreamSourceObserver::ErrorConnecting()
+	 *  Called when there is an error when connecting to the channel server  
+	 *  @Param aErrorCode Indicates the type of error as described in
+	 * 		   irstreamsourceerrors.h
+	 */
+	void ErrorConnecting(TInt aErrorCode);
+
+	/** 
+	 *  MIRStreamSourceObserver::PlayNow()
+	 *  Called to indicate to the player to start playing
+	 */
+	void PlayNow();
+
+	/** 
+	 *  MIRStreamSourceObserver::Play()
+	 *  Triggers the play after reconnecting to the channel
+	 */
+	void Play();
+	
+	/** 
+	 *  MIRStreamSourceObserver::StopBuffering()
+	 *  Called to indicate to the player to stop buffering
+	 */
+	void StopBuffering();
+
+	/** 
+	 *  MIRStreamSourceObserver::ConnectionEstablished(TInt aFeedValue)
+	 *  Called to indicate that the connection to channel server is sucessful
+	 */
+	void ConnectionEstablished();
+
+	/** 
+	 *  MIRStreamSourceObserver::UpdateProgress()
+	 *  Called to provide teh buffer values
+	 *  @param aFeedValue used to pump the buffering value
+	 */
+	void UpdateProgress(TInt aFeedValue);
+
+    /**
+     * Function : HandleMetaDataReceivedL
+     * Invoked when meta data is received.
+     * @param   aMetaData   The meta data that was received.
+     */
+    void HandleMetaDataReceivedL( const CIRMetaData& aMetaData );
+
+
+	// Callbacks for ASF Player
+
+	/** 
+	 *  MIRStreamSourceObserver::ErrorConnecting()
+	 *  Called when there is an error when connecting to the channel server  
+	 *  @Param aErrorCode Indicates the type of error as described in
+	 * 		   irstreamsourceerrors.h
+	 */
+	void Asf_ErrorConnecting(TInt aErrorCode);
+
+	/** 
+	 *  MIRStreamSourceObserver::Asf_ConnectionEstablished(TInt aFeedValue)
+	 *  Called to indicate that the connection to channel server is sucessful
+	 */
+	void Asf_ConnectionEstablished();
+
+	/** 
+	 *  MIRStreamSourceObserver::Asf_UpdateProgress()
+	 *  Called to provide teh buffer values
+	 *  @param aFeedValue used to pump the buffering value
+	 */
+	void Asf_UpdateProgress(TInt aFeedValue);
+
+    /**
+     * Function : Asf_HandleMetaDataReceivedL
+     * Invoked when meta data is received.
+     * @param   aMetaData   The meta data that was received.
+     */
+    void Asf_HandleMetaDataReceivedL( const CIRMetaData& aMetaData );
+
+	// MIRCtrlCmdObserver functions
+
+    /**
+     * Function : MCrtlCmdCommand
+     * Function is pure virtual function which used to pass commands
+     * @param TIRControlCommmand represents the commands,which determines 
+     * what action to be taken
+     * @param aValue represents any integer value if any, like buffering
+     * percentage
+     */
+    void MCtrlCommand( TIRControlCommmand aCommand, TInt aValue );
+
+    /**
+     * Function : FetchVolume
+     * Function is pure virtual function which sents Request to get the
+     * current volume index
+     * @return volume index
+     */
+    TInt FetchVolume();
+    
+    /**
+     * Function : DoAudioFadeOut
+     * Function is pure virtual function, it is used to sent request start 
+     * audio Fade Out
+     */
+    void DoAudioFadeOut();
+     
+     /**
+     * Function : PlayerChanged
+     * Function is pure virtual function, it is Notified Wnen Audio Player Changes
+     */
+    void PlayerChanged();
+    
+    /**
+    * ConnectToChannelL()
+    * This function is called to connect to a particular channel
+    */
+	void ConnectToChannelL(CIRIsdsPreset& aPreset);
+	
+	/**
+	* SelectUrlUsingBitRate()
+	* Selects the proper URL based on settings of quality according to current network
+	*/
+	void SelectUrlUsingBitRateL(CIRIsdsPreset& aPreset);
+	
+	/**
+	* DisplayErrorNoteL()
+	* Display the error note
+	*/
+ 	void DisplayErrorNoteL(TInt aResourceId);
+
+ 	/**
+ 	* DoConnectToServerL()
+ 	* Connects to Server.
+ 	*/ 
+	void DoConnectToServerL(const TDesC8& aUrl);
+	
+	/**
+	* GetAvailableBitRate()
+	* Selects proper bit rate from the settings
+	*/
+ 	TInt GetAvailableBitRate(TInt aQualiyRequired,const CIRIsdsPreset& aPreset) const;
+	
+	/**
+	* LogStartSession()
+	* Starts the session log session
+	*/
+	void LogStartSession();
+	
+	/**
+	* SetCurrentChannelID()
+	* Function sets currently playing channel ID
+	*/
+	void SetCurrentChannelID();
+	
+	/**
+	* ConnectToServerL()
+	* Starts playing the selected stream
+	*/
+	void ConnectToServerL();
+
+	/**
+	* SetCurrentConnectionSource
+	* Sets from where the current connection to the channel server is established.
+	*/
+	void SetCurrentConnectionSource(TConnectedFrom aConnectedFrom);
+
+	/**
+	* DoErrorConnectingL
+	* Called by ErrorConnectingL when there is an error in connectiong
+	*/
+	void DoErrorConnectingL(TInt aErrorCode);
+	
+	/**
+	* ProgressBarCancelL()
+	* Cancels the Network request and stops the buffering on progressbar cancel
+	*/
+	void ProgressBarCancel();
+	
+	/**
+	* DoPlayingStateChangedL()
+	* Handles internal state change and P&S when playing is stopped or started
+	*/
+	void DoPlayingStateChanged( TBool aPlaying );
+	
+	/**
+	* DoPlayL()
+	* First try to reconnect to the last played channel url
+	*/
+	void DoPlayL();
+	
+	/**
+	* StopNow() 
+	* Function calls stop functionality
+	*/
+	void StopNow();
+	
+	/**
+	* ClearMetaDataL
+	* Clears the current meta data information.
+	*/
+	void ClearMetaDataL();
+	
+	//TInt GetSupportedMimeTypeL()
+	/**
+	* ListenToChannelL()
+	* Requests for listening to a particular channel
+	*/
+	void ListenToChannelL(CIRIsdsPreset* aPreset);
+	
+	/**
+	* MetaData()
+	* Returns the current meta data information.
+	*/
+	const CIRMetaData& MetaData() const;
+	
+	/**
+	* DialogDismissedL()
+	* Called when the refresh dialog is dismissed.
+	* @param aButtonId The button that was used to dismiss the dialog.
+	*/
+	void DialogDismissedL( TInt aButtonId );
+	
+	/**
+	* BufferingTimerExpiredL()
+	* Called when the buffering times out
+	*/
+	static TInt BufferingTimerExpired(TAny* aPtr);
+	
+	/**
+	* HandlePlayError()
+	* Handles play error || should called only through MCtrlCommand
+	*/
+	void HandlePlayError();
+
+	/**
+	* SetOverlay()
+	* sets over lay enable flag
+	*/
+	void SetOverlay(TBool aPresent);
+
+	/**
+	* PlayAndStopL()
+	* Performs play and stop functionality
+	*/
+	void PlayAndStopL();
+	
+	/**
+	* LoadTerminateSession()
+	* The loading cancel result in session log end
+	*/
+	void LoadTerminateSessionL();
+
+    /**
+    * GetMediaClientInstance()
+    * Returns the Media Client Instance
+    */
+	CIRMediaClient* GetMediaClientInstance();
+    
+	/**
+	* GetReportGeneratorInstance()
+	* Returns the ReportGenerator Instance
+	*/
+	CIRReportGenerator* GetReportGeneratorInstance();
+	
+	/**
+	* GetTerminatedLogOnCancelState()
+	* Returns the iTerminatedLogOnCancel Value
+	*/
+	TBool GetTerminatedLogOnCancelState();
+	
+	/**
+	* GetSessionStartState()
+	* Returns the iSessionStart Value
+	*/
+	TBool GetSessionStartState();
+
+	/**
+	* SetSessionStartState()
+	* Sets the iSessionStart Value
+	*/
+	void SetSessionStartState(TBool aSessionStart);
+	/**
+	* CancelNetworkRequestL()
+	* Cancels the Network Request
+	*/
+	void  CancelNetworkRequestL();
+	/**
+	* SetVolumeL()
+	* Set the Volume of the Player Via Hardware Media Keys
+	*/
+	void 	SetVolumeL(TInt aIndex);
+
+	/**
+	* IsProgress()
+	* Returns the iProgress Value
+	*/
+	TBool IsProgress();
+
+	/**
+	* SetConnectToServerState
+	* Sets the iConnectToServer Value
+	*/
+	void SetConnectToServerState(TBool aConnectToServer);
+
+	/**
+	* GetConnectToServerState
+	* Returns the iConnectToServer Value
+	*/
+	TBool GetConnectToServerState();
+		
+	/**
+	* GetPrevVolumeLevel
+	* Returns the Prev Volume When Message is Received
+	* Or Any NetWork Events
+	*/
+	TInt  GetPrevVolumeLevel();
+		
+	/**
+	* SetPrevVolumeLevel
+	* Sets the Volume For handling the Network Events
+	*/
+
+    void  SetPrevVolumeLevel(TInt aPrevVolume);
+    	
+	/**
+	* SetMetadataL
+	* Sets the Metadata
+	*/
+
+    void  SetMetadataL();
+    	
+	/**
+	* PublishDataL
+	* Publish the Metadata Required for History
+	*/
+  	void  PublishDataL();
+  	
+  	
+	/**
+	* StopPlayer
+	* Stop the Player
+	*/
+  	void  StopPlayer();
+  	
+ 	/**
+	* SetMedadataForErrotrConditions
+	* Sets the Metadata Flag During Error Conditions
+	*/
+  	void  SetMedadataForErrotrConditions(TBool aDisplayMetaData);
+  	
+  	/**
+	* GetMedadataForErrotrConditions
+	* Returns the Error condition to Nowplaying View
+	*/
+  	TBool  GetMedadataForErrotrConditions();
+  	/**
+	* GetMarquee
+	* Returns the iMarQuee which is Set During HandleMetadataReceived
+	*/
+  	TBool  GetMarquee();
+
+  	/**
+	* SetMarquee
+	* Sets the Marquee value required for NowPlaying view
+	*/
+  	void  SetMarquee(TBool aMarquee);
+    /**
+	* SetView
+	* Set by Every View to its TIRViews when Listen is Done
+	*/
+  	void  SetView(TIRViews aContextViews);
+
+	/**
+	* GetView
+	* Returns the View Where Listen Has Done
+	*/
+  	TIRViews  GetView();
+  	
+	/**
+	* SetAudioVolume()
+	* Call CPeriodic after the period is over
+	* @param volume level.
+	*/
+	void SetAudioVolume(TInt aValue);
+
+
+	/**
+	* CreateWaitDialogL()
+	* Called whenever Connecting to channel
+	*/
+	void CreateWaitDialogL();
+	
+	/**
+	* DestroyWaitDialogL()
+	* Destroys the Wait Dialog
+	*/
+	void DestroyWaitDialogL();
+	
+	/**
+	* SetProgress()
+	* Sets The Progress Value
+	*/
+	void SetProgress(TBool aProgress);
+
+	/**
+	* GetChannelConnetedInfo()
+	* Returns Whether the channel connected or not
+	*/
+	TBool GetChannelConnetedInfo();
+	
+	/**
+	* HandleNetworkDisconnected()
+	* Function called when network got disconnected While Buffering
+	*/
+	void HandleNetworkDisconnected();
+
+	/**
+	* HandleNetworkEstablished()
+	* Function called when network Connection Established In ALr
+	*/
+
+	void HandleNetworkEstablished();
+	
+	  /**
+	 *  Removes whitespace characters. 
+	 *  Called from HandleMetaDataReceivedL.
+	 *  @param string to be cleaned.
+	 */
+    void RemoveWhiteSpace( TDes& aBuf );
+
+    /**
+	 * 	Checks The Call status. 
+	 *  Checks the Call status Whether it is Incoming Call or OutGoing Call
+	 */
+	TBool CheckCallStatusL();
+	//from MIRActiveNetworkObserver
+	
+	/**
+	 * Notifies all observers whose network request is active
+	 * to reissue the request  
+	 * NotifyActiveNetworkObserversL()
+	 */	
+	 void NotifyActiveNetworkObserversL(TIRNetworkEvent aEvent);
+
+	 /**
+	 * Notifies all observers whose network request is active
+	 * to reset the pending request status  
+	 * ResetPendingRequests()
+	 */	
+	 void ResetPendingRequests(TBool aValue);
+
+
+	/**
+	*TriggerCommandL.()
+	*
+	* triggering the Commands to the view
+	*/
+	void TriggerCommandL(TInt iCommandId);
+
+
+	/**
+	* GetSessionStartedFlag()
+	* Returns the iSessionStarted Flag Value
+	*/
+	TBool GetSessionStartedFlag();
+	/**
+	* SetSessionStartedFlag()
+	* Sets the iSessionStartedFlag  Value
+	*/
+	void SetSessionStartedFlag(TBool aSessionStartedFlag);
+	/**
+	* UpdateNmsLogEventsL()
+	* Updates Nms Log events
+	*/
+	void UpdateNmsLogEventsL(const TDesC& aNmsType);
+	
+	 /**
+     * Function :SetListenFromIsdsValue()
+     * Sets when Listen from Isds is Done 
+     * @param aListenFromIsds Sets when Listen from Isds is Done
+     */
+	 void SetListenFromIsdsValue(TInt aListenFromIsds);  
+   
+   	 /**
+     * Function :SetListenFromIsdsValue()
+     * Sets When User Cancels Buffering 
+     * @param aDialogCanceled Sets When User Cancels Buffering
+     */
+	 void SetWhenUserCancelsBufferingWaitBar(TInt aDialogCanceled);  
+
+   	 /**
+     * Function :SetWhenUserCancelsIsdsBufferingWaitBar()
+     * Sets When User Cancels Buffering WaitBar From Isds Listen
+     * @param aCancelFrmIsds Sets When User Cancels Buffering
+     */
+	 void SetWhenUserCancelsIsdsBufferingWaitBar(TInt aCancelFrmIsds);  
+
+	 /**
+     * Function :GetWhenUserCancelsIsdsBufferingWaitBar()
+     * Returns When User Cancels Isds Buffering WaitBar
+     * @return Returns Cancels Isds Buffering WaitBar
+     */
+	 TInt GetWhenUserCancelsIsdsBufferingWaitBar();  
+	/**
+     * Function :SetLaunchNowPlayingView()
+     * Sets the varible if NowPlaying is active
+     * @param aLaunchNowplaying the variable being set
+     */
+	 void SetLaunchNowPlayingView(TBool aLaunchNowplaying  );
+ 	 
+ 	 /**
+     * Function :GetLaunchNowPlayingView()
+     * Returns the active state of NowPlaying View
+     * @return Returns the Nowplayinf View active State
+     */
+	 TBool GetLaunchNowPlayingView(); 
+	/**
+     * Function :SetFavFocus()
+     * Sets the foucs in Mainview
+     * @param aFavIndex Focus to set in MainView
+     */
+	 void SetFavFocus(TInt aFavIndex  );
+ 	
+ 	 /**
+     * Function :GetFavFocus()
+     * Returns the Current Focus to set
+     * @return Returns value to set focus  in MainView
+     */
+	 TInt GetFavFocus(); 
+
+private:
+   //Instance of MediaClient
+	CIRMediaClient* iPlayer;
+
+
+	//Instance of StreamSource
+	CIRStreamSource* iNetwork;
+	
+	//instance of command channel
+	CIRCtrlCmdObserver* iChannel;
+	
+	
+	
+	//Session Log
+	CIRReportGenerator *iReportGenerator;
+	
+	/**
+	* iIRSettings
+	* Instance of CurrentOperationSettings
+	*/
+	CIRSettings& iIRSettings;
+	
+ 	/**
+	* iIsdsWrapper
+	* Instance of ISDSWrapper
+	*/
+    CIRIsdsWrapper& iIsdsWrapper;
+    
+    /**
+    * CIRUi& aAppUi
+    * Instance of CIRUi
+    */
+    CIRUi& iAppUi;
+    
+    /**
+     * Current meta data information.
+     * Owned.
+     */
+    CIRMetaData* iMetaData;
+    
+	//index for URLs in iURLArray array
+	TInt iURLCount;
+	
+	//holds the array of URLs
+	CDesCArrayFlat* iURLArray;
+	
+	//multiple URL selection will be enabled only before connecting
+	//to particular channel server once connected this disabled until
+	//next time you try to connect to the channel this is monitored
+	//by this flag
+	TBool iMultipleURLSelect;
+	
+	TBool iConnectionRequestCancelled;
+	
+	//Indiacates that it is reconnecting to the channel
+	TBool iReConnecting;
+
+	//last connected channels preset id
+	TInt iLastConnectedPresetId;
+	
+	//last connected channel url
+	TBuf<KMaxBufferSize> iLastConnectedUrl;
+	
+	//Last played URL
+	TBuf<KMaxUrlSize> iLastPlayedUrl;
+	
+	//last played channel's unique id
+	TInt iLastConnectedPresetUniqId;
+	
+	//checks if session log should be terminated on loading cancel
+	TBool iTerminatedLogOnCancel;
+	
+	// Used for checking the Audio has been fadein/fadeout
+	TBool iAudioFadein;
+	
+	// URL
+	TBuf<KMaxUrlSize> iUrl;
+	
+	//checks whether a session is started
+	TBool iSessionStart;
+	
+	//this variable check whether the session should actually end or not
+	//in case of multiple url select
+	TBool iSessionShouldNotEnd;
+
+	// Checks whether channel is Connected to Server or not
+	TBool iConnectToServer;
+
+	// Check the Connection
+//	TSyncState iSyncState
+	
+	//stores the channel id of currently playing channel
+	TInt iChannelID;
+
+	//Bitrate to subscribe
+    TInt iBitRateValue;
+    
+ 	// Checks whether the channel is connected or not
+	TBool iChannelConnect;
+
+	//Holds the Network connection status
+	TBool iIsConnected;
+
+	//Connected from information is stored in iConnectedFrom
+	TConnectedFrom iConnectedFrom;
+
+	// Stores the error code 
+	TInt iConnErrCode;
+
+	// checks the Status of the Progress bar
+	TBool iProgress;	
+
+	//Flag used to test Radio Playback 
+     TBool iPlayBack;
+    //Unconnected URL
+	TBuf<KMaxUrlSize> iUnconnectedUrl;
+	
+	
+	/**
+	* iPrevVolumeLev
+	* Stores thr Prev Volume Level
+	*/
+
+	TInt iPrevVolumeLevel;
+	
+	/**
+	* iBufferigSteamText
+	* Data for checking the text of the WaitDialog
+	*/
+	TBool iBufferigSteamText;
+	
+	/**
+	* iWaitDialog
+	* calls the waitdialog owned by
+	* CAknWaitDialog
+	*/   
+	CAknWaitDialog* iWaitDialog;
+	
+	// Used for displaying Metadata
+	TBool iDisplayMetaData;
+	/**
+	* iMarquee
+	* Instance For Confirming Whether to Display Metadata
+	*/
+	TBool  iMarquee;
+
+    //User for testing Existence of Network request
+	TBool iCancelNetworkRequest;
+	
+		//For context navigation in nowplaying view//
+    TIRViews iContextViews;
+    
+   /**
+	* iCheckValue
+	* Instance Used to check While Connecting To a Channel
+	*/
+	TBool  iCheckValue;
+	
+	/**
+	* iChannelConnected
+	* Instance Used to check whether the current 
+	* channel is connected or not
+	*/
+	TBool  iChannelConnected;
+	
+	/**
+	* iPlayandStop
+	* Set when Play or Stop is Done Fom Nowplaying View
+	*/
+	TBool  iPlayandStop;
+
+	/**
+	* iNotify
+	* Set when Connection is established during ALR
+	*/
+	TBool iNotify;
+	
+	/**
+	* iAsfPlayer
+	* ASF Player instance for ASF streaming
+	*/
+	CIRAsfPlayer* iAsfPlayer;
+
+	/**
+	* iAsfStreaming
+	* Indicates ASF channel streaming is on
+	*/
+	TBool  iAsfStreaming;
+	
+	/**
+	* iSessionStartedFlag
+	* sets when session startedL is called
+	*/
+	TBool iSessionStartedFlag;
+	/**
+	* iListenFromIsds
+	* When Listen From Isds is Done 
+	*/
+
+	TBool iListenFromIsds;
+	
+	/**
+	* iDialogCanceled
+	* 	when dialog is dismissed
+	*/
+	TBool  iDialogCanceled;
+
+	/**
+	* iCancelFrmIsds
+	* Cancel is Done from ISds
+	*/
+	TBool iCancelFrmIsds;
+	/**
+	* iLaunchNowplaying
+	* Set if NowPlaying View is Active
+	*/
+	TBool iLaunchNowplaying;
+	
+	/**
+	* iBufferingRequestCancelled
+	* Sets this Value When User Cancels buffering
+	*/
+
+	TBool iBufferingRequestCancelled;
+	
+	TInt selectedbitrate ;
+	
+	TInt iUinqid;
+	
+	TInt iFavIndex;
+	TInt iQualityRequired;
+public:
+	//Instance of CIRIsdsPreset
+	//contains the preset on which the connection attempt is made
+	CIRIsdsPreset* iNowPlayingPreset;
+	
+	//Instance of CIRIsdsPreset
+	//Contains the preset which is editable
+	CIRIsdsPreset* iEditStationPreset;
+
+	//Holds the playing status
+	TBool iPlaying;
+	
+	/**
+	* iSyncPreset
+	* sets the status of synchronizing the preset
+	*/
+	TBool iSyncPreset;
+	};
+	
+#endif //IRNOWPLAYINGWRAPPER_H
\ No newline at end of file