diff -r 000000000000 -r 5f000ab63145 phoneapp/phoneuicontrol/inc/cphonestateidle.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneapp/phoneuicontrol/inc/cphonestateidle.h Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,296 @@ +/* +* 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: +* Idle state implementation. +* +*/ + + +#ifndef CPHONESTATEIDLE +#define CPHONESTATEIDLE + +// INCLUDES +#include "cphonestate.h" +#include "tphonecmdparamspeeddial.h" + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +/** +* Idle state +*/ +class CPhoneStateIdle : public CPhoneState + { + public: + + /** Dial initiation method. */ + enum TDialInitiationMethod + { + /** Dial initiation method unknown. */ + EDialMethodUnknown = 0, + /** Dial is initiated by explicit call type selection from menu.*/ + EDialMethodMenuSelection = 1, + /** Dial is initiated by send command. */ + EDialMethodSendCommand = 2, + /** Dial is initiated by one key dialing. */ + EDialMethodOneKeyDialing = 3 + + }; + + /** + * Destructor. + */ + IMPORT_C virtual ~CPhoneStateIdle(); + + /** + * Creates the Idle state class + * @param aStateMachine: a container of state objects + * @param aViewCommandHandle: handle to the PhoneUIView + * @return an instance of class CPhoneStateIdle + */ + static CPhoneStateIdle* NewL( + MPhoneStateMachine* aStateMachine, + MPhoneViewCommandHandle* aViewCommandHandle, + MPhoneCustomization* aPhoneCustomization ); + + IMPORT_C virtual void HandleKeyEventL( + const TKeyEvent& aKeyEvent, + TEventCode aEventCode ); + + IMPORT_C void HandleKeyMessageL( + TPhoneKeyEventMessages aMessage, + TKeyCode aCode ); + + /** + * A message handling function for Phone Engine messages + * @param aMessage Message from Phone Engine + * @param aCallId Call id the message concerns + */ + IMPORT_C virtual void HandlePhoneEngineMessageL( + const TInt aMessage, + TInt aCallId ); + + IMPORT_C virtual TBool HandleCommandL( TInt aCommand ); + + IMPORT_C virtual TBool ProcessCommandL( TInt aCommand ); + + /** + * Indicates when the Idle app is in the foreground. + */ + IMPORT_C virtual void HandleIdleForegroundEventL(); + + /** + * Indicates when the Phone app is in the foreground. + */ + IMPORT_C virtual void HandlePhoneForegroundEventL(); + + /** + * Indicates when the Phone app has lost focus. + */ + IMPORT_C virtual void HandlePhoneFocusLostEventL(); + + protected: + + /** + * Handle state-specific behaviour when number entry is cleared + */ + IMPORT_C virtual void HandleNumberEntryClearedL(); + + IMPORT_C virtual TBool HandleRemConCommandL( + TRemConCoreApiOperationId aOperationId, + TRemConCoreApiButtonAction aButtonAct ); + + /** + * Display Incoming Call + * @param aCallid call id + */ + 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( + MPhoneStateMachine* aStateMachine, + MPhoneViewCommandHandle* aViewCommandHandle, + MPhoneCustomization* aPhoneCustomization ); + + /** + * ConstructL() + */ + IMPORT_C virtual void ConstructL(); + + /** + * Dial the specified number. + * @param aNumber The number to call. + * @param aNumberType A number type. + * @param aDialMethod A dial initiation method. + */ + IMPORT_C virtual void DialL( const TDesC& aNumber, + TPhoneNumberType aNumberType, TDialInitiationMethod aDialMethod ); + + /** + * Dial CS multimedia call + * @param None + */ + IMPORT_C void DialMultimediaCallL(); + + /** + * Dial CS voice call + * @param None + */ + IMPORT_C void DialVoiceCallL(); + + /** + * Handles situation when hash key has been kept down long + * (long keypress) and the hash character is the only character + * in number entry. + */ + IMPORT_C virtual void OnlyHashInNumberEntryL(); + + /** + * A message handling function for EPEMessageDialling + * @param aCallId: the call id of the call + */ + 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(); + + private: // New functions + + /** + * A message handling function for EPEMessageIncoming + * @param aCallId: the call id of the call + */ + void HandleIncomingL( TInt aCallId ); + + /** + * A message handling function for EPEMessageHandleConnected + * @param aCallId: the call id of the call + */ + void HandleConnectedL( TInt aCallId ); + + /** + * A message handling function for EPEMessageIdle + * @param aCallId: the call id of the call + */ + void HandleIdleL( TInt aCallId ); + + /** + * Launches application. + */ + void LaunchApplicationL(); + + /** + * Send Exit command + */ + void SendExitCommandL(); + + /** + * Dials video call + */ + void DialVideoCallL(); + + /** + * Handles end key press that was catched in HandleKeyMessageL + * @param aMessage - key event message + */ + void HandleEndKeyPressL( TPhoneKeyEventMessages aMessage ); + + /** + * Changes manner mode. + * Switches from any profile to the Silent profile or from the + * Silent profile to the General profile. + */ + void ChangeMannerModeL(); + + /** + * Checks if MC/PCSuite restore ongoing. + * @param none. + * @return ETrue if ongoing. + */ + TBool RestoreOngoing(); + + /** + * Handles back command. + */ + void HandleBackCommandL(); + + /** + * 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 ); + + private: + + // Owned profile engine + MProfileEngine* iEngine; + // indicates that incomming call is arrived. + TBool iIncommingCall; + + }; + +#endif // CPHONESTATEIDLE + +// End of File