diff -r f742655b05bf -r d38647835c2e commsconfig/cscsettingsui/inc/cscsettingsuimodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsconfig/cscsettingsui/inc/cscsettingsuimodel.h Wed Sep 01 12:29:57 2010 +0100 @@ -0,0 +1,241 @@ +/* +* Copyright (c) 2007-2010 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: Declarition of CSCSettingsUiModel +* +*/ + + +#ifndef C_CSCSETTINGSUIMODEL_H +#define C_CSCSETTINGSUIMODEL_H + +#include "mcscengcchobserver.h" +#include "mcscengserviceobserver.h" +#include "mcscengprovisioningobserver.h" + +class CCSCEngCCHHandler; +class CCSCEngServiceHandler; +class CCSCEngBrandingHandler; +class CCSCEngDestinationsHandler; +class MCSCSettingsUiModelObserver; +class CCSCEngServicePluginHandler; +class MCSCEngProvisioningObserver; + +/** + * CCSCSettingsUiModel class + * Declarition of CCSCSettingsUiModel. + * + * @lib CSCSettingsUi.lib + * @since S60 v3.2 + */ +NONSHARABLE_CLASS( CCSCSettingsUiModel ) : public CBase, + public MCSCEngCCHObserver, + public MCSCEngServiceObserver, + public MCSCEngProvisioningObserver + { +public: + + /** + * Two-phased constructor. + * @param aObserver for settings ui observer + * @param aEikEnv for Eikon environment + */ + static CCSCSettingsUiModel* NewL( + MCSCSettingsUiModelObserver& aObserver, + CEikonEnv& aEikEnv ); + + + /** + * Two-phased constructor. + * @param aObserver for settings ui observer + * @param aEikEnv for Eikon environment + */ + static CCSCSettingsUiModel* NewLC( + MCSCSettingsUiModelObserver& aObserver, + CEikonEnv& aEikEnv ); + + /** + * Destructor. + */ + virtual ~CCSCSettingsUiModel(); + + /** + * Returns reference to CSC's Service Provider Settings Handler. + * + * @since S60 v3.2 + * @return reference to SPS handle + */ + CCSCEngServiceHandler& SettingsHandler() const; + + /** + * Returns reference to CSC's Converged Connection Handler. + * + * @since S60 v3.2 + * @return reference to CCH handle + */ + CCSCEngCCHHandler& CCHHandler() const; + + /** + * Returns reference to CSC's Destinations Handler. + * + * @since S60 v3.2 + * @return reference to Destinations handle + */ + CCSCEngDestinationsHandler& DestinationsHandler() const; + + /** + * Returns reference to CSC's Branding Server Handler. + * + * @since S60 v3.2 + * @return reference to Branding Server handle + */ + CCSCEngBrandingHandler& BSHandler() const; + + /** + * Returns reference to CSC's Service Plugin Handler. + * + * @since S60 v5.2 + * @return Reference to Service Plugin Handler. + */ + CCSCEngServicePluginHandler& ServicePluginHandler() const; + + /** + * Stores initialization information. + * Function leaves if given service doesn't exists. + * + * @since S60 v3.2 + * @param aViewId for view id to be activated when exiting + * @param aServiceId for service settings entry id + */ + void StoreInitializationDataL( + const TUid& aViewId, + TUint aServiceId ); + + /** + * To notify when softkeys need to be changed. + * + * @since S60 v3.2 + */ + void UpdateSoftkeys(); + + /** + * Returns uid of the view where to be returned. + * + * @since S60 v3.2 + * @return uid of the return view + */ + TUid ReturnViewId() const; + + /** + * Returns currently selected service provider entry id. + * + * @since S60 v3.2 + * @return id of the currently selected service entry id + */ + TUint CurrentSPEntryId() const; + +// from base class MCSCEngCCHObserver + + /** + * From MCSCEngCCHObserver. + */ + void ServiceStatusChanged( + TUint aServiceId, + TCCHSubserviceType aType, + const TCchServiceStatus& aServiceStatus ); + +// from base class MCSCEngServiceObserver + + /** + * From MCSCEngServiceObserver. + */ + void NotifyServiceChange(); + +// 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 ); + +private: + + CCSCSettingsUiModel( + MCSCSettingsUiModelObserver& aObserver, + CEikonEnv& aEikEnv ); + + void ConstructL(); + +private: // data + + /** + * Reference to settings ui model observer. + */ + MCSCSettingsUiModelObserver& iObserver; + + /** + * Reference to Eikon environment. + */ + CEikonEnv& iEikEnv; + + /** + * Handle to CSC's Service Provider Settings Handler. + * Own. + */ + CCSCEngServiceHandler* iSPSHandler; + + /** + * Handle to CSC's Converged Connection Handler. + * Own. + */ + CCSCEngCCHHandler* iCCHHandler; + + /** + * Handle to CSC's Destinations Handler. + * Own. + */ + CCSCEngDestinationsHandler* iDestinationsHandler; + + /** + * Handle to CSC's Branding Server Handler. + * Own. + */ + CCSCEngBrandingHandler* iBSHandler; + + /** + * CSC's Service Plugin Handler. + * Own. + */ + CCSCEngServicePluginHandler* iServicePluginHandler; + + /** + * Initialization data: Customer application return view id. + */ + TUid iViewId; + + /** + * Initialization data: Service Provider Settings Entry id. + */ + TUint iServiceId; + }; + +#endif // C_CSCSETTINGSUIMODEL_H