phoneapp/phoneuicontrol/inc/cphonestate.h
changeset 77 2be0b271d017
parent 72 c76a0b1755b9
child 76 cfea66083b62
equal deleted inserted replaced
72:c76a0b1755b9 77:2be0b271d017
    20 #ifndef CPHONESTATE_H
    20 #ifndef CPHONESTATE_H
    21 #define CPHONESTATE_H
    21 #define CPHONESTATE_H
    22 
    22 
    23 // INCLUDES
    23 // INCLUDES
    24 #include <w32std.h>
    24 #include <w32std.h>
       
    25 #include <eikenv.h>
    25 #include <remconcoreapitargetobserver.h>
    26 #include <remconcoreapitargetobserver.h>
    26 #include <MProfileEngine.h>
    27 #include <MProfileEngine.h>
    27 #include "mphonestate.h"
    28 #include "mphonestate.h"
    28 #include "mphoneviewcommandhandle.h"
    29 #include "mphoneviewcommandhandle.h"
    29 #include "cphonecbamanager.h"
    30 #include "cphoneuicommandmanager.h"
       
    31 #include "cphonenumberentrymanager.h"
    30 
    32 
    31 // FORWARD DECLARATIONS
    33 // FORWARD DECLARATIONS
    32 class MPhoneState;
    34 class MPhoneState;
    33 class MPhoneStateMachine;
    35 class MPhoneStateMachine;
    34 class CPhoneCallHeaderManager;
       
    35 class TPhoneCmdParamCallHeaderData;
    36 class TPhoneCmdParamCallHeaderData;
    36 class MPhoneCustomization;
    37 class MPhoneCustomization;
    37 class CPhoneNumberEntryManager;
       
    38 
       
    39 enum TStateTransEffectType
       
    40     {
       
    41     ENoneType,
       
    42     ENumberEntryOpen,
       
    43     ENumberEntryClose,
       
    44     ENumberEntryCreate
       
    45     };
       
    46 
    38 
    47 // CLASS DECLARATION
    39 // CLASS DECLARATION
    48 
    40 
    49 /**
    41 /**
    50 *  An abstract class for an object implementing the state.
    42 *  An abstract class for an object implementing the state.
    53 class CPhoneState :
    45 class CPhoneState :
    54     public CBase,
    46     public CBase,
    55     public MPhoneState
    47     public MPhoneState
    56     {
    48     {
    57     public:
    49     public:
    58 
    50         
       
    51         enum TNumberEntrySetRule
       
    52             {
       
    53             ESetNEVisibilityFalse,
       
    54             ECheckIfNEUsedBeforeSettingVisibilityFalse
       
    55             };
    59         /**
    56         /**
    60         * Constructor
    57         * Constructor
    61         */
    58         */
    62         IMPORT_C CPhoneState(
    59         IMPORT_C CPhoneState(
    63             MPhoneStateMachine* aStateMachine,
    60             MPhoneStateMachine* aStateMachine,
    64             MPhoneViewCommandHandle* aViewCommandHandle,
    61             MPhoneViewCommandHandle* aViewCommandHandle,
    65             MPhoneCustomization* aCustomization);
    62             MPhoneCustomization* aCustomization);
    66 
    63 
    67         /**
    64         /**
    68         * Creates CbaManager instance.
    65         * Creates UiCommandManager instance.
    69         */
    66         */
    70         IMPORT_C void BaseConstructL();
    67         IMPORT_C void BaseConstructL();
    71 
    68 
    72         /**
    69         /**
    73         * Destructor.
    70         * Destructor.
   109         IMPORT_C virtual void HandleKeyEventL(
   106         IMPORT_C virtual void HandleKeyEventL(
   110             const TKeyEvent& aKeyEvent,
   107             const TKeyEvent& aKeyEvent,
   111             TEventCode aEventCode );
   108             TEventCode aEventCode );
   112 
   109 
   113         /**
   110         /**
   114         * From CEikAppUi. For Idle indicator
       
   115         */
       
   116         IMPORT_C virtual void HandleSystemEventL(
       
   117             const TWsEvent& aEvent );
       
   118 
       
   119         /**
       
   120         * From CAknAppUi, indicates when app ui is on the foreground.
       
   121         * @param aForeground It is true if app is on the foreground.
       
   122         */
       
   123         IMPORT_C virtual void HandleForegroundEventL( TBool aForeground );
       
   124 
       
   125         /**
       
   126         * Indicates when the Phone app is in the foreground.
       
   127         */
       
   128         IMPORT_C virtual void HandlePhoneForegroundEventL();
       
   129 
       
   130         /**
       
   131         * Indicates when the Phone app is losing focus.
       
   132         */
       
   133         IMPORT_C virtual void HandlePhoneFocusLostEventL();
       
   134 
       
   135         /**
       
   136         * Indicates when the Idle app is in the foreground.
       
   137         */
       
   138         IMPORT_C virtual void HandleIdleForegroundEventL();
       
   139 
       
   140         /**
       
   141         * Indicates when the keylock events
       
   142         */
       
   143         IMPORT_C virtual void HandleKeyLockEnabled( TBool aKeylockEnabled );
       
   144 
       
   145         /**
       
   146         * Handles startup of the phone application
   111         * Handles startup of the phone application
   147         */
   112         */
   148         IMPORT_C virtual void HandlePhoneStartupL();
   113         IMPORT_C virtual void HandlePhoneStartupL();
   149 
   114 
   150         /**
   115         /**
   157             const TUid& aCategory,
   122             const TUid& aCategory,
   158             const TUint aKey,
   123             const TUint aKey,
   159             const TInt aValue );
   124             const TInt aValue );
   160 
   125 
   161         /**
   126         /**
   162         * Handle the change of the setting from Central Repository
       
   163         * @param aUid identifing the central repository UID.
       
   164         * @param aId central repository ID.
       
   165         */
       
   166         IMPORT_C virtual void HandleCenRepChangeL(
       
   167             const TUid& aUid,
       
   168             const TUint aId );
       
   169 
       
   170         /**
       
   171         * Handles commands.
   127         * Handles commands.
   172         * @param aCommand It is the code of the command to be handled.
   128         * @param aCommand It is the code of the command to be handled.
   173         * @returns boolean value was the command handled by the state
   129         * @returns boolean value was the command handled by the state
   174         *          (ETrue) or not (EFalse)
   130         *          (ETrue) or not (EFalse)
   175         */
   131         */
   192         IMPORT_C virtual TBool HandleRemConCommandL(
   148         IMPORT_C virtual TBool HandleRemConCommandL(
   193             TRemConCoreApiOperationId aOperationId,
   149             TRemConCoreApiOperationId aOperationId,
   194             TRemConCoreApiButtonAction aButtonAct);
   150             TRemConCoreApiButtonAction aButtonAct);
   195 
   151 
   196         /**
   152         /**
   197         * Setter for divert indication showing in bubble.
       
   198         * @param aDivertIndication ETrue to show divert indication,
       
   199         *          EFalse to not. Usually setting EFalse isn't necessary
       
   200         *         as it's a default value in bubble creation.
       
   201         */
       
   202         IMPORT_C virtual void SetDivertIndication(
       
   203             const TBool aDivertIndication );
       
   204 
       
   205         /**
       
   206         * Checks whether customized dialer view is active,
       
   207         * @return ETrue if customized dialer is active
       
   208         */
       
   209         IMPORT_C TBool IsCustomizedDialerVisibleL() const;
       
   210 
       
   211         /**
       
   212          * Plays DTMF tone for key event
   153          * Plays DTMF tone for key event
   213          * */
   154          * */
   214         IMPORT_C void HandleDtmfKeyToneL( const TKeyEvent& aKeyEvent,
   155         IMPORT_C void HandleDtmfKeyToneL( const TKeyEvent& aKeyEvent,
   215                 TEventCode aEventCode );
   156                 TEventCode aEventCode );
   216 
   157 
   231         */
   172         */
   232         IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId,
   173         IMPORT_C void SendGlobalErrorNoteL( TInt aResourceId,
   233                 TBool aNotificationDialog = EFalse );
   174                 TBool aNotificationDialog = EFalse );
   234 
   175 
   235         /**
   176         /**
   236          * Get blocked key list
       
   237          * @returns RArray<TInt>& lsit of blocked keys 
       
   238          */
       
   239         IMPORT_C const RArray<TInt>& GetBlockedKeyList() const;
       
   240 
       
   241         /**
       
   242          * Disable HW Keys if needed
       
   243          */
       
   244         IMPORT_C void DisableHWKeysL();
       
   245 
       
   246         /**
       
   247          * Disable Call UI
       
   248          */
       
   249         IMPORT_C void DisableCallUIL();
       
   250 
       
   251         /**
       
   252          * Enable Call UI
       
   253          */
       
   254         IMPORT_C void EnableCallUIL();
       
   255 
       
   256         /**
       
   257          * Disable HW Keys and Call UI if needed
       
   258          */
       
   259         IMPORT_C void CheckDisableHWKeysAndCallUIL();
       
   260 
       
   261         /**
       
   262          * Handle hold switch key event when there is an incoming or waiting call
       
   263          */
       
   264         IMPORT_C void HandleHoldSwitchL();
       
   265         
       
   266         /**
       
   267          * Enable HW Keys and Call UI if needed
       
   268          */
       
   269         IMPORT_C void CheckEnableHWKeysAndCallUIL();
       
   270         
       
   271         /**
       
   272         * Fetches autolock information - is it set on or not
   177         * Fetches autolock information - is it set on or not
   273         * @return is autolock set on (ETrue) or off (EFalse)
   178         * @return is autolock set on (ETrue) or off (EFalse)
   274         */
   179         */
   275         IMPORT_C TBool IsAutoLockOn() const;
   180         IMPORT_C TBool IsAutoLockOn() const;
   276 
   181 
   277         /**
   182         /**
   278         * Return is sim state ok
   183         * Return is sim state ok
   279         * @return ETrue if is sim ok, otherwise EFalse
   184         * @return ETrue if is sim ok, otherwise EFalse
   280         **/
   185         **/
   281         IMPORT_C TBool IsSimOk();
   186         IMPORT_C TBool IsSimOk();
   282 
   187           
   283         /**
   188          /**
   284         * Checks Svivel state.
   189          * Getter for CEikonEnv to avoid use of static system calls
   285         * @return ETrue if swivel is closed.
   190          * @return CEikonEnv handle
   286         */
   191          */
   287         IMPORT_C TBool IsSwivelClosed() const;
   192          IMPORT_C CEikonEnv* EikonEnv() const;
   288 
   193          
   289         /**
   194          /**
   290         * Check if note, query or blockingDialog is visible
   195          * Setter for CEikonEnv to avoid use of static system calls
   291         * @return boolean value indicating that note, query or
   196          * @param CEikonEnv handle
   292         * blocking dialog is visible
   197          */
   293         */
   198          IMPORT_C virtual void SetEikonEnv( CEikonEnv* aEnv );
   294         IMPORT_C TBool IsAnyQueryActiveL();
   199          
   295 
   200          /**
   296         /*
   201          * Dial CS voice call
   297         * If KFeatureIdFfSimlessOfflineSupport is undefined and
   202          */
   298         * UI shows note which will be closed by key event then
   203          IMPORT_C void DialVoiceCallL();
   299         * method return ETrue otherwise EFalse.
   204          
   300         */
   205          /**
   301         TBool IsNoteDismissableL();
   206          * Checks whether customized dialer view is active,
   302 
   207          * @return ETrue if customized dialer is active
   303         IMPORT_C void RetainPreviousKeylockStateL();
   208          */
   304         
   209          IMPORT_C TBool IsCustomizedDialerVisibleL() const;
   305     public: // NumberEntry functions.
   210          
   306 
   211          /**
   307         /**
   212          * Handle state-specific behaviour when number entry is cleared
   308         * Check if number entry is used
   213          */
   309         * @return boolean value indicating that number entry is used
   214          IMPORT_C virtual void HandleNumberEntryClearedL();
   310         */
   215          
   311         IMPORT_C virtual TBool IsNumberEntryUsedL();
   216          /**
   312 
   217          * Sets up call header.(removes phone dialogs, 
   313         /**
   218          * sets dialer visibility according to aRule value and puts 
   314         * Check if number entry is visible
   219          * phone on top of everything). Orders UiCommand manager to
   315         * @return boolean value indicating that number entry is visible
   220          * update CBS's etc.
   316         */
   221          * @param aCallId - call id to set up
   317         IMPORT_C TBool IsNumberEntryVisibleL();
   222          * @param aRule - Number Entry visibility set option.
   318 
   223          */ 
       
   224           IMPORT_C void DisplayCallHeaderL( 
       
   225                   TInt aCallId,
       
   226                   TNumberEntrySetRule aRule );
   319     protected:
   227     protected:
   320 
   228 
   321         /**
   229         /**
   322         * Handle EPEMessageAudioMuteChanged
   230         * Handle EPEMessageAudioMuteChanged
   323         */
   231         */
   342         * Dial CS multimedia call
   250         * Dial CS multimedia call
   343         */
   251         */
   344         IMPORT_C void DialMultimediaCallL();
   252         IMPORT_C void DialMultimediaCallL();
   345 
   253 
   346         /**
   254         /**
   347         * Dial CS voice call
       
   348         */
       
   349         IMPORT_C void DialVoiceCallL();
       
   350 
       
   351         /**
       
   352         * Disconnect call
   255         * Disconnect call
   353         */
   256         */
   354         IMPORT_C TBool DisconnectCallL();
   257         IMPORT_C TBool DisconnectCallL();
   355 
       
   356         /**
       
   357         * Display idle screen
       
   358         */
       
   359         IMPORT_C void DisplayIdleScreenL();
       
   360 
   258 
   361         /**
   259         /**
   362         * Set up the Idle screen in the background for the cases
   260         * Set up the Idle screen in the background for the cases
   363         * where the phone is no longer the top application (eg. end
   261         * where the phone is no longer the top application (eg. end
   364         * call when an external app is being displayed)
   262         * call when an external app is being displayed)
   365         */
   263         */
   366         IMPORT_C void SetupIdleScreenInBackgroundL();
   264         IMPORT_C void RemoveDialogsAndSendPhoneToBackgroundL();
   367 
       
   368         /**
       
   369         * Display call header for call coming in ( the remote info data
       
   370         * and picture is displayed immediately )
       
   371         * @param aCallid call id
       
   372         * @param aWaitingCall waiting call indication
       
   373         */
       
   374         IMPORT_C void DisplayHeaderForCallComingInL(
       
   375             TInt aCallId,
       
   376             TInt aWaitingCall );
       
   377 
       
   378         /**
       
   379         * Sets call header texts for call coming in
       
   380         * @param aCallid call id
       
   381         * @param aWaitingCall waiting call indication
       
   382         * @param aCallHeaderData - Call header parameter into which the text
       
   383         *                          will be set.
       
   384         */
       
   385         IMPORT_C void SetCallHeaderTextsForCallComingInL(
       
   386             TInt aCallId,
       
   387             TBool aWaitingCall,
       
   388             TPhoneCmdParamCallHeaderData* aCallHeaderData );
       
   389 
       
   390         /**
       
   391         * Display call header for outgoing call (the phone number is initially
       
   392         * displayed)
       
   393         * @param aCallid call id
       
   394         */
       
   395         IMPORT_C void DisplayHeaderForOutgoingCallL( TInt aCallId );
       
   396 
   265 
   397         /**
   266         /**
   398         * Update Single Active Call
   267         * Update Single Active Call
   399         * @param aCallid call id
   268         * @param aCallid call id
   400         */
   269         */
   403         /**
   272         /**
   404         * Update remote information data in the call header
   273         * Update remote information data in the call header
   405         * @param aCallid call id
   274         * @param aCallid call id
   406         */
   275         */
   407         IMPORT_C void UpdateRemoteInfoDataL( TInt aCallId );
   276         IMPORT_C void UpdateRemoteInfoDataL( TInt aCallId );
   408 
       
   409         /**
       
   410         * Return remote info data
       
   411         * @param aCallid call id
       
   412         * @param aData the returned remote info data
       
   413         */
       
   414         IMPORT_C void GetRemoteInfoDataL( TInt aCallId, TDes& aData );
       
   415 
   277 
   416         /**
   278         /**
   417         * Show note
   279         * Show note
   418         * @param aResourceId resource id to be resolved
   280         * @param aResourceId resource id to be resolved
   419         */
   281         */
   437             TInt aDialogResourceId,
   299             TInt aDialogResourceId,
   438             TInt aDefaultCbaResourceId,
   300             TInt aDefaultCbaResourceId,
   439             TInt aContentCbaResourceId,
   301             TInt aContentCbaResourceId,
   440             TDes* aDataText,
   302             TDes* aDataText,
   441             TBool aSendKeyEnabled = EFalse );
   303             TBool aSendKeyEnabled = EFalse );
   442         
       
   443         /**
       
   444         * Check if the application needs to be sent to the background
       
   445         * @return boolean value indicating that application needs to be
       
   446         *  sent to the background
       
   447         */
       
   448         IMPORT_C TBool NeedToSendToBackgroundL() const;
       
   449 
       
   450         /**
       
   451         * Check if the top application is currently displayed in the foreground
       
   452         * @return boolean value indicating that top app is displayed
       
   453         */
       
   454         IMPORT_C TBool TopAppIsDisplayedL() const;
       
   455 
   304 
   456         /**
   305         /**
   457         * Displays the call termination note, if required
   306         * Displays the call termination note, if required
   458         */
   307         */
   459         IMPORT_C void DisplayCallTerminationNoteL();
   308         IMPORT_C void DisplayCallTerminationNoteL();
   515         * Shows 'Number busy' note.
   364         * Shows 'Number busy' note.
   516         */
   365         */
   517         IMPORT_C void ShowNumberBusyNoteL();
   366         IMPORT_C void ShowNumberBusyNoteL();
   518 
   367 
   519         /**
   368         /**
   520         * Fetches keylock information - is it set on or not
       
   521         * @return is keylock set on (ETrue) or off (EFalse)
       
   522         */
       
   523         IMPORT_C TBool IsKeyLockOn() const;
       
   524 
       
   525         /**
       
   526         * Informs Phone Engine Sat request completion
       
   527         * @param aCallId a call id
       
   528         */
       
   529         IMPORT_C void CompleteSatRequestL( const TInt aCallId );
       
   530 
       
   531         /**
       
   532         * Sets the call header type used in the call bubble.
       
   533         */
       
   534         IMPORT_C void SetCallHeaderType( TInt aCallHeaderType );
       
   535 
       
   536         /**
       
   537         * Informs view that UI is being updated (call bubble or number editor).
   369         * Informs view that UI is being updated (call bubble or number editor).
   538         * EndUiUpdate() must be called when update is done.
   370         * EndUiUpdate() must be called when update is done.
   539         */
   371         */
   540         IMPORT_C void BeginUiUpdateLC();
   372         IMPORT_C void BeginUiUpdateLC();
   541 
   373 
   551         * @return true if note should be shown
   383         * @return true if note should be shown
   552         */
   384         */
   553         IMPORT_C virtual TBool CheckIfShowCallTerminationNote( );
   385         IMPORT_C virtual TBool CheckIfShowCallTerminationNote( );
   554 
   386 
   555         /*
   387         /*
   556         * Sets used touchpane buttons.
       
   557         *
       
   558         * @param touchpane resource id.
       
   559         */
       
   560         IMPORT_C void SetTouchPaneButtons( TInt aResourceId );
       
   561 
       
   562         /*
       
   563         * Destroys touchpane buttons.
   388         * Destroys touchpane buttons.
   564         */
   389         */
   565         IMPORT_C void DeleteTouchPaneButtons();
   390         IMPORT_C void DeleteTouchPaneButtons();
   566 
   391 
   567         /**
   392         /**
   568         * Set default flags values.
   393         * Set default flags values.
   569         * No active call
   394         * No active call
   570         */
   395         */
   571         IMPORT_C void SetDefaultFlagsL();
   396         IMPORT_C void SetDefaultFlagsL();
   572 
       
   573         /**
       
   574         * Check if contact info available and
       
   575         * shown waiting note with or without caller name
       
   576         */
       
   577         IMPORT_C void CallWaitingNoteL( TInt aCallId );
       
   578 
   397 
   579         /*
   398         /*
   580         * Sets ringtone playback.
   399         * Sets ringtone playback.
   581         * @param aCallId call id
   400         * @param aCallId call id
   582         */
   401         */
   590         
   409         
   591         /**
   410         /**
   592         * Opens soft reject message editor.
   411         * Opens soft reject message editor.
   593         */
   412         */
   594         IMPORT_C virtual void OpenSoftRejectMessageEditorL();
   413         IMPORT_C virtual void OpenSoftRejectMessageEditorL();
   595 
   414         
   596     protected: // NumberEntry functions.
   415     protected:
   597 
   416 
   598         /**
   417         /**
   599         * Set Number Entry visibility.
   418         * Sets toolbar loudspeaker button enabled.
   600         * @param aVisible ETrue if numberentry is wanted to be shown
   419         */
   601         *                 (Note ETrue will set NE CBA's)
   420         IMPORT_C void SetToolbarButtonLoudspeakerEnabled();
   602         *                 EFalse if numberentry isnt wanted to be shown
       
   603         *                 (Note EFalse doesnt affact to CBA's)
       
   604         */
       
   605         IMPORT_C void SetNumberEntryVisibilityL( const TBool aVisible );
       
   606 
       
   607         /**
       
   608         * Create call if in numberentry more that 2 number and Send key
       
   609         * Send manual control sequence
       
   610         * if 1-2 number in numberentry and Send key
       
   611         */
       
   612         IMPORT_C void CallFromNumberEntryL();
       
   613 
       
   614         /**
       
   615          * Returns phone number from the phone number entry.
       
   616          * @return  Phone number
       
   617          */
       
   618         IMPORT_C HBufC* PhoneNumberFromEntryLC();
       
   619 
       
   620         /**
       
   621         * Check if number entry content is stored
       
   622         * @return boolean value indicating that number entry content is stored
       
   623         */
       
   624         IMPORT_C TBool IsNumberEntryContentStored();
       
   625 
       
   626         /**
       
   627         * Stores the number entry content to the cache
       
   628         */
       
   629         IMPORT_C void StoreNumberEntryContentL();
       
   630 
       
   631         /**
       
   632         * Clears the number entry content cache
       
   633         */
       
   634         IMPORT_C void ClearNumberEntryContentCache();
       
   635 
       
   636         /**
       
   637          * Returns ETrue if alphanumeric characters are supported.
       
   638          * @param aKeyEvent Key event.
       
   639          * @return ETrue if alphanumeric chars are supported.
       
   640          */
       
   641          IMPORT_C TBool IsAlphanumericSupportedAndCharInput(
       
   642                      const TKeyEvent& aKeyEvent );
       
   643 
       
   644          /**
       
   645          * Handle state-specific behaviour when number entry is cleared
       
   646          */
       
   647          IMPORT_C virtual void HandleNumberEntryClearedL();
       
   648 
       
   649          /**
       
   650          * Internal number entry handling methods.
       
   651          */
       
   652          void NumberEntryClearL();
       
   653 
       
   654          /**
       
   655          * Sets toolbar loudspeaker button enabled.
       
   656          */
       
   657          IMPORT_C void SetToolbarButtonLoudspeakerEnabled();
       
   658          
   421          
   659          /**
   422         /**
   660          * Sets state of TitleBar Back button 
   423         * Sets state of TitleBar Back button 
   661          */
   424         */
   662          IMPORT_C void SetBackButtonActive( TBool aActive );
   425         IMPORT_C void SetBackButtonActive( TBool aActive );
   663 
   426 
       
   427          /**
       
   428          * Updates ui commands 
       
   429          */
       
   430          IMPORT_C void UpdateUiCommands();
       
   431          
   664     protected:
   432     protected:
   665 
       
   666        /**
       
   667        * Returns updated remote information data.
       
   668        * NOTE: This metohed is used when state receives
       
   669        * EPEMessageRemotePartyInfoChanged from PhoneEngine.
       
   670        * @param aCallId - Call Id.
       
   671        */
       
   672        TPhoneCmdParamCallHeaderData UpdateCallHeaderInfoL( TInt aCallId );
       
   673 
   433 
   674        /**
   434        /**
   675        * Checks if call is waiting, returns ETrue if call is waiting
   435        * Checks if call is waiting, returns ETrue if call is waiting
   676        * otherwise EFalse.
   436        * otherwise EFalse.
   677        * @param aCallId, call id.
   437        * @param aCallId, call id.
   744         * Handles network ciphering info changes
   504         * Handles network ciphering info changes
   745         */
   505         */
   746         void HandleCallSecureStatusChangeL( TInt aCallId );
   506         void HandleCallSecureStatusChangeL( TInt aCallId );
   747 
   507 
   748         /**
   508         /**
   749         * Handles change als line command
       
   750         */
       
   751         void ChangeAlsLineL();
       
   752 
       
   753         /**
       
   754         * Active call id
   509         * Active call id
   755         */
   510         */
   756         TInt GetActiveCallIdL();
   511         TInt GetActiveCallIdL();
   757 
   512 
   758         /**
   513         /**
   759         * Shows WLAN MAC address note
   514         * Shows WLAN MAC address note
   760         */
   515         */
   761         void ShowWlanMacAddressL();
   516         void ShowWlanMacAddressL();
   762 
   517         
   763         /**
       
   764         * Check if ALS line change is possible
       
   765         */
       
   766         TBool IsAlsLineChangePossible();
       
   767 
       
   768         /**
   518         /**
   769         * A message handling function for message EPEMessageRemoteBusy
   519         * A message handling function for message EPEMessageRemoteBusy
   770         * @param aCallId a call id
   520         * @param aCallId a call id
   771         */
   521         */
   772         void HandleRemoteBusyL( const TInt aCallId );
   522         void HandleRemoteBusyL( const TInt aCallId );
   773 
   523 
   774         /**
   524         /**
   775         * Creates caller information. Sets CNAP, phone number, thumbnail image
       
   776         * etc. into the call header parameter.
       
   777         * @param aCallId - Call Id.
       
   778         * @param aCallHeaderData - Call header parameter where modifications
       
   779         *                          are made.
       
   780         */
       
   781         void CreateCallerInfoL( const TInt aCallId,
       
   782             TPhoneCmdParamCallHeaderData* aCallHeaderData );
       
   783 
       
   784         /**
       
   785         * TCleanupOperation to call EndUiUpdate(), if leave occurs
   525         * TCleanupOperation to call EndUiUpdate(), if leave occurs
   786         * after BeginUiUpdate().
   526         * after BeginUiUpdate().
   787         */
   527         */
   788         static void UiUpdateCleanup(TAny* aThis );
   528         static void UiUpdateCleanup(TAny* aThis );
   789 
   529 
   812          * Handles changes in the SIM card state.
   552          * Handles changes in the SIM card state.
   813          */
   553          */
   814         void HandleSimStateChangedL();
   554         void HandleSimStateChangedL();
   815 
   555 
   816         /*
   556         /*
   817          * Checks is given key contains numeric charaters or if customization is used
       
   818          * alphanumeir letters
       
   819         */
       
   820         TBool IsValidAlphaNumericKey( const TKeyEvent& aKeyEvent,
       
   821                 TEventCode aEventCode );
       
   822 
       
   823         /*
       
   824          * Checks if keyevent is from dtmf key and sends it to phone-engine
   557          * Checks if keyevent is from dtmf key and sends it to phone-engine
   825          */
   558          */
   826         void SendDtmfKeyEventL( const TKeyEvent& aKeyEvent,
   559         void SendDtmfKeyEventL( const TKeyEvent& aKeyEvent,
   827                 TEventCode aEventCode  );
   560                 TEventCode aEventCode  );
   828 
       
   829         /*
       
   830          * Creates call header manager if needed.
       
   831         */
       
   832         CPhoneCallHeaderManager* CallheaderManagerL();
       
   833 
       
   834         /*
       
   835         * Creates number entry content if needed.
       
   836         */
       
   837         CPhoneNumberEntryManager* NumberEntryManagerL();
       
   838 
       
   839         /*
       
   840         * Updated Cba when Swivel state changes.
       
   841         */
       
   842         void UpdateCbaSwivelStateChangedL();
       
   843 
   561 
   844         /**
   562         /**
   845         * Loads data commonengine stringloader.
   563         * Loads data commonengine stringloader.
   846         * @param aData - The returned data including needed text.
   564         * @param aData - The returned data including needed text.
   847         * @param aResourceId - Resource id for text.
   565         * @param aResourceId - Resource id for text.
   848         */
   566         */
   849         void LoadResource( TDes& aData, const TInt aResource ) const;
   567         void LoadResource( TDes& aData, const TInt aResource ) const;
   850 
   568 
   851 
       
   852     protected:  // Data
   569     protected:  // Data
   853 
   570 
   854         /**
   571         /**
   855         * Reference to State machine
   572         * Reference to State machine
   856         */
   573         */
   869         * Not own.
   586         * Not own.
   870         */
   587         */
   871         MPhoneCustomization* iCustomization;
   588         MPhoneCustomization* iCustomization;
   872 
   589 
   873         // CBA key manager. Own.
   590         // CBA key manager. Own.
   874         CPhoneCbaManager* iCbaManager;
   591         CPhoneUiCommandManager* iUiCommandManager;
       
   592         
       
   593         // Number entry manager
       
   594         CPhoneNumberEntryManager* iNumberEntryManager;
       
   595 
   875 
   596 
   876     private:
   597     private:
   877 
   598 
   878         /**
   599         // Previously handled SIM card state.
   879          * Previously handled SIM card state.
       
   880          */
       
   881         TPESimState iPreviousSimState;
   600         TPESimState iPreviousSimState;
   882 
       
   883         // Bitmap redraw counter
       
   884         TInt iBitmapRedrawCounter;
       
   885 
   601 
   886         // Internal variable for EikonEnv to avoid
   602         // Internal variable for EikonEnv to avoid
   887         // use of static system calls
   603         // use of static system calls
   888         CEikonEnv& iEnv;
   604         CEikonEnv* iEnv; // Not owned
   889 
       
   890         // Call header manager.
       
   891         CPhoneCallHeaderManager* iCallHeaderManager;
       
   892 
       
   893         // Number entry manager
       
   894         CPhoneNumberEntryManager* iNumberEntryManager;
       
   895 
       
   896         // RingtoneSilenced flag.
       
   897         // This is used to determine if the ringtone
       
   898         // for incoming call is silenced. The information
       
   899         // is used while updating softkeys in method
       
   900         // UpdateIncomingCbaL only
       
   901         TBool iRingtoneSilenced;
       
   902 
       
   903         /**
       
   904          * Handle to the Operator logo resource.
       
   905          */
       
   906         TInt iLogoHandle;
       
   907         };
   605         };
   908 
   606 
   909 #endif // CPHONESTATE_H
   607 #endif // CPHONESTATE_H
   910 
   608 
   911 // End of File
   609 // End of File