phoneapp/phoneuiview/inc/cphonenotecontroller.h
changeset 0 5f000ab63145
child 15 2a26698d78ba
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview/inc/cphonenotecontroller.h	Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,150 @@
+/*
+* 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 CPhoneUIDisabledNote;
+
+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