profilesapplication/Profiles/ProfilesGSTonesPlugin/inc/ProfilesGSTonesPlugin.h
branchRCL_3
changeset 23 cd54903d48da
parent 0 ca436256272f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesapplication/Profiles/ProfilesGSTonesPlugin/inc/ProfilesGSTonesPlugin.h	Wed Sep 01 12:30:29 2010 +0100
@@ -0,0 +1,195 @@
+/*
+* 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:    Header file for plugin.
+*
+*/
+
+
+#ifndef PROFILESGSTONESPLUGIN_H
+#define PROFILESGSTONESPLUGIN_H
+
+// Includes
+#include <GSPluginInterface.h>
+#include <coneresloader.h>
+#include <MProfileViewHandler.h>
+#include <MProfileChangeObserver.h>
+
+
+// FORWARD DECLARATIONS
+class CProfileSettingsContainer;
+class CProfileGSTonesTopControl;
+class CProfilesGSTonesPluginSettingsHandler;
+class CProfileEngineHandler;
+class MProfilesLocalFeatures;
+class CProfileChangeNotifyHandler;
+class CProfileNaviPaneContainer;
+
+// CLASS DECLARATION
+
+
+/**
+* This interceptor control sits on top of the component stack. Its only purpose
+* is to route focus events to CProfileSettingsContainer. Key events are not
+* handled at all, they just fall through this component.
+*/
+NONSHARABLE_CLASS( CProfileGSTonesTopControl ) : public CCoeControl
+	{
+	public:
+
+		static CProfileGSTonesTopControl* NewL( CCoeControl* aFocusControl );
+		void FocusChanged( TDrawNow aDrawNow );
+
+	private:
+        CCoeControl* iFocusControl;
+	};
+
+
+
+
+/**
+* CProfilesGSTonesPlugin view class.
+*
+* @since Series60_3.1
+*/
+class CProfilesGSTonesPlugin : public CGSPluginInterface,
+    public MProfileChangeObserver,
+    public MProfileViewHandler
+    {
+    public: // Constructors and destructor
+        
+        /**
+        * Symbian OS two-phased constructor
+        * @return 
+        */
+        static CProfilesGSTonesPlugin* NewL( TAny* aInitParams );
+    
+        /**
+        * Destructor.
+        */
+        ~CProfilesGSTonesPlugin();
+
+    public: // From CAknView
+        
+        /**
+        * See base class.
+        */
+        TUid Id() const;
+        
+        /**
+        * See base class.
+        */
+        void DoActivateL( const TVwsViewId& aPrevViewId,
+                          TUid aCustomMessageId,
+                          const TDesC8& aCustomMessage );
+        /**
+        * See base class.
+        */
+        void DoDeactivate();
+        
+        /**
+        * See base class.
+        */
+        void HandleCommandL( TInt aCommand );
+
+        /**
+        * See base class.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+   
+    public: // From CGSPluginInterface
+        
+        /**
+        * See base class.
+        */
+        void GetCaptionL( TDes& aCaption ) const;
+        
+        /**
+        * See base class.
+        */
+        TGSListboxItemTypes ItemType();
+
+        /**
+        * See base class.
+        */
+        TInt PluginProviderCategory() const;
+    
+        /**
+        * From MProfileChangeObserver
+        */
+        void HandleActiveProfileEventL(
+            TProfileEvent aProfileEvent, TInt aProfileId );
+
+        /**
+        * From MProfileViewHandler
+        */
+		virtual void UpdateClientRect();
+
+        /**
+        * From MProfileViewHandler
+        */
+		virtual CAknView& View();
+
+    protected: // New functions
+
+        /**
+         * Shows the information note with the text found from the given
+         * resource.
+         * @param aResourceId The ID of the resource containing the text to be
+         *        shown.
+         */
+        void ShowInfoNoteL( TInt aResourceId );
+
+    protected: // Constructors
+        /**
+        * C++ default constructor.
+        */
+        CProfilesGSTonesPlugin();
+
+        /**
+        * Symbian OS default constructor.
+        */
+        void ConstructL();
+        
+    private: // Data
+        
+        // Resource loader.
+        RConeResourceLoader iResourceLoader;
+        
+        /// Own: Container for the profile settings
+        CProfileSettingsContainer* iContainer;
+
+        /// Own: control needed to get the focus on listbox
+        CProfileGSTonesTopControl* iTopControl;
+
+        /// Own: handler for the settings external to Profiles
+        CProfilesGSTonesPluginSettingsHandler* iSettingsHandler;
+
+        /// Own: handler for Profiles Engine
+        CProfileEngineHandler* iEngineHandler;
+
+        // Own: Profile change notify handler.
+        CProfileChangeNotifyHandler* iNotifier;
+
+        // Own: Navi pane container.
+        CProfileNaviPaneContainer* iNaviPaneContainer;
+
+        // The ID of the previously active profile
+        TInt iPreviousProfile;
+    };
+
+
+#endif // PROFILESGSTONESPLUGIN_H
+
+// End of File
+