diff -r 41a7f70b3818 -r 5266b1f337bd phoneapp/phoneuiview/inc/cphonenotecontroller.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuiview/inc/cphonenotecontroller.h Wed Sep 01 12:30:10 2010 +0100 @@ -0,0 +1,149 @@ +/* +* Copyright (c) 2005 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: PhoneUI Note Controller +* +*/ + +/* +*/ +#ifndef CPHONENOTECONTROLLER_H +#define CPHONENOTECONTROLLER_H + + +// INCLUDES +#include "cphoneprogressnote.h" +#include "mphonetimer.h" + +// FORWARD DECLARATIONS +class TPhoneCommandParam; +class CPhoneTimer; +class CEikonEnv; +class CPhoneNote; + +class CPhoneNoteController : public CBase, public MPhoneTimer + { + public: + + /** + * Two-phased constructor. + */ + static CPhoneNoteController* NewL( CEikonEnv& aEikEnv ); + + /** + * Destructor. + */ + virtual ~CPhoneNoteController(); + + void CreateNoteL( TPhoneCommandParam* aCommandParam ); + + void DestroyNote(); + + void DestroyDTMFNote(); + + void DestroyGlobalNoteL(); + + void CreateGlobalNoteL( TPhoneCommandParam* aCommandParam ); + + void CreateProgressNoteL( TPhoneCommandParam* aCommandParam ); + + void DestroyProgressNote(); + + /** + * This function is called after on timeout. + */ + void HandleTimeOutL(); + + /** + * Writes information is note visible or not + * to the given command parameter. + * @param aCommandParam - boolean param + */ + void IsNoteVisible( TPhoneCommandParam* aCommandParam ); + + /** + * Writes information is progress note visible or not + * to the given command parameter. + * @param aCommandParam - boolean param + */ + void IsProgressNoteVisible( TPhoneCommandParam* aCommandParam ); + + /** + * Writes information is note or not + * to the given command parameter. + * @param aCommandParam - boolean param + */ + void IsNoteActive( TPhoneCommandParam* aCommandParam ); + + /** + * Returns true if active note is dismissable by key event, else false. + * @param aCommandParam - boolean param + */ + void IsActiveNoteDissmissableByKeyEvent( TPhoneCommandParam* aCommandParam ); + + /** + * Updates softkeys to note + * @param aCommandParam - integer param for resolved resource id + */ + void UpdateNoteSoftkeysL( TPhoneCommandParam* aCommandParam ); + + private: + + /** + * C++ default constructor. + */ + CPhoneNoteController( CEikonEnv& aEikEnv ); + + /** + * Updates information text to ongoing note + * @param aCommandParam - note param + */ + void UpdateNoteTextL( TPhoneCommandParam* aCommandParam ); + + private: // Data + + // Actual note + CPhoneNote* iNote; + + CPhoneProgressNote* iProgressNote; + + // Owned timer instance. + CPhoneTimer* iProgressUpdateTimer; + + // Interval of progress updates. + TInt iInterval; + + // Current progress. + TInt iProgressBarCount; + + // Time to wait until next attempt. + TInt iWaitTime; + + TTime iStartTime; + + /** + * ID of global note. + */ + TInt iGlobalNoteId; + + // Eikon environment delivered from CPhoneViewController + CEikonEnv& iEikEnv; + + // Note's text + TDesC* iNoteText; + + }; + +#endif // CPHONENOTECONTROLLER_H + +// End of File