phoneapp/phoneuicontrol/inc/cphonestate.h
branchRCL_3
changeset 58 40a3f856b14d
parent 44 3c221667e687
child 61 41a7f70b3818
equal deleted inserted replaced
57:94dc1107e8b2 58:40a3f856b14d
    23 // INCLUDES
    23 // INCLUDES
    24 #include <w32std.h>
    24 #include <w32std.h>
    25 #include <remconcoreapitargetobserver.h>
    25 #include <remconcoreapitargetobserver.h>
    26 #include <MProfileEngine.h>
    26 #include <MProfileEngine.h>
    27 #include <bmbubblemanager.h>
    27 #include <bmbubblemanager.h>
       
    28 #include <eikenv.h>
    28 
    29 
    29 #include "mphonestate.h"
    30 #include "mphonestate.h"
    30 #include "mphoneviewcommandhandle.h"
    31 #include "mphoneviewcommandhandle.h"
    31 #include "cphonecbamanager.h"
    32 #include "cphonecbamanager.h"
    32 
    33 
    40 class CPhoneNumberEntryManager;
    41 class CPhoneNumberEntryManager;
    41 
    42 
    42 enum TStateTransEffectType
    43 enum TStateTransEffectType
    43     {
    44     {
    44     ENoneType,
    45     ENoneType,
       
    46     ECallUiAppear,
       
    47     ECallUiDisappear,
    45     // These effect types can be used only when NE is opened/closed
    48     // These effect types can be used only when NE is opened/closed
    46     // when some other app than phone is visible on the foreground/
    49     // when some other app than phone is visible on the foreground/
    47     // background.
    50     // background.
    48     // These cannot be used for internal transitions (=call ui<->dialer).
    51     // These cannot be used for internal transitions (=call ui<->dialer).
    49     ENumberEntryOpen,
    52     ENumberEntryOpen,
   230         IMPORT_C virtual TBool HandleRemConCommandL(
   233         IMPORT_C virtual TBool HandleRemConCommandL(
   231             TRemConCoreApiOperationId aOperationId,
   234             TRemConCoreApiOperationId aOperationId,
   232             TRemConCoreApiButtonAction aButtonAct);
   235             TRemConCoreApiButtonAction aButtonAct);
   233 
   236 
   234         /**
   237         /**
   235         * Setter for divert indication showing in bubble.
       
   236         * @param aDivertIndication ETrue to show divert indication,
       
   237         *          EFalse to not. Usually setting EFalse isn't necessary
       
   238         *         as it's a default value in bubble creation.
       
   239         */
       
   240         IMPORT_C virtual void SetDivertIndication(
       
   241             const TBool aDivertIndication );
       
   242 
       
   243         /**
       
   244         * Handles Long hash key press
   238         * Handles Long hash key press
   245         */
   239         */
   246         IMPORT_C void HandleLongHashL();
   240         IMPORT_C void HandleLongHashL();
   247 
   241 
   248         /**
   242         /**
   334         /**
   328         /**
   335         * Check if possible dialer extension is in focus
   329         * Check if possible dialer extension is in focus
   336         * @return boolean value indicating if dialer extension is in focus
   330         * @return boolean value indicating if dialer extension is in focus
   337         */
   331         */
   338         IMPORT_C TBool IsDialingExtensionInFocusL() const;
   332         IMPORT_C TBool IsDialingExtensionInFocusL() const;
       
   333         
       
   334         /**
       
   335         * At moment does nothing in CPhoneState, only causes function call
       
   336         * to inherinting classes.
       
   337         */ 
       
   338         IMPORT_C virtual void DoStateSpecificCallSetUpDefinitionsL();
       
   339         
       
   340         /**
       
   341         * Getter for CEikonEnv to avoid use of static system calls
       
   342         * @return CEikonEnv handle
       
   343         */
       
   344         IMPORT_C CEikonEnv* EikonEnv() const;
       
   345         
       
   346         /**
       
   347         * Setter for CEikonEnv to avoid use of static system calls
       
   348         * @param CEikonEnv handle
       
   349         */
       
   350         IMPORT_C virtual void SetEikonEnv( CEikonEnv* aEnv );
   339 
   351 
   340     public: // NumberEntry functions.
   352     public: // NumberEntry functions.
   341 
   353 
   342         /**
   354         /**
   343         * Passes create number entry command forward if NE can be created.
   355         * Passes create number entry command forward if NE can be created.
   354         /**
   366         /**
   355         * Check if number entry is visible
   367         * Check if number entry is visible
   356         * @return boolean value indicating that number entry is visible
   368         * @return boolean value indicating that number entry is visible
   357         */
   369         */
   358         IMPORT_C TBool IsNumberEntryVisibleL();
   370         IMPORT_C TBool IsNumberEntryVisibleL();
       
   371         
       
   372         /**
       
   373         * Close and and clear number entry.
       
   374         */
       
   375         IMPORT_C void CloseClearNumberEntryAndLoadEffectL( TStateTransEffectType aType );
   359 
   376 
   360     protected:
   377     protected:
   361 
   378 
   362         /**
   379         /**
   363         * Handle EPEMessageAudioMuteChanged
   380         * Handle EPEMessageAudioMuteChanged
   432         * Display call header for outgoing call (the phone number is initially
   449         * Display call header for outgoing call (the phone number is initially
   433         * displayed)
   450         * displayed)
   434         * @param aCallid call id
   451         * @param aCallid call id
   435         */
   452         */
   436         IMPORT_C void DisplayHeaderForOutgoingCallL( TInt aCallId );
   453         IMPORT_C void DisplayHeaderForOutgoingCallL( TInt aCallId );
   437         
       
   438         /**
       
   439         * Display initializing call header (phone number isn't initially
       
   440         * displayed)
       
   441         */
       
   442         IMPORT_C void DisplayHeaderForInitializingCallL( TInt aCallId );
       
   443 
   454 
   444         /**
   455         /**
   445         * Update Single Active Call
   456         * Update Single Active Call
   446         * @param aCallid call id
   457         * @param aCallid call id
   447         */
   458         */
   624         * (long keypress) and the hash character is the only character
   635         * (long keypress) and the hash character is the only character
   625         * in number entry.
   636         * in number entry.
   626         */
   637         */
   627         IMPORT_C virtual void OnlyHashInNumberEntryL();
   638         IMPORT_C virtual void OnlyHashInNumberEntryL();
   628 
   639 
   629         /*
       
   630         * Checks if it's ok to use aType effect in this state.
       
   631         *
       
   632         * @param aType effect to be checked
       
   633         * @return true if aType effect can be used
       
   634         */
       
   635         IMPORT_C virtual TBool CanTransEffectTypeBeUsed( TStateTransEffectType aType );
       
   636 
       
   637         /**
   640         /**
   638         * Informs view that UI is being updated (call bubble or number editor).
   641         * Informs view that UI is being updated (call bubble or number editor).
   639         * EndUiUpdate() must be called when update is done.
   642         * EndUiUpdate() must be called when update is done.
   640         */
   643         */
   641         IMPORT_C void BeginUiUpdateLC();
   644         IMPORT_C void BeginUiUpdateLC();
   738         * @return ETrue if message was handled
   741         * @return ETrue if message was handled
   739         */
   742         */
   740         IMPORT_C TBool ForwardPEMessageToPhoneCustomizationL(
   743         IMPORT_C TBool ForwardPEMessageToPhoneCustomizationL(
   741             const TInt aMessage,
   744             const TInt aMessage,
   742             TInt aCallId );
   745             TInt aCallId );
       
   746         
       
   747         /**
       
   748         * Sets up all call setup to display.
       
   749         * @param aCallId - call id to set up
       
   750         */ 
       
   751          IMPORT_C void DisplayCallSetupL( TInt aCallId );
       
   752          
       
   753          /**
       
   754           * Sets the flag wether the foreground application
       
   755           * needs to be brought foreground after the phone
       
   756           * goes idle 
       
   757           */
       
   758          IMPORT_C void SetNeedToReturnToForegroundAppStatusL( 
       
   759              TBool aNeedToReturn );
   743 
   760 
   744     protected: // NumberEntry functions.
   761     protected: // NumberEntry functions.
   745 
   762 
   746         /**
   763         /**
   747         * Set Number Entry visibility.
   764         * Set Number Entry visibility.
   840          /**
   857          /**
   841          * Sets toolbar handset button enabled.
   858          * Sets toolbar handset button enabled.
   842          */
   859          */
   843          IMPORT_C void SetToolbarButtonHandsetEnabled();
   860          IMPORT_C void SetToolbarButtonHandsetEnabled();
   844 
   861 
       
   862          /**
       
   863          * Sets Bluetooth handsfree button enabled.
       
   864          */
       
   865          IMPORT_C void SetToolbarButtonBTHFEnabled();  
       
   866          
   845     protected:
   867     protected:
   846 
   868 
   847        /**
   869        /**
   848        * Returns updated remote information data.
   870        * Returns updated remote information data.
   849        * NOTE: This metohed is used when state receives
   871        * NOTE: This metohed is used when state receives
  1165         */
  1187         */
  1166         CPhoneTimer* iAlsLineChangeKeyPressTimer;
  1188         CPhoneTimer* iAlsLineChangeKeyPressTimer;
  1167 
  1189 
  1168         // Internal variable for EikonEnv to avoid
  1190         // Internal variable for EikonEnv to avoid
  1169         // use of static system calls
  1191         // use of static system calls
  1170         CEikonEnv& iEnv;
  1192         CEikonEnv* iEnv; // Not owned
  1171 
  1193 
  1172         // Call header manager.
  1194         // Call header manager.
  1173         CPhoneCallHeaderManager* iCallHeaderManager;
  1195         CPhoneCallHeaderManager* iCallHeaderManager;
  1174 
  1196 
  1175         // Number entry manager
  1197         // Number entry manager