diff -r f742655b05bf -r d38647835c2e commsconfig/cscapplicationui/inc/cscappui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsconfig/cscapplicationui/inc/cscappui.h Wed Sep 01 12:29:57 2010 +0100 @@ -0,0 +1,260 @@ +/* +* Copyright (c) 2007-2007 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: CSC Applications AppUi +* +*/ + + +#ifndef C_CSCAPPUI_H +#define C_CSCAPPUI_H + +#include + +#include "mcscengcchobserver.h" +#include "mcscengserviceobserver.h" +#include "mcscengconnectionobserver.h" +#include "mcscenguiextensionobserver.h" +#include "mcscengprovisioningobserver.h" + +class CEikAppUi; +class CAknViewAppUi; +class CCSCServiceView; +class CCSCEngCCHHandler; +class CCSCEngStartupHandler; +class CCSCEngServiceHandler; +class CCSCEngBrandingHandler; +class CCSCEngConnectionHandler; +class CCSCEngServicePluginHandler; +class CCSCEngUiExtensionPluginHandler; + +// View ID's for CSC views. +const TUid KCSCServiceViewId = {947873}; + + +/** + * An instance of class CCSCAppUi. + * User Interface part of AVKON application framework for CSC application + * + * @lib + * @since S60 v3.2 + */ +NONSHARABLE_CLASS( CCSCAppUi ) : public CAknViewAppUi, + public MCSCEngProvisioningObserver, + public MCSCEngUiExtensionObserver, + public MCSCEngConnectionObserver, + public MCSCEngServiceObserver, + public MCSCEngCCHObserver + { + public: + + void ConstructL(); + + CCSCAppUi(); + + + /** + * Destructor. + */ + virtual ~CCSCAppUi(); + + + // from base class CEikAppUi + + /** + * From CEikAppUi + * + * + * @since + * @param aCommand Defines the command codes used to indicate the way + * an application is to be launched. Not used in CSC. + * @param aDocumentName A buffer that can contain the name of a file. + * Used in CSC to pass startup parameters instead of file name. + * @param aTail + */ + TBool ProcessCommandParametersL( + TApaCommand aCommand, + TFileName& aDocumentName, + const TDesC8& aTail); + + + /** + * From CEikAppUi + * + * + * @since + * @param aUid + * @param aParams startup parameters. + */ + void ProcessMessageL( TUid aUid, const TDesC8 &aParams ); + + // from base class CAknViewAppUi + + /** + * From CAknViewAppUi + * Handles user menu selections. + * + * @since S60 v3.0 + * @param aCommand The enumerated code for the option selected + */ + void HandleCommandL( TInt aCommand ); + + + /** + * From CAknViewAppUi + * Handling changing of the skin and layout. + * + * @since S60 v3.0 + * @param aType for type of the change + */ + void HandleResourceChangeL( TInt aType ); + + + // from base class MCSCProvisioningObserver + + /** + * From MCSCProvisioningObserver + * Notifies when configuring of service plug-in is done. + * + * @since S60 v3.2 + * @param aResponse plug-in response type + * @param aIndex index + * @param aPluginUid plugins uid + */ + void NotifyServicePluginResponse( + const CCSCEngServicePluginHandler::TServicePluginResponse& aResponse, + const TInt aIndex, + const TUid& aPluginUid ); + + + // from base class MCSCUiExtensionObserver + + /** + * From MCSCUiExtensionObserver + * Notifies when ui extension plug-in is exited + * + * @since S60 v3.2 + * @param aResponse plug-in response type + * @param aIndex index + * @param aPluginUid plugins uid + */ + void NotifyUiExtensionPluginResponse( + const CCSCEngUiExtensionPluginHandler::TUiExtensionPluginResponse& + aResponse, + const TInt aIndex, + const TUid& aPluginUid ); + + + // from base class MCSCEngServiceObserver + + /** + * Called when change in service(s) occur + * + * @since S60 v3.2 + */ + void NotifyServiceChange(); + + + // from base class MCSCEngCCHObserver + + /** + * From MCSCEngCCHObserver. + */ + void ServiceStatusChanged( + TUint aServiceId, + TCCHSubserviceType aType, + const TCchServiceStatus& aServiceStatus ); + + + // from base class MCSCEngConnectionObserver + + /** + * From MCSCEngConnectionObserver. + */ + void NotifyConnectionEvent( + CCSCEngConnectionHandler::TConnectionEvent aConnectionEvent ); + + /** + * From MCoeMessageObserver. + */ + MCoeMessageObserver::TMessageResponse HandleMessageL( + TUint32 aClientHandleOfTargetWindowGroup, TUid aMessageUid, + const TDesC8& aMessageParameters); + + private: + + /* + * For checking if SNAP is still in use. + * + * @since S60 3.2 + * @param aServiceId service id + */ + void SnapCheckL( TUint aServiceId ) const; + + /* + * Exits GS application if needed + * + * @since S60 3.2 + */ + TBool ExitGSIfParentL(); + + private: // data + + /** + * For CSC Application startup parameter handling + * Own. + */ + CCSCEngStartupHandler* iStartupHandler; + + /** + * For CSC Application service handling + * Own. + */ + CCSCEngServiceHandler* iServiceHandler; + + /** + * For CSC Application branding handling + * Own. + */ + CCSCEngBrandingHandler* iBrandingHandler; + + /** + * For CSC Application CCH handling + * Own. + */ + CCSCEngCCHHandler* iCCHHandler; + + /** + * For CSC Application RConnection monitoring + * Own. + */ + CCSCEngConnectionHandler* iConnectionHandler; + + /** + * Pointer to CCSCServiceView + * Not own. + */ + CCSCServiceView* iServiceView; + + /** + * Service which is monitored when disabling and removing service + */ + TUint iMonitoredService; + +#ifdef _DEBUG + friend class UT_CSC; +#endif + + }; + +#endif // C_CSCAPPUI_H