diff -r 000000000000 -r ca436256272f profilesapplication/Profiles/ProfilesGSTonesPlugin/inc/ProfilesGSTonesPlugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/profilesapplication/Profiles/ProfilesGSTonesPlugin/inc/ProfilesGSTonesPlugin.h Thu Dec 17 08:45:58 2009 +0200 @@ -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 +#include +#include +#include + + +// 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 +