phoneapp/phoneuiview/inc/cphonemenucontroller.h
branchRCL_3
changeset 62 5266b1f337bd
child 81 c26cc2a7c548
equal deleted inserted replaced
61:41a7f70b3818 62:5266b1f337bd
       
     1 /*
       
     2 * Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  PhoneUI Menu Controller
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef CPHONEMENUCONTROLLER_H
       
    20 #define CPHONEMENUCONTROLLER_H
       
    21 
       
    22 //  INCLUDES
       
    23 
       
    24 
       
    25 #include <e32base.h>
       
    26 #include <e32std.h>
       
    27 #include <eikmenub.h> 
       
    28 #include <e32property.h>
       
    29 #include "mphonepubsubobserver.h"
       
    30 
       
    31 // FORWARD DECLARATION
       
    32 class TPhoneCommandParam;
       
    33 class CEikonEnv;
       
    34 class MPhonePubSubObserver;
       
    35 class CAiwServiceHandler;
       
    36 
       
    37 class CPhoneMenuController : public CBase, public MPhonePubSubObserver
       
    38     {
       
    39     public:
       
    40 
       
    41         /**
       
    42         * Two-phased constructor.
       
    43         */
       
    44         static CPhoneMenuController* NewL( CEikonEnv& aEikEnv );
       
    45         
       
    46         /**
       
    47         * Destructor.
       
    48         */
       
    49         virtual ~CPhoneMenuController();   
       
    50 
       
    51         void OpenMenuBarL();
       
    52 
       
    53         void CloseMenuBar();
       
    54         
       
    55         void OpenMenuBarL( TPhoneCommandParam* aCommandParam );
       
    56 
       
    57         void DynInitMenuBar( TPhoneCommandParam* aCommandParam );
       
    58 
       
    59         void DynInitMenuPaneL( TPhoneCommandParam* aCommandParam );
       
    60        
       
    61         void SetMuteFlag( TPhoneCommandParam* aCommandParam );
       
    62 
       
    63         void SetIhfFlag( TPhoneCommandParam* aCommandParam );
       
    64         
       
    65         void SetHoldFlag( TPhoneCommandParam* aCommandParam );
       
    66         
       
    67         void GetHoldFlag( TPhoneCommandParam* aCommandParam );
       
    68         
       
    69         void SetConferenceAndSingleFlag( TPhoneCommandParam* aCommandParam );
       
    70         
       
    71         void GetConferenceAndSingleFlag( TPhoneCommandParam* aCommandParam );
       
    72         
       
    73         void SetConferenceAndWaitingVideoFlag( TBool aIsConfAndWaitingVideo );
       
    74         
       
    75         void SetSoftRejectFlag( TPhoneCommandParam* aCommandParam );
       
    76         
       
    77         void GetSoftRejectFlag( TPhoneCommandParam* aCommandParam );
       
    78 
       
    79         void SetServiceCodeFlag( TPhoneCommandParam* aCommandParam );
       
    80         
       
    81         void SetWiredAccFlag( TPhoneCommandParam* aCommandParam );
       
    82         
       
    83         void SetMaxConfMembersFlag( TBool aIsMaxConfMember );
       
    84         
       
    85         void SetBTAccFlag( TPhoneCommandParam* aCommandParam );
       
    86         
       
    87         void SetBTAccAvailableFlag( TPhoneCommandParam* aCommandParam );
       
    88         
       
    89         void SetPhoneNumberAvailableInPhoneEngine( TPhoneCommandParam* aCommandParam );
       
    90         
       
    91         void SetWiredAccAvailableFlag( TPhoneCommandParam* aCommandParam );
       
    92         
       
    93         void SetNEVisibleFlag( TBool aVisible );
       
    94 
       
    95         void SetReplaceFlag( TBool aReplace );
       
    96         
       
    97         void SetRemoveConfrenceOptionsFlag( TBool aRemoveConfrenceOptions );
       
    98         
       
    99         void SetNumberEntryEmptyFlag( TBool aNumberEntryEmpty );
       
   100         
       
   101         void SetCallInProgressFlag( TPhoneCommandParam* aCommandParam );               
       
   102         
       
   103         TBool IsMenuBarVisible();
       
   104         
       
   105         void SetConferenceParticipantsListVisibleFlag( TPhoneCommandParam* aCommandParam );
       
   106         
       
   107         void GetConferenceParticipantsListVisibleFlag(
       
   108             TPhoneCommandParam* aCommandParam );
       
   109 
       
   110         void SetAlphaModeFlag( TBool aMode );
       
   111         
       
   112         void SetAllowDtmfOptionsFlag( TBool aAllowDtmfOptions );
       
   113         
       
   114         void SetVoipEnabledFlag( TPhoneCommandParam* aCommandParam );
       
   115 
       
   116 		void SetHideVoipCallDTMFVisibilityFlag ( TBool aHideVideoCallDTMFVisibility ); 
       
   117         
       
   118         void SetHideVideoCallDTMFVisibilityFlag ( TBool aHideVideoCallDTMFVisibility );
       
   119 
       
   120 		void SendAiwCommandL( TPhoneCommandParam* aCommandParam );      
       
   121  
       
   122 		void SetContextMenu( TPhoneCommandParam* aCommandParam );
       
   123 
       
   124         void SetInvalidCsPhoneNumberFlag( TPhoneCommandParam* aCommandParam );
       
   125 	        
       
   126         void GetInvalidCsPhoneNumberFlag( TPhoneCommandParam* aCommandParam );
       
   127 		
       
   128 		void SetSecurityMode( TBool aMode );
       
   129 
       
   130     public: //from base class 
       
   131         
       
   132          void HandlePropertyChangedL( 
       
   133             const TUid& aCategory,
       
   134             const TUint aKey,
       
   135             const TInt aValue );
       
   136 		
       
   137     protected:    // Constructors
       
   138         
       
   139         /**
       
   140         * C++ default constructor.
       
   141         */
       
   142         CPhoneMenuController( CEikonEnv& aEikEnv );
       
   143        
       
   144 
       
   145     private:
       
   146 
       
   147         /**
       
   148         * By default EPOC constructor is private.
       
   149         */
       
   150         void ConstructL();
       
   151 
       
   152         void AddMenuPaneL(
       
   153             TInt aPaneResourceId,
       
   154             CEikMenuPane* aMenuPane,
       
   155             TBool aAddSeparator );
       
   156             
       
   157         /**
       
   158         * Checks if task swapper is to be shown in menu.
       
   159         * @param aResourceId It is the context menu resource.
       
   160         */
       
   161         void ShowTaskSwapper( TInt aResourceId ) const;
       
   162         
       
   163         TBool IsSwivelClosed() const;
       
   164         
       
   165         TBool IsQwertyMode() const;
       
   166     
       
   167     private:
       
   168         CEikMenuBar* iMenu;
       
   169         TInt iGSMMenuResourceOffset;
       
   170 
       
   171         TInt iMenuResourceId;
       
   172         TInt iOkMenuResourceId;
       
   173         TBool iIhfFlag;
       
   174         TBool iMuteFlag;
       
   175         TBool iHoldFlag;
       
   176         TBool iConferenceAndSingleFlag;
       
   177         TBool iConferenceAndWaitingVideoFlag;
       
   178         TBool iSoftRejectFlag;
       
   179         TBool iServiceCodeFlag;
       
   180         TBool iWiredAccFlag;
       
   181         TBool iMaxConfMembersFlag;
       
   182         TBool iBTAccFlag;
       
   183         TBool iBTAccTmpUnFlag;
       
   184         TBool iBTAccAvailableFlag;
       
   185         TBool iPhoneNumberAvailableInPhoneEngine;
       
   186         TBool iWiredAccAvailableFlag;
       
   187         TBool iNEVisible;
       
   188         TBool iReplace;
       
   189         TBool iRemoveConfrenceOptionsFlag;
       
   190         TBool iNumberEntryEmpty;
       
   191         TBool iCallInProgress;
       
   192         TBool iConferenceParticipantsListOpenFlag;
       
   193         TBool iAlphaMode;
       
   194         TBool iAllowDtmfOptionsFlag;
       
   195         TBool iVoipEnabledFlag;  
       
   196         TBool iHideVideoCallDTMFVisibility;
       
   197 		TBool iHideVoipCallDTMFVisibility; 
       
   198         TBool iInvalidCsPhoneNumber;
       
   199 		TBool iSecurityMode;
       
   200         // Eikon environment delivered from CPhoneViewController
       
   201         CEikonEnv& iEikEnv;       
       
   202         // Pointer to AIW service handler. OWNED.
       
   203         CAiwServiceHandler* iServiceHandler;       
       
   204     };
       
   205 
       
   206 #endif      // MPAMENUBARCONTROLLER_H   
       
   207             
       
   208 // End of File