phoneapp/phoneuicontrol/inc/cphonestateidle.h
branchRCL_3
changeset 24 41a7f70b3818
parent 23 40a3f856b14d
child 25 5266b1f337bd
equal deleted inserted replaced
23:40a3f856b14d 24:41a7f70b3818
    20 #ifndef CPHONESTATEIDLE
    20 #ifndef CPHONESTATEIDLE
    21 #define CPHONESTATEIDLE
    21 #define CPHONESTATEIDLE
    22 
    22 
    23 // INCLUDES
    23 // INCLUDES
    24 #include "cphonestate.h"
    24 #include "cphonestate.h"
    25 #include "tphonecmdparamspeeddial.h"
       
    26 
    25 
    27 // FORWARD DECLARATIONS
    26 // FORWARD DECLARATIONS
    28 
    27 
    29 // CLASS DECLARATION
    28 // CLASS DECLARATION
    30 
    29 
    44         EDialMethodMenuSelection    = 1,
    43         EDialMethodMenuSelection    = 1,
    45         /** Dial is initiated by send command. */
    44         /** Dial is initiated by send command. */
    46         EDialMethodSendCommand      = 2,
    45         EDialMethodSendCommand      = 2,
    47         /** Dial is initiated by one key dialing. */
    46         /** Dial is initiated by one key dialing. */
    48         EDialMethodOneKeyDialing    = 3
    47         EDialMethodOneKeyDialing    = 3
       
    48 
       
    49         };
       
    50     
       
    51     /**
       
    52     * Phone number types
       
    53     *
       
    54     * EPhoneNumberTypeNotFound - phone number's type was not found
       
    55     * EPhoneNumberTypeCS - CS call can be made to the phone number
       
    56     * EPhoneNumberTypeVideo - video call can be made to the phone number
       
    57     * EPhoneNumberTypeVoip - VoIP call can be made to the address.
       
    58     */
       
    59     enum TPhoneNumberType
       
    60         {
       
    61         EPhoneNumberTypeNotFound = -1,
       
    62         EPhoneNumberTypeCS = 0,
       
    63         EPhoneNumberTypeVideo,
       
    64         EPhoneNumberTypeVoip
    49         };
    65         };
    50     
    66     
    51         /**
    67         /**
    52         * Destructor.
    68         * Destructor.
    53         */
    69         */
    77         * @param aMessage Message from Phone Engine
    93         * @param aMessage Message from Phone Engine
    78         * @param aCallId Call id the message concerns
    94         * @param aCallId Call id the message concerns
    79         */
    95         */
    80         IMPORT_C virtual void HandlePhoneEngineMessageL(
    96         IMPORT_C virtual void HandlePhoneEngineMessageL(
    81             const TInt aMessage, 
    97             const TInt aMessage, 
    82             TInt aCallId );
    98             TInt aCallId );       
    83             
    99             
    84         IMPORT_C virtual TBool HandleCommandL( TInt aCommand );
   100         IMPORT_C virtual TBool HandleCommandL( TInt aCommand );
    85         
   101         
    86         IMPORT_C virtual TBool ProcessCommandL( TInt aCommand );
   102         IMPORT_C virtual TBool ProcessCommandL( TInt aCommand );
    87 
   103 
    97 
   113 
    98         /**
   114         /**
    99         * Indicates when the Phone app has lost focus.
   115         * Indicates when the Phone app has lost focus.
   100         */
   116         */
   101         IMPORT_C virtual void HandlePhoneFocusLostEventL();
   117         IMPORT_C virtual void HandlePhoneFocusLostEventL();
   102         
   118 
   103         /**
       
   104         * This function is called from displaycallsetup and 
       
   105         * the purpose is to do state specific things for callsetup.
       
   106         */
       
   107         IMPORT_C virtual void DoStateSpecificCallSetUpDefinitionsL();
       
   108 		
       
   109 		/**
       
   110         * HandleError
       
   111         * Implements error handling framework
       
   112         * @param aErrorInfo: the error info
       
   113         */
       
   114         IMPORT_C virtual void HandleErrorL( 
       
   115                 const TPEErrorInfo& aErrorInfo );
       
   116     protected:
   119     protected:
   117 
   120 
   118         /** 
   121         /** 
   119         * Handle state-specific behaviour when number entry is cleared
   122         * Handle state-specific behaviour when number entry is cleared
   120         */ 
   123         */ 
   129         * @param aCallid call id
   132         * @param aCallid call id
   130         */
   133         */
   131         IMPORT_C void DisplayIncomingCallL( TInt aCallId );
   134         IMPORT_C void DisplayIncomingCallL( TInt aCallId );
   132 
   135 
   133         /**
   136         /**
       
   137         * Display Call Setup
       
   138         * @param aCallid call id
       
   139         */
       
   140         IMPORT_C void DisplayCallSetupL( TInt aCallId );
       
   141 
       
   142         /**
   134         * By default EPOC constructor is private.
   143         * By default EPOC constructor is private.
   135         */
   144         */
   136         IMPORT_C CPhoneStateIdle( 
   145         IMPORT_C CPhoneStateIdle( 
   137             MPhoneStateMachine* aStateMachine, 
   146             MPhoneStateMachine* aStateMachine, 
   138             MPhoneViewCommandHandle* aViewCommandHandle,
   147             MPhoneViewCommandHandle* aViewCommandHandle,
   176         * @param aCallId: the call id of the call
   185         * @param aCallId: the call id of the call
   177         */
   186         */
   178         IMPORT_C virtual void HandleDialingL( TInt aCallId );
   187         IMPORT_C virtual void HandleDialingL( TInt aCallId );
   179 
   188 
   180         /**
   189         /**
   181         * This is called when Speed Dial dialog is cancelled or user didn't give
       
   182         * a valid number.
       
   183         * @param aDigit: entered digit
       
   184         */
       
   185         IMPORT_C void SpeedDialCanceledL( const TUint& aDigit );
       
   186         
       
   187         /**
       
   188         * Handle long key press of a number.
       
   189         */
       
   190         IMPORT_C void HandleNumberLongKeyPressL();
       
   191         
       
   192         /**
       
   193         * Tests whether given number is speed dial number.
       
   194         * @param    aNumber    A number to test.
       
   195         * @return   ETrue if given number is speed dial number.
       
   196         */
       
   197         IMPORT_C TBool IsSpeedDialNumber( const TDesC& aNumber ) const;
       
   198         
       
   199         /**
       
   200         * Handles speed dialing.
       
   201         * @param aDigit             Entered digit.
       
   202         * @param aDialMethod        Dial initiation method.
       
   203         */
       
   204         IMPORT_C void SpeedDialL( const TUint& aDigit, 
       
   205             TDialInitiationMethod aDialMethod );
       
   206 
       
   207         /**
       
   208         * Handles send command.
   190         * Handles send command.
   209         */
   191         */
   210         IMPORT_C virtual void HandleSendCommandL();
   192         IMPORT_C virtual void HandleSendCommandL();
   211         
   193         
   212     protected:
       
   213         
       
   214         /**
       
   215         * Sets iCallInitialized value.
       
   216         */
       
   217         void SetCallInitialized( TBool aValue );
       
   218          
       
   219         /**
       
   220         * Gets iCallInitialized value.
       
   221         */
       
   222         TBool IsCallInitialized();
       
   223         
       
   224         /**
       
   225         * Removes NE and sets idle to background, for more detailed
       
   226         * information check comments from implementation.
       
   227         */
       
   228         void RemoveNumberEntryAndSetIdleToBackgroundIfNeededL();
       
   229         
       
   230     private: // New functions
   194     private: // New functions
   231         
   195 
   232         /**
   196         /**
   233         * A message handling function for EPEMessageIncoming
   197         * A message handling function for EPEMessageIncoming
   234         * @param aCallId: the call id of the call
   198         * @param aCallId: the call id of the call
   235         */
   199         */
   236         void HandleIncomingL( TInt aCallId );
   200         void HandleIncomingL( TInt aCallId );
   244         /**
   208         /**
   245         * A message handling function for EPEMessageIdle
   209         * A message handling function for EPEMessageIdle
   246         * @param aCallId: the call id of the call
   210         * @param aCallId: the call id of the call
   247         */
   211         */
   248         void HandleIdleL( TInt aCallId );
   212         void HandleIdleL( TInt aCallId );
   249 
       
   250         /**
       
   251         * Launches application.
       
   252         */
       
   253         void LaunchApplicationL();
       
   254 
   213 
   255         /**
   214         /**
   256         * Send Exit command
   215         * Send Exit command
   257         */
   216         */
   258         void SendExitCommandL();
   217         void SendExitCommandL();
   280         * @param none.
   239         * @param none.
   281         * @return ETrue if ongoing.
   240         * @return ETrue if ongoing.
   282         */
   241         */
   283         TBool RestoreOngoing();
   242         TBool RestoreOngoing();
   284         
   243         
   285         /**
   244 
   286         * Handles back command. 
   245         void HandleVoiceCallCommandL();
   287         */
       
   288         void HandleBackCommandL();
       
   289 
       
   290         /**
       
   291          * Checks for application launching configurations from 
       
   292          * central repository.
       
   293          * @param aCode key code.
       
   294          * @return ETrue if configuration found.
       
   295          */        
       
   296          TBool CheckAppLaunchingL( const TKeyCode aCode );
       
   297 
       
   298          /**
       
   299           * Returns phone number for specified speed dial location.
       
   300           * @param  aDigit Speed dial digit.
       
   301           * @param  aDigit On return contains speed dial parameters.
       
   302           * @return Phone number
       
   303           */   
       
   304          HBufC* NumberForSpeedDialLocationL( const TUint& aDigit,
       
   305              TPhoneCmdParamSpeedDial& aSpeedDialParam ) const;
       
   306 
       
   307          void HandleVoiceCallCommandL( TBool aSendKey );
       
   308 
       
   309          /**
       
   310           * Returns options menu id when number entry is visible.
       
   311           * If easydialing is in focus, id is asked from it.
       
   312           * @return Menu resource id.
       
   313           */   
       
   314          TInt GetNumberAcqMenuIdL();
       
   315          
       
   316          /**
       
   317           * Changes state to aState and resets iBubbleInitialized
       
   318           * value to false.
       
   319           */
       
   320          void ChangeTo( TInt aState );
       
   321          
   246          
   322     private:
   247     private:
   323         
   248     
   324          // True if call initiliazed.
   249         // Owned profile engine
   325          TBool iCallInitialized;
   250         MProfileEngine* iEngine;
       
   251         // indicates that incomming call is arrived.
       
   252         TBool iIncommingCall;
       
   253   
   326     };
   254     };
   327 
   255 
   328 #endif // CPHONESTATEIDLE
   256 #endif // CPHONESTATEIDLE
   329 
   257 
   330 // End of File
   258 // End of File