phoneapp/phoneuiview/inc/cphonemenucontroller.h
changeset 0 5f000ab63145
child 9 8871b09be73b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview/inc/cphonemenucontroller.h	Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,192 @@
+/*
+* 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:  PhoneUI Menu Controller
+*
+*/
+
+
+#ifndef CPHONEMENUCONTROLLER_H
+#define CPHONEMENUCONTROLLER_H
+
+//  INCLUDES
+
+
+#include <e32base.h>
+#include <e32std.h>
+#include <eikmenub.h> 
+#include <e32property.h>
+#include "mphonepubsubobserver.h"
+
+// FORWARD DECLARATION
+class TPhoneCommandParam;
+class CEikonEnv;
+class MPhonePubSubObserver;
+class CAiwServiceHandler;
+
+class CPhoneMenuController : public CBase, public MPhonePubSubObserver
+    {
+    public:
+
+        /**
+        * Two-phased constructor.
+        */
+        static CPhoneMenuController* NewL( CEikonEnv& aEikEnv );
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CPhoneMenuController();   
+
+        void OpenMenuBarL();
+
+        void CloseMenuBar();
+        
+        void OpenMenuBarL( TPhoneCommandParam* aCommandParam );
+
+        void DynInitMenuBar( TPhoneCommandParam* aCommandParam );
+
+        void DynInitMenuPaneL( TPhoneCommandParam* aCommandParam );
+       
+        void SetMuteFlag( TPhoneCommandParam* aCommandParam );
+
+        void SetIhfFlag( TPhoneCommandParam* aCommandParam );
+        
+        void SetHoldFlag( TPhoneCommandParam* aCommandParam );
+        
+        void GetHoldFlag( TPhoneCommandParam* aCommandParam );
+        
+        void SetConferenceAndSingleFlag( TPhoneCommandParam* aCommandParam );
+        
+        void GetConferenceAndSingleFlag( TPhoneCommandParam* aCommandParam );
+        
+        void SetSoftRejectFlag( TPhoneCommandParam* aCommandParam );
+        
+        void GetSoftRejectFlag( TPhoneCommandParam* aCommandParam );
+
+        void SetServiceCodeFlag( TPhoneCommandParam* aCommandParam );
+        
+        void SetWiredAccFlag( TPhoneCommandParam* aCommandParam );
+        
+        void SetMaxConfMembersFlag( TBool aIsMaxConfMember );
+        
+        void SetBTAccFlag( TPhoneCommandParam* aCommandParam );
+        
+        void SetBTAccAvailableFlag( TPhoneCommandParam* aCommandParam );
+        
+        void SetPhoneNumberAvailableInPhoneEngine( TPhoneCommandParam* aCommandParam );
+        
+        void SetWiredAccAvailableFlag( TPhoneCommandParam* aCommandParam );
+        
+        void SetNEVisibleFlag( TBool aVisible );
+
+        void SetReplaceFlag( TBool aReplace );
+        
+        void SetRemoveConfrenceOptionsFlag( TBool aRemoveConfrenceOptions );
+        
+        void SetNumberEntryEmptyFlag( TBool aNumberEntryEmpty );
+        
+        void SetCallInProgressFlag( TPhoneCommandParam* aCommandParam );               
+        
+        TBool IsMenuBarVisible();
+        
+        void SetConferenceParticipantsListVisibleFlag( TPhoneCommandParam* aCommandParam );
+        
+        void GetConferenceParticipantsListVisibleFlag(
+            TPhoneCommandParam* aCommandParam );
+
+        void SetAlphaModeFlag( TBool aMode );
+        
+        void SetAllowDtmfOptionsFlag( TBool aAllowDtmfOptions );
+        
+        void SetVoipEnabledFlag( TPhoneCommandParam* aCommandParam );
+        
+        void SetHideVideoCallDTMFVisibilityFlag ( TBool aHideVideoCallDTMFVisibility );
+
+		void SendAiwCommandL( TPhoneCommandParam* aCommandParam );      
+ 
+		void SetContextMenu( TPhoneCommandParam* aCommandParam );
+		
+    public: //from base class 
+        
+         void HandlePropertyChangedL( 
+            const TUid& aCategory,
+            const TUint aKey,
+            const TInt aValue );
+		
+    protected:    // Constructors
+        
+        /**
+        * C++ default constructor.
+        */
+        CPhoneMenuController( CEikonEnv& aEikEnv );
+       
+
+    private:
+
+        /**
+        * By default EPOC constructor is private.
+        */
+        void ConstructL();
+
+        void AddMenuPaneL(
+            TInt aPaneResourceId,
+            CEikMenuPane* aMenuPane,
+            TBool aAddSeparator );
+            
+        /**
+        * Checks if task swapper is to be shown in menu.
+        * @param aResourceId It is the context menu resource.
+        */
+        void ShowTaskSwapper( TInt aResourceId ) const;
+        
+        TBool IsSwivelClosed() const;
+    
+    private:
+        CEikMenuBar* iMenu;
+        TInt iGSMMenuResourceOffset;
+
+        TInt iMenuResourceId;
+        TInt iOkMenuResourceId;
+        TBool iIhfFlag;
+        TBool iMuteFlag;
+        TBool iHoldFlag;
+        TBool iConferenceAndSingleFlag;
+        TBool iSoftRejectFlag;
+        TBool iServiceCodeFlag;
+        TBool iWiredAccFlag;
+        TBool iMaxConfMembersFlag;
+        TBool iBTAccFlag;
+        TBool iBTAccTmpUnFlag;
+        TBool iBTAccAvailableFlag;
+        TBool iPhoneNumberAvailableInPhoneEngine;
+        TBool iWiredAccAvailableFlag;
+        TBool iNEVisible;
+        TBool iReplace;
+        TBool iRemoveConfrenceOptionsFlag;
+        TBool iNumberEntryEmpty;
+        TBool iCallInProgress;
+        TBool iConferenceParticipantsListOpenFlag;
+        TBool iAlphaMode;
+        TBool iAllowDtmfOptionsFlag;
+        TBool iVoipEnabledFlag;  
+        TBool iHideVideoCallDTMFVisibility;
+        // Eikon environment delivered from CPhoneViewController
+        CEikonEnv& iEikEnv;       
+        // Pointer to AIW service handler. OWNED.
+        CAiwServiceHandler* iServiceHandler;       
+    };
+
+#endif      // MPAMENUBARCONTROLLER_H   
+            
+// End of File