gssettingsuis/Gs/GSCallBarringPlugin/Inc/GSCallBarringPlugin.h
author hgs
Thu, 04 Nov 2010 13:38:47 +0800
changeset 68 13e71d907dc3
permissions -rw-r--r--
201044
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
68
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  Barrings sub-menu in General Settings.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#ifndef GSCALLBARRINGPLUGIN_H
hgs
parents:
diff changeset
    20
#define GSCALLBARRINGPLUGIN_H
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
// INCLUDES
hgs
parents:
diff changeset
    23
#include <gsbaseview.h>
hgs
parents:
diff changeset
    24
#include <aknview.h>
hgs
parents:
diff changeset
    25
#include <gspubsubslistener.h>
hgs
parents:
diff changeset
    26
#include <mgssettingpsobserver.h>
hgs
parents:
diff changeset
    27
#include <PsetCSP.h>
hgs
parents:
diff changeset
    28
#include <PsetCallBarring.h>
hgs
parents:
diff changeset
    29
#include <etelmm.h>
hgs
parents:
diff changeset
    30
#include <eikclb.h>
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
#include "GSLocalBaseView.h"
hgs
parents:
diff changeset
    33
#include "CallBarringPlugin.hrh"
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    37
class CGSBaseContainer;
hgs
parents:
diff changeset
    38
class CGSCallBarringPluginContainer;
hgs
parents:
diff changeset
    39
class CPsetCustomerServiceProfile;
hgs
parents:
diff changeset
    40
class CAknNavigationDecorator;
hgs
parents:
diff changeset
    41
class CPsetContainer;
hgs
parents:
diff changeset
    42
class CPsuiContainer;
hgs
parents:
diff changeset
    43
class CPsuiBarringObs;
hgs
parents:
diff changeset
    44
class CAknStaticNoteDialog;
hgs
parents:
diff changeset
    45
class CAknNoteDialog;
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
// CONSTANTS
hgs
parents:
diff changeset
    48
_LIT( KGSCallBarringPluginIconDirAndName, "z:GSCallBarringPlugin.mbm");
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
// CLASS DECLARATION
hgs
parents:
diff changeset
    52
/***************************************************
hgs
parents:
diff changeset
    53
*     CGSCallBarringPlugin class                   *
hgs
parents:
diff changeset
    54
****************************************************/
hgs
parents:
diff changeset
    55
class CGSCallBarringPlugin : public CGSBaseView,
hgs
parents:
diff changeset
    56
                             public MGSSettingPSObserver
hgs
parents:
diff changeset
    57
    {
hgs
parents:
diff changeset
    58
    public: // Constructors and destructor
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
        /* C++ Constructor */
hgs
parents:
diff changeset
    61
        CGSCallBarringPlugin();
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
        /* Symbian OS two phase constructor - puts self into stack. 
hgs
parents:
diff changeset
    64
        *
hgs
parents:
diff changeset
    65
        * @return CGSCallBarringPlugin object
hgs
parents:
diff changeset
    66
        */
hgs
parents:
diff changeset
    67
        static CGSCallBarringPlugin* NewLC();
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
        /**
hgs
parents:
diff changeset
    70
        * Destructor.
hgs
parents:
diff changeset
    71
        */
hgs
parents:
diff changeset
    72
        ~CGSCallBarringPlugin();
hgs
parents:
diff changeset
    73
        
hgs
parents:
diff changeset
    74
        /**
hgs
parents:
diff changeset
    75
        * Symbian OS two-phased constructor
hgs
parents:
diff changeset
    76
        * @return GS call barring view.
hgs
parents:
diff changeset
    77
        */
hgs
parents:
diff changeset
    78
        static CGSCallBarringPlugin* NewL( TAny* aInitParams );
hgs
parents:
diff changeset
    79
        
hgs
parents:
diff changeset
    80
        /**
hgs
parents:
diff changeset
    81
        *
hgs
parents:
diff changeset
    82
        */
hgs
parents:
diff changeset
    83
        void HandleClientRectChange();
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
    public: // Functions from base classes
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
        /**
hgs
parents:
diff changeset
    88
        * From CAknView, returns the views id.
hgs
parents:
diff changeset
    89
        *
hgs
parents:
diff changeset
    90
        * @return Returns TUid, which is the id of the view.
hgs
parents:
diff changeset
    91
        */
hgs
parents:
diff changeset
    92
        TUid Id() const;
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
        /**
hgs
parents:
diff changeset
    95
        * From MEikCommandObserver, handles the commands given through menu.
hgs
parents:
diff changeset
    96
        *
hgs
parents:
diff changeset
    97
        * @param aCommand is the given command.
hgs
parents:
diff changeset
    98
        */
hgs
parents:
diff changeset
    99
        void HandleCommandL( TInt aCommand );
hgs
parents:
diff changeset
   100
        
hgs
parents:
diff changeset
   101
    public: // From CGSPluginInterface
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
        /**
hgs
parents:
diff changeset
   104
        * @see CGSPluginInterface header file.
hgs
parents:
diff changeset
   105
        */
hgs
parents:
diff changeset
   106
        void GetCaptionL( TDes& aCaption ) const;
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
        /**
hgs
parents:
diff changeset
   109
        * See base class.
hgs
parents:
diff changeset
   110
        */
hgs
parents:
diff changeset
   111
        CGulIcon* CreateIconL( const TUid aIconType );
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
        /**
hgs
parents:
diff changeset
   114
        * @see CGSPluginInterface header file.
hgs
parents:
diff changeset
   115
        */
hgs
parents:
diff changeset
   116
        TInt PluginProviderCategory() const;
hgs
parents:
diff changeset
   117
hgs
parents:
diff changeset
   118
        /**
hgs
parents:
diff changeset
   119
        * @see CGSPluginInterface header file.
hgs
parents:
diff changeset
   120
        */
hgs
parents:
diff changeset
   121
        TBool Visible() const;
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
        /**
hgs
parents:
diff changeset
   124
        * @see CGSPluginInterface header file.
hgs
parents:
diff changeset
   125
        */        
hgs
parents:
diff changeset
   126
        TGSListboxItemTypes ItemType();
hgs
parents:
diff changeset
   127
        
hgs
parents:
diff changeset
   128
        void HandleSelection(
hgs
parents:
diff changeset
   129
                    const TGSSelectionTypes aSelectionType );
hgs
parents:
diff changeset
   130
    public: //new
hgs
parents:
diff changeset
   131
        
hgs
parents:
diff changeset
   132
        /**
hgs
parents:
diff changeset
   133
        * This is a locally owned method used to activate
hgs
parents:
diff changeset
   134
        * other local views seen from GSTelPlugin
hgs
parents:
diff changeset
   135
        * @param aFeatureId feature ID of the folder
hgs
parents:
diff changeset
   136
        */
hgs
parents:
diff changeset
   137
        void ActivateInternalViewL();
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
        /**
hgs
parents:
diff changeset
   140
        * This is a locally owned method used to initialize
hgs
parents:
diff changeset
   141
        * other local views seen from GSTelPlugin
hgs
parents:
diff changeset
   142
        * @param aLocalViewId view ID of local views to this plugin
hgs
parents:
diff changeset
   143
        */
hgs
parents:
diff changeset
   144
        void CreateLocalViewL( TUid aLocalViewId );
hgs
parents:
diff changeset
   145
        
hgs
parents:
diff changeset
   146
        /**
hgs
parents:
diff changeset
   147
        * Removes sub-views owned by this plugin to make sure sub-view UIDs do
hgs
parents:
diff changeset
   148
        * not clash.
hgs
parents:
diff changeset
   149
        */
hgs
parents:
diff changeset
   150
        void RemoveLocalViews();
hgs
parents:
diff changeset
   151
        
hgs
parents:
diff changeset
   152
        /**
hgs
parents:
diff changeset
   153
        *Is VoIP feature supported 
hgs
parents:
diff changeset
   154
        */
hgs
parents:
diff changeset
   155
        TBool VoipSupported() const;
hgs
parents:
diff changeset
   156
hgs
parents:
diff changeset
   157
    protected: // from CAknView
hgs
parents:
diff changeset
   158
hgs
parents:
diff changeset
   159
        void DoActivateL( const TVwsViewId& aPrevViewId,
hgs
parents:
diff changeset
   160
                          TUid aCustomMessageId,
hgs
parents:
diff changeset
   161
                          const TDesC8& aCustomMessage );
hgs
parents:
diff changeset
   162
    
hgs
parents:
diff changeset
   163
        void DoDeactivate();
hgs
parents:
diff changeset
   164
hgs
parents:
diff changeset
   165
    private: // from base class
hgs
parents:
diff changeset
   166
hgs
parents:
diff changeset
   167
        /**
hgs
parents:
diff changeset
   168
        * Symbian OS default constructor. 
hgs
parents:
diff changeset
   169
        *
hgs
parents:
diff changeset
   170
        */
hgs
parents:
diff changeset
   171
        void ConstructL();
hgs
parents:
diff changeset
   172
    
hgs
parents:
diff changeset
   173
        /**
hgs
parents:
diff changeset
   174
        * From CGSBaseView, handles selection of list box.
hgs
parents:
diff changeset
   175
        */
hgs
parents:
diff changeset
   176
        void HandleListBoxSelectionL();
hgs
parents:
diff changeset
   177
hgs
parents:
diff changeset
   178
        void NewContainerL();
hgs
parents:
diff changeset
   179
    
hgs
parents:
diff changeset
   180
    private: // From MGSSettingPSObserver
hgs
parents:
diff changeset
   181
        /**
hgs
parents:
diff changeset
   182
        * Callback from MGSSettingPSObserver
hgs
parents:
diff changeset
   183
        */
hgs
parents:
diff changeset
   184
        void HandleNotifyPSL( const TUid aUid, const TInt& aKey, 
hgs
parents:
diff changeset
   185
                              const TRequestStatus& aStatus );
hgs
parents:
diff changeset
   186
        
hgs
parents:
diff changeset
   187
    private: //new
hgs
parents:
diff changeset
   188
        /**
hgs
parents:
diff changeset
   189
        * Retrieves container pointer.
hgs
parents:
diff changeset
   190
        */
hgs
parents:
diff changeset
   191
        CGSCallBarringPluginContainer*  Container();
hgs
parents:
diff changeset
   192
hgs
parents:
diff changeset
   193
        /**
hgs
parents:
diff changeset
   194
        * Customer Service Profile status setting
hgs
parents:
diff changeset
   195
        */
hgs
parents:
diff changeset
   196
        void SetCSPActiveL( TBool aValue );
hgs
parents:
diff changeset
   197
hgs
parents:
diff changeset
   198
    private: // Member variables
hgs
parents:
diff changeset
   199
        //Navi pane
hgs
parents:
diff changeset
   200
        CAknNavigationDecorator* iNaviPaneContext;
hgs
parents:
diff changeset
   201
        //PubSub object for BT SAP state
hgs
parents:
diff changeset
   202
        CGSPubSubsListener* iBtSapListener;
hgs
parents:
diff changeset
   203
        //check if CSP is active
hgs
parents:
diff changeset
   204
        CPsetCustomerServiceProfile* iCSP;
hgs
parents:
diff changeset
   205
        // Call barring view. Not owned by this - owned by iAppUi.
hgs
parents:
diff changeset
   206
        CGSLocalBaseView* iBarringView;
hgs
parents:
diff changeset
   207
        // check if voip supported
hgs
parents:
diff changeset
   208
        TBool iVoipSupported;
hgs
parents:
diff changeset
   209
    };
hgs
parents:
diff changeset
   210
hgs
parents:
diff changeset
   211
#endif //GSCALLBARRINGPLUGIN_H
hgs
parents:
diff changeset
   212
hgs
parents:
diff changeset
   213
// End of File