phoneapp/phoneuicontrol/inc/cphonestateidle.h
branchRCL_3
changeset 62 5266b1f337bd
parent 61 41a7f70b3818
--- a/phoneapp/phoneuicontrol/inc/cphonestateidle.h	Tue Aug 31 15:14:29 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestateidle.h	Wed Sep 01 12:30:10 2010 +0100
@@ -22,6 +22,7 @@
 
 // INCLUDES
 #include "cphonestate.h"
+#include "tphonecmdparamspeeddial.h"
 
 // FORWARD DECLARATIONS
 
@@ -45,23 +46,6 @@
         EDialMethodSendCommand      = 2,
         /** Dial is initiated by one key dialing. */
         EDialMethodOneKeyDialing    = 3
-
-        };
-    
-    /**
-    * Phone number types
-    *
-    * EPhoneNumberTypeNotFound - phone number's type was not found
-    * EPhoneNumberTypeCS - CS call can be made to the phone number
-    * EPhoneNumberTypeVideo - video call can be made to the phone number
-    * EPhoneNumberTypeVoip - VoIP call can be made to the address.
-    */
-    enum TPhoneNumberType
-        {
-        EPhoneNumberTypeNotFound = -1,
-        EPhoneNumberTypeCS = 0,
-        EPhoneNumberTypeVideo,
-        EPhoneNumberTypeVoip
         };
     
         /**
@@ -95,7 +79,7 @@
         */
         IMPORT_C virtual void HandlePhoneEngineMessageL(
             const TInt aMessage, 
-            TInt aCallId );       
+            TInt aCallId );
             
         IMPORT_C virtual TBool HandleCommandL( TInt aCommand );
         
@@ -115,7 +99,20 @@
         * Indicates when the Phone app has lost focus.
         */
         IMPORT_C virtual void HandlePhoneFocusLostEventL();
-
+        
+        /**
+        * This function is called from displaycallsetup and 
+        * the purpose is to do state specific things for callsetup.
+        */
+        IMPORT_C virtual void DoStateSpecificCallSetUpDefinitionsL();
+		
+		/**
+        * HandleError
+        * Implements error handling framework
+        * @param aErrorInfo: the error info
+        */
+        IMPORT_C virtual void HandleErrorL( 
+                const TPEErrorInfo& aErrorInfo );
     protected:
 
         /** 
@@ -134,12 +131,6 @@
         IMPORT_C void DisplayIncomingCallL( TInt aCallId );
 
         /**
-        * Display Call Setup
-        * @param aCallid call id
-        */
-        IMPORT_C void DisplayCallSetupL( TInt aCallId );
-
-        /**
         * By default EPOC constructor is private.
         */
         IMPORT_C CPhoneStateIdle( 
@@ -187,12 +178,57 @@
         IMPORT_C virtual void HandleDialingL( TInt aCallId );
 
         /**
+        * This is called when Speed Dial dialog is cancelled or user didn't give
+        * a valid number.
+        * @param aDigit: entered digit
+        */
+        IMPORT_C void SpeedDialCanceledL( const TUint& aDigit );
+        
+        /**
+        * Handle long key press of a number.
+        */
+        IMPORT_C void HandleNumberLongKeyPressL();
+        
+        /**
+        * Tests whether given number is speed dial number.
+        * @param    aNumber    A number to test.
+        * @return   ETrue if given number is speed dial number.
+        */
+        IMPORT_C TBool IsSpeedDialNumber( const TDesC& aNumber ) const;
+        
+        /**
+        * Handles speed dialing.
+        * @param aDigit             Entered digit.
+        * @param aDialMethod        Dial initiation method.
+        */
+        IMPORT_C void SpeedDialL( const TUint& aDigit, 
+            TDialInitiationMethod aDialMethod );
+
+        /**
         * Handles send command.
         */
         IMPORT_C virtual void HandleSendCommandL();
         
+    protected:
+        
+        /**
+        * Sets iCallInitialized value.
+        */
+        void SetCallInitialized( TBool aValue );
+         
+        /**
+        * Gets iCallInitialized value.
+        */
+        TBool IsCallInitialized();
+        
+        /**
+        * Removes NE and sets idle to background, for more detailed
+        * information check comments from implementation.
+        */
+        void RemoveNumberEntryAndSetIdleToBackgroundIfNeededL();
+        
     private: // New functions
-
+        
         /**
         * A message handling function for EPEMessageIncoming
         * @param aCallId: the call id of the call
@@ -212,6 +248,11 @@
         void HandleIdleL( TInt aCallId );
 
         /**
+        * Launches application.
+        */
+        void LaunchApplicationL();
+
+        /**
         * Send Exit command
         */
         void SendExitCommandL();
@@ -241,16 +282,47 @@
         */
         TBool RestoreOngoing();
         
+        /**
+        * Handles back command. 
+        */
+        void HandleBackCommandL();
 
-        void HandleVoiceCallCommandL();
+        /**
+         * Checks for application launching configurations from 
+         * central repository.
+         * @param aCode key code.
+         * @return ETrue if configuration found.
+         */        
+         TBool CheckAppLaunchingL( const TKeyCode aCode );
+
+         /**
+          * Returns phone number for specified speed dial location.
+          * @param  aDigit Speed dial digit.
+          * @param  aDigit On return contains speed dial parameters.
+          * @return Phone number
+          */   
+         HBufC* NumberForSpeedDialLocationL( const TUint& aDigit,
+             TPhoneCmdParamSpeedDial& aSpeedDialParam ) const;
+
+         void HandleVoiceCallCommandL( TBool aSendKey );
+
+         /**
+          * Returns options menu id when number entry is visible.
+          * If easydialing is in focus, id is asked from it.
+          * @return Menu resource id.
+          */   
+         TInt GetNumberAcqMenuIdL();
+         
+         /**
+          * Changes state to aState and resets iBubbleInitialized
+          * value to false.
+          */
+         void ChangeTo( TInt aState );
          
     private:
-    
-        // Owned profile engine
-        MProfileEngine* iEngine;
-        // indicates that incomming call is arrived.
-        TBool iIncommingCall;
-  
+        
+         // True if call initiliazed.
+         TBool iCallInitialized;
     };
 
 #endif // CPHONESTATEIDLE