/** 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: Container for the Connectivity Settings Plugin**/#ifndef GSCONNSETTINGSPLUGINCONTAINER_H#define GSCONNSETTINGSPLUGINCONTAINER_H// INCLUDES#include "gsconnsettingspluginmodel.h"#include <GSBaseContainer.h>// CONSTANTS// MACROS// DATA TYPES// FUNCTION PROTOTYPES// FORWARD DECLARATIONSclass CGSListBoxItemTextArray;class CGSPluginInterface;class MGSConnSettingsMskObserver;// CLASS DECLARATION/*** GSConnSettingsPluginContainer container class** Container class for Connectivity Settings plugin view* @lib gsconnsettingsplugin.lib* @since Series 60_3.1*/class CGSConnSettingsPluginContainer : public CGSBaseContainer { public: // Constructors and destructor /** * Symbian OS constructor. * @param aRect Listbox's rect. * */ void ConstructL( const TRect& aRect ); /** * Destructor. */ ~CGSConnSettingsPluginContainer(); /** * Constructor */ CGSConnSettingsPluginContainer( MGSConnSettingsMskObserver& aMskObserver ); public: //new /** * Updates listbox's item's value. * @since Series 60_3.1 * @param aItemId An item which is updated. */ void UpdateListBoxL( TInt aFeatureId ); /** * Retrieves the currently selected listbox feature id * @since Series 60_3.1 * @return feature id. */ TInt CurrentFeatureId() const; /** * Return its member variable iMode * @param */ CGSConnSettingsPluginModel* Model(); /** * Finds user selected plugin from plugin array * * @return Plugin which is selected in the lbx or leaves * with KErrnotFound if no plugins exist. */ CGSPluginInterface* SelectedPluginL(); /** * Makes ECOM plugin item */ void MakeECOMPluginItemL(); /** * Sets iPluginArray member. * @param aPluginArray Pointer to loaded ECOM plugin array */ void SetPluginArray ( CArrayPtrFlat<CGSPluginInterface>* aPluginArray ); protected: // from CGSBaseContainer void ConstructListBoxL( TInt aResLbxId ); private: // new // create listbox from resource void CreateListBoxItemsL(); /** * Adds items from iUsageOfWlanItems to main views list */ void MakeUsageOfWlanNetworksItemL(); /** * Adds items from iDataUsageAbroadItems to main views list */ void MakeDataUsageAbroadItemL(); /** * Adds items from iDataUsageHomeNwItems to main views list */ void MakeDataUsageHomeNwItemL(); /** * From CGSBaseContainer. Constructs correct textformat for one list box item * and adds it in listbox * * @param aPos Position of text in listbox * @param aFirstLabel Text in first row of listbox item * @param aSecondLabel Text in second row of listbox item */ void AppendListItemL( const TInt aPos, const TDesC16& aFirstLabel, const TDesC16& aSecondLabel ); /** * Handles changes in MSK label between item changes in listbox */ TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); /** * Return list index according to wlan variation. */ TInt Index( TInt aIndex ); // from CGSBaseContainer /** * Required for help. */ void GetHelpContext( TCoeHelpContext& aContext ) const; private: // Data /** * This holds items from resource R_USAGE_OF_WLAN_SETTING_PAGE_LBX */ CDesCArrayFlat* iUsageOfWlanItems; /** * This holds items from resource R_DATA_USAGE_ABROAD_SETTING_PAGE_LBX */ CDesCArrayFlat* iDataUsageAbroadItems; /** * This holds items from resource R_DATA_USAGE_HOME_NW_SETTING_PAGE_LBX */ CDesCArrayFlat* iDataUsageHomeNwItems; /** * Listbox item array. */ CGSListBoxItemTextArray* iListboxItemArray; /** * Listbox item text array. Contains listbox item texts */ CDesCArray* iListBoxTextArray; /** * General list box items. Contains localized listbox texts * from R_CONN_SETTINGS_LBX_TXT resource . */ CDesCArrayFlat* iListItems; // plugin model CGSConnSettingsPluginModel* iModel; /** * Array of the child plugins. Owned by CGSConnSettingsPlugin. */ CArrayPtrFlat<CGSPluginInterface>* iPluginArray; /** * General item count. Used when calculating item indexes to ECOM plugins */ TInt iGeneralItemCount; /** * Reference to main view. Does not own */ MGSConnSettingsMskObserver& iMskObserver; /** * Flag is set when wlan is supported */ TBool iIsWlanSupported; };#endif //GSCONNSETTINGSPLUGINCONTAINER_H//End of File