gssettingsuis/Gs/GSCallBarringPlugin/Inc/GSCallBarringPlugin.h
branchRCL_3
changeset 54 7e0eff37aedb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gssettingsuis/Gs/GSCallBarringPlugin/Inc/GSCallBarringPlugin.h	Wed Sep 01 12:20:44 2010 +0100
@@ -0,0 +1,213 @@
+/*
+* Copyright (c) 2002-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:  Barrings sub-menu in General Settings.
+*
+*/
+
+
+#ifndef GSCALLBARRINGPLUGIN_H
+#define GSCALLBARRINGPLUGIN_H
+
+// INCLUDES
+#include <gsbaseview.h>
+#include <aknview.h>
+#include <gspubsubslistener.h>
+#include <mgssettingpsobserver.h>
+#include <PsetCSP.h>
+#include <PsetCallBarring.h>
+#include <etelmm.h>
+#include <eikclb.h>
+
+#include "GSLocalBaseView.h"
+#include "CallBarringPlugin.hrh"
+
+
+// FORWARD DECLARATIONS
+class CGSBaseContainer;
+class CGSCallBarringPluginContainer;
+class CPsetCustomerServiceProfile;
+class CAknNavigationDecorator;
+class CPsetContainer;
+class CPsuiContainer;
+class CPsuiBarringObs;
+class CAknStaticNoteDialog;
+class CAknNoteDialog;
+
+// CONSTANTS
+_LIT( KGSCallBarringPluginIconDirAndName, "z:GSCallBarringPlugin.mbm");
+
+
+// CLASS DECLARATION
+/***************************************************
+*     CGSCallBarringPlugin class                   *
+****************************************************/
+class CGSCallBarringPlugin : public CGSBaseView,
+                             public MGSSettingPSObserver
+    {
+    public: // Constructors and destructor
+
+        /* C++ Constructor */
+        CGSCallBarringPlugin();
+
+        /* Symbian OS two phase constructor - puts self into stack. 
+        *
+        * @return CGSCallBarringPlugin object
+        */
+        static CGSCallBarringPlugin* NewLC();
+
+        /**
+        * Destructor.
+        */
+        ~CGSCallBarringPlugin();
+        
+        /**
+        * Symbian OS two-phased constructor
+        * @return GS call barring view.
+        */
+        static CGSCallBarringPlugin* NewL( TAny* aInitParams );
+        
+        /**
+        *
+        */
+        void HandleClientRectChange();
+
+    public: // Functions from base classes
+
+        /**
+        * From CAknView, returns the views id.
+        *
+        * @return Returns TUid, which is the id of the view.
+        */
+        TUid Id() const;
+
+        /**
+        * From MEikCommandObserver, handles the commands given through menu.
+        *
+        * @param aCommand is the given command.
+        */
+        void HandleCommandL( TInt aCommand );
+        
+    public: // From CGSPluginInterface
+
+        /**
+        * @see CGSPluginInterface header file.
+        */
+        void GetCaptionL( TDes& aCaption ) const;
+
+        /**
+        * See base class.
+        */
+        CGulIcon* CreateIconL( const TUid aIconType );
+
+        /**
+        * @see CGSPluginInterface header file.
+        */
+        TInt PluginProviderCategory() const;
+
+        /**
+        * @see CGSPluginInterface header file.
+        */
+        TBool Visible() const;
+
+        /**
+        * @see CGSPluginInterface header file.
+        */        
+        TGSListboxItemTypes ItemType();
+        
+        void HandleSelection(
+                    const TGSSelectionTypes aSelectionType );
+    public: //new
+        
+        /**
+        * This is a locally owned method used to activate
+        * other local views seen from GSTelPlugin
+        * @param aFeatureId feature ID of the folder
+        */
+        void ActivateInternalViewL();
+
+        /**
+        * This is a locally owned method used to initialize
+        * other local views seen from GSTelPlugin
+        * @param aLocalViewId view ID of local views to this plugin
+        */
+        void CreateLocalViewL( TUid aLocalViewId );
+        
+        /**
+        * Removes sub-views owned by this plugin to make sure sub-view UIDs do
+        * not clash.
+        */
+        void RemoveLocalViews();
+        
+        /**
+        *Is VoIP feature supported 
+        */
+        TBool VoipSupported() const;
+
+    protected: // from CAknView
+
+        void DoActivateL( const TVwsViewId& aPrevViewId,
+                          TUid aCustomMessageId,
+                          const TDesC8& aCustomMessage );
+    
+        void DoDeactivate();
+
+    private: // from base class
+
+        /**
+        * Symbian OS default constructor. 
+        *
+        */
+        void ConstructL();
+    
+        /**
+        * From CGSBaseView, handles selection of list box.
+        */
+        void HandleListBoxSelectionL();
+
+        void NewContainerL();
+    
+    private: // From MGSSettingPSObserver
+        /**
+        * Callback from MGSSettingPSObserver
+        */
+        void HandleNotifyPSL( const TUid aUid, const TInt& aKey, 
+                              const TRequestStatus& aStatus );
+        
+    private: //new
+        /**
+        * Retrieves container pointer.
+        */
+        CGSCallBarringPluginContainer*  Container();
+
+        /**
+        * Customer Service Profile status setting
+        */
+        void SetCSPActiveL( TBool aValue );
+
+    private: // Member variables
+        //Navi pane
+        CAknNavigationDecorator* iNaviPaneContext;
+        //PubSub object for BT SAP state
+        CGSPubSubsListener* iBtSapListener;
+        //check if CSP is active
+        CPsetCustomerServiceProfile* iCSP;
+        // Call barring view. Not owned by this - owned by iAppUi.
+        CGSLocalBaseView* iBarringView;
+        // check if voip supported
+        TBool iVoipSupported;
+    };
+
+#endif //GSCALLBARRINGPLUGIN_H
+
+// End of File