/*
* 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: view for pls list
*
*/
#ifndef CIRPLSVIEW_H
#define CIRPLSVIEW_H
#include <akntoolbarobserver.h>
#include <aknbutton.h>
#include "irbaseview.h"
#include "IRActiveNetworkObserver.h"
class CIRUi;
class CIRPlsContainer;
class CIRIsdsPreset;
class MIRActiveNetworkObserver;
//========================================class declaration CIRPlsView============================================
/**
* This class Creates CIRPlsView.
* Handles the all the options defined for the view.
*
* @code
* Create instance of .pls view.
* CIRPlsView* self = new (ELeave) CIRPlsView;
*
* Create the instance of container.
* iContainer = CIRPlsView::NewL(AppUi()->
ApplicationRect());
*
* @endcode
*
*/
class CIRPlsView : public CIRBaseView,
public MAknToolbarObserver,
public MIRActiveNetworkObserver
{
public:
/**
* NewL.
* Two-phased constructor.
* Create a CIRPlsView object, which will draw itself to aRect.
* @param aRect The rectangle this view will be drawn to.
* @return a pointer to the created instance of CIRPlsView.
*/
static CIRPlsView* NewL(const TRect& aRect);
/**
* NewLC.
* Two-phased constructor.
* Create a CIRPlsView object, which will draw itself
* to aRect.
* @param aRect Rectangle this view will be drawn to.
* @return A pointer to the created instance of CIRPlsView.
*/
static CIRPlsView* NewLC(const TRect& aRect);
/**
* ~CIRPlsView
* Destructor.
*/
~CIRPlsView();
/**
* Id()
* defines the Id of the view.
* returns the UId of the view.
*/
TUid Id() const;
/**
* HandleCommandL()
* Handles the user input commands.
* @param aCommand The command generated by user keypress..
*/
void HandleCommandL(TInt aCommand);
/**
* DynInitMenuPaneL()
* Dynamically loads the menu pane.
* @param aResourceId,the resource Id of the view.
* @param aMenuPane,Pointer to the menu pane.
*/
void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
//for listen and add to favorites
private:
/**
* ConstructL
* 2nd phase constructor.
* Perform the second phase construction of a
* @param aRect The rectangle this view will be drawn to.
*/
void ConstructL(const TRect& aRect);
/**
* CIRPlsView.
* C++ default constructor.
*/
CIRPlsView();
/**
* DoActivateL()
* Activates the view.
*/
void DoActivateL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,
const TDesC8& aCustomMessage);
/**
* DoDeactivate()
* DeActivates the view.
*/
void DoDeactivate();
//added for touch toolbar
// From MAknToolbarObserver
void DynInitToolbarL( TInt aResourceId, CAknToolbar* aToolbar );
/**
* OfferToolbarEventL()
* Handles all the events for the touch tool bar.
*/
void OfferToolbarEventL( TInt aCommand );
/**
* HandleStatusPaneSizeChange()
* Handles the Change in the status Pane
*/
void HandleStatusPaneSizeChange();
/**
* HandleForegroundEventL()
* Handles the foreground event.
*/
void HandleForegroundEventL( TBool aForeground );
/**
* ConstructToolbarL()
* Construct the touch toolbar.
*/
void ConstructToolbarL();
public:
//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);
/**
* SecondConstruct()
* To again initialise when Second pls file is opened.
*/
void SecondConstruct();
private:
/*
* iRequestPending
* Checks whether an active request is pending
*/
TBool iRequestPending;
//instance of CIRPlsViewContainer
CIRPlsContainer* iContainer;
};
#endif // IR_PLSVIEW_H