profilesapplication/Profiles/ProfileApp/SettingsViewInc/CProfileSettingsContainer.h
branchRCL_3
changeset 18 b7fa36b488f8
parent 17 861562a14a53
child 19 cd54903d48da
--- a/profilesapplication/Profiles/ProfileApp/SettingsViewInc/CProfileSettingsContainer.h	Thu Aug 19 09:55:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,418 +0,0 @@
-/*
-* Copyright (c) 2002 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 class of settings view.
-*
-*/
-
-
-#ifndef CPROFILESETTINGSCONTAINER_H
-#define CPROFILESETTINGSCONTAINER_H
-
-// INCLUDES
-#include    <aknsettingitemlist.h>      // CAknSettingItemList
-#include    <MSSSettingsObserver.h>
-#include    <ConeResLoader.h>           // RConeResourceLoader
-#include    <AknTabObserver.h>          // MAknTabObserver
-#include    <MProfileChangeObserver.h>
-#include    "MProfileExternalSettingsObserver.h"
-#include    "MProfileExternalSettingsHandler.h"
-#include    <centralrepository.h>
-#include    <cenrepnotifyhandler.h>
-
-// FORWARD DECLARATIONS
-class MProfileViewHandler;
-class CAknTitlePane;
-class CProfileEngineHandler;
-class CProfileIndexHandler;
-class CProfileTabHandler;
-class MProfileExtended;
-class CProfileStruct;
-class CAknKeySoundSystem;
-class CProfileChangeNotifyHandler;
-class MProfilesLocalFeatures;
-class CProfileSettingsView;
-class CAknView;
-class CRepository;
-class CCenRepNotifyHandler;
-class CProfileNaviPaneContainer;
-
-// CLASS DECLARATION
-/**
-*  Container class of settings view.
-*  Inherited from...
-*  MSSSettingsObserver
-*      to receive notifications of changes in Alternate Line Service setting.
-*  MAknTabObserver
-*      to receive notifications if tabs are changed.
-*  MProfileChangeObserver
-*      to receive notification when the active profile changes.
-*
-*  @lib ProfileSettingsView.lib
-*  @since 1.2
-*/
-class CProfileSettingsContainer : public CAknSettingItemList,
-                                  public MSSSettingsObserver,
-                                  public MAknTabObserver,
-                                  public MProfileChangeObserver,
-                                  public MProfileExternalSettingsObserver,
-                                  public MCenRepNotifyHandlerCallback
-    {
-    public:     // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * Note, this constructor has been deprecated and should not be used.
-        * @return always NULL.
-        */
-        IMPORT_C static CProfileSettingsContainer* NewL(
-            CAknView& aAknView,
-            CProfileEngineHandler& aEngineHandler,
-            CProfileIndexHandler* aIndexHandler,
-            CProfileTabHandler* aTabHandler,
-            CAknTitlePane* aTitlePane );
-
-        /**
-        * Two-phased constructor.
-        * @param aAknView Parent view to get ClientRect and set MopParent.
-        * @param aEngineHandler Engine handler to access Profile Engine.
-        * @param aExternalSettingsHandler handler class for those settings that
-        *        are saved outside of Profiles.
-        * @param aIndexHandler Index handler for supporting several profiles
-        *        in view functionality. Can be NULL.
-        * @param aTabHandler Tab handler for supporting tab functionality
-        *        in Settings view. Can be NULL.
-        * @param aTitlePane Title pane access for setting title pane text.
-        *        Can be NULL.
-        */
-        IMPORT_C static CProfileSettingsContainer* NewL(
-            MProfileViewHandler& aProfileViewHandler,
-            CProfileEngineHandler& aEngineHandler,
-            MProfileExternalSettingsHandler& aExternalSettingsHandler,
-            CProfileIndexHandler* aIndexHandler,
-            CProfileTabHandler* aTabHandler,
-            CAknTitlePane* aTitlePane );
-
-        /**
-        * Two-phased constructor.
-        * @param aAknView Parent view to get ClientRect and set MopParent.
-        * @param aEngineHandler Engine handler to access Profile Engine.
-        * @param aIndexHandler Index handler for supporting several profiles
-        *        in view functionality. Can be NULL.
-        * @param aTabHandler Tab handler for supporting tab functionality
-        *        in Settings view. Can be NULL.
-        * @param aTitlePane Title pane access for setting title pane text.
-        *        Can be NULL.
-        * @param aResourceId the id of the setting item list resource.
-        */
-        IMPORT_C static CProfileSettingsContainer* NewL(
-            MProfileViewHandler& aProfileViewHandler,
-            CProfileEngineHandler& aEngineHandler,
-            MProfileExternalSettingsHandler& aExternalSettingsHandler,
-            CProfileIndexHandler* aIndexHandler,
-            CProfileTabHandler* aTabHandler,
-            CAknTitlePane* aTitlePane,
-            TInt aResourceId );
-
-        /**
-        * Destructor.
-        */
-        ~CProfileSettingsContainer();
-
-    public:     // New functions
-
-        /**
-        * Tells if information of a setting can be changed.
-        * If EFalse is returned, EditItemL for the setting item in question
-        * should not be called and "Change" should be removed from the Options menu.
-        * @param aSettingItemId The setting item ID.
-        * @return Returns if information of a setting can be changed.
-        */
-        IMPORT_C TBool AllowedToChange( TInt aSettingItemId ) const;
-
-		/**
-		* Runs CheckFileExistenceL (by calling DoFileCheckL)
-        * @param TAny* aObj CProfileSettingContainer pointer
-		* @return 1
-        */
-		static TInt StartFileCheckL( TAny* aObj );
-
-     public:     // Functions from base classes
-
-        /**
-        * From CAknSettingItemList.
-        */
-        IMPORT_C void EditItemL( TInt aIndex, TBool aCalledFromMenu );
-     
-     public:  // from MCentRepNotifyHandlerCallback
-		    /**
-        * @see MCentRepNotifyHandlerCallback.
-        * @param aId Id of the key that has changed.
-        * @param aNewValue The new value of the key.
-        */
-        void HandleNotifyInt(
-            TUint32 aId, TInt aNewValue );
-
-    protected:    // New functions
-
-        /**
-        * Frees resources allocated for profile data.
-        * Remember to maintain class state before calling this method!
-        */
-        void ReleaseProfile();
-
-        /**
-        * Reads profile data from Profile Engine.
-        */
-        void ReadProfileL();
-
-        /**
-        * Hides all setting items that have been set hidden for current profile
-        * ands sets visible all that aren't.
-        */
-        void SetHiddenFlagsL();
-
-        /**
-        * Updates all setting items.
-        * Called when the changed settings must be updated to the UI.
-        * @param aReadProfileSettings if this is ETrue, the profile settings are
-        * read from Profiles Engine.
-        */
-        void UpdateSettingsL( TBool aReadProfileSettings = ETrue );
-
-        /**
-        * Creates a setting item for FileListDialog.
-        * @param aFileName Filename.
-        * @param aIdentifier Setting item identifier.
-        * @return Returns the created setting item object.
-        */
-        CAknSettingItem* CreateFileListSettingItemL(
-            TDes& aFileName, TInt aIdentifier );
-
-        /**
-        * Returns the index of a setting item in setting item array.
-        * @param aId Setting item identifier.
-        * @return Returns the index of a setting item if found, otherwise
-        *         KErrNotFound.
-        */
-        TInt IndexForId( TInt aId ) const;
-
-        /**
-        * Sets one setting item hidden.
-        * @param aId Identifier of the setting item.
-        * @param aArray Pointer to setting item array.
-        * @param aHidden Boolean hidden value.
-        */
-        void SetItemHidden( TInt aId, CAknSettingItemArray* aArray, TBool aHidden );
-
-		/**
-		* Sets title pane text.
-		* @param aTitle Title pane text.
-		*        If descriptor has zero length, the application name is used.
-		*/
-		void SetTitlePaneTextL( const TDesC& aTitle );
-
-        /**
-        * Updates names of profiles in tabs and/or title pane.
-        */
-        void UpdateProfileNamesL();
-        
-        /*
-        * Launches confirmation dialog
-        * @param aTitleText Dialog title text
-        */
-        void LaunchDialogL( const TDesC& aTitleText );
-        
-        /*
-        * Chechks that used tones assigned for settings can be found.
-        * If tone is not found, user is informed by confirmation dialog
-        * and tone is replaced with default tone. 
-        */
-        void CheckFileExistenceL();
-        
-        /*
-        * Checks whether settingitem is hidden
-        * @param aId Identifier of the setting item.
-        * @param aArray Pointer to setting item array.
-		* @return Returns ETrue if item is hidden.
-        */
-        TBool IsItemHidden( TInt aId, CAknSettingItemArray* aArray ) const;
-
-		/**
-		* Runs CheckFileExistenceL
-		* @param	None
-		* @return	None
-        */
-		void DoFileCheckL();
-
-    protected:  // Functions from base classes
-
-        /**
-        * From CAknSettingItemList
-        */
-        CAknSettingItem* CreateSettingItemL( TInt aIdentifier );
-
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-
- 		/**
-        * From CCoeControl
-        */
-        void HandleResourceChange(TInt aType);
-
-        /**
-        * From MEikListBoxObserver
-        */
-        void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
-
-        /**
-        * From MSSSettingsObserver
-        */
-        void PhoneSettingChanged(
-            TSSSettingsSetting aSetting,
-            TInt aNewValue );
-
-        /**
-        * From MAknTabObserver
-        */
-        void TabChangedL( TInt aIndex );
-
-        /**
-        * From MProfileChangeObserver
-        */
-        void HandleActiveProfileEventL(
-            TProfileEvent aProfileEvent, TInt aProfileId );
-
-        /**
-        * From MProfileExternalSettingsObserver
-        */
-		void HandleExternalSettingsChangedL();
-
-    protected:
-
-        /**
-        * C++ constructor.
-        */
-        CProfileSettingsContainer(
-            MProfileViewHandler& aProfileViewHandler,
-            CProfileEngineHandler& aEngineHandler,
-            MProfileExternalSettingsHandler& aExternalSettingsHandler,
-            CProfileIndexHandler* aIndexHandler,
-            CProfileTabHandler* aTabHandler,
-            CAknTitlePane* aTitlePane );
-
-        /**
-        * Symbian 2nd phase constructor.
-        * @param aRect View rect.
-        * @param aResourceId the id of the setting item list resource.
-        */
-        void ConstructL( const TRect& aRect,
-                         TInt aResourceId );
-
-    public:     // New functions
-
-        /**
-        * Is a setting item being edited?
-        * @return ETrue if a setting is being edited, EFalse otherwise.
-        */
-        IMPORT_C TBool ItemEdited() const;
-                         
-    private:
-        TBool PowerSaveMode();
-        TBool PowerSaveModeL();
-        TBool PowerSaveMode( TInt aSettingId );
-
-    private:    // Data
-
-        // For reading ALS setting and
-        // for receiving change notifications.
-        RSSSettings iSSSettings;
-
-        // Own: CR session for KProfilesLVFlags (KProEngFeatureIdTTSRingingTone)
-        CRepository* iTTSSession;
-        
-        /// Own: CR session for KProEngDefaultRingingTone
-        CRepository* iSession;
-
-        // Resource loader.
-        RConeResourceLoader iResourceLoader;
-
-        // View handler to get ClientRect and set MopParent.
-        MProfileViewHandler& iProfileViewHandler;
-
-        // Profile Engine handler.
-        CProfileEngineHandler& iEngineHandler;
-
-        // Ref: Handler for settings that are saved outside of Profiles:
-        MProfileExternalSettingsHandler& iExternalSettingsHandler;
-
-        // Ref: Index handler.
-        CProfileIndexHandler* iIndexHandler;
-
-        // Ref: Tab handler.
-        CProfileTabHandler* iTabHandler;
-
-        // Ref: Title pane access.
-        CAknTitlePane* iTitlePane;
-
-        // Own: One profile data
-        MProfileExtended* iProfile;
-
-        // Own: One profile data.
-        CProfileStruct* iCopyProfile;
-
-        // Alternate Line Service support.
-        TBool iAlternateLineService;
-
-        // Own: Avkon key sounds
-        CAknKeySoundSystem* iKeySounds;
-
-        // Own: Profile change notify handler.
-        CProfileChangeNotifyHandler* iNotifier;
-
-        // ETrue if an item is currently being edited.
-        TBool iItemEdited;
-
-        // Not own: locally variated features of Profiles:
-        MProfilesLocalFeatures* iLocalFeatures;
-        
-        /// Own: fileserver session
-        RFs* iFs;
-        
-        /// Default tone
-        TFileName* iDefaultTone;
-
-        // VoIP supported
-        TBool iVoIPStatus;
-        
-        // A CR and notifier for dynamic VoIP
-        CRepository* iVoIPVariation;
-        CCenRepNotifyHandler* iVoIPVariationNotifier;
-
-		/// Timer to run CheckFileExistenceL
-		CPeriodic* iPeriodic;
-
-        // Navi Pane Container
-        CProfileNaviPaneContainer* iNaviPaneContainer;
-    };
-
-#endif // CPROFILESETTINGSCONTAINER_H
-
-// End of File