diff -r 000000000000 -r 094583676ce7 wvuing/IMPSConnectionUI/OperationStepSrc/CCnUiBaseControlContext.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/IMPSConnectionUI/OperationStepSrc/CCnUiBaseControlContext.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,221 @@ +/* +* Copyright (c) 2004 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: Basic control context. +* +*/ + +#ifndef __CCNUIBASECONTROLCONTEXT_H +#define __CCNUIBASECONTROLCONTEXT_H + +// INCLUDES +#include +#include "MCnUiBaseControlContext.h" + + + +// FORWARD DECLARATIONS +class CIMPSSAPSettingsStore; +class CIMPSSAPSettings; +class CCnUiOpContext; +class CCnUiSapStoreProxy; +class CCnUiCntrlStepDriver; +class MCnUiClientPluginAdv; +class MCnUiSignaller; +class MCnUiConnectionHandler; +class MCnUiConnModeHandler; +class MCnUiGlobalNotificationUiFacade; +class CPEngNWSessionSlotID2; +class CPEngNWSessionSlot2; + +// CLASS DECLARATION +/** + * Basic control context. + * + * @since 2.1 + */ +NONSHARABLE_CLASS( CCnUiBaseControlContext ) : public CBase, + public MCnUiBaseControlContext + { +public: // Two-phased constructors and destructor + + /** + * Two-phased constructor. + */ + static CCnUiBaseControlContext* NewLC( TIMPSConnectionClient aClient, + CCnUiSapStoreProxy& aSapStoreProxy, + MCnUiConnectionHandler& aConnHandler ); + + + /** + * Destructor. + */ + ~CCnUiBaseControlContext(); + +protected: //Protected constructors to allow derivation + + /** + * C++ constructor. + */ + CCnUiBaseControlContext( TIMPSConnectionClient aClient, + CCnUiSapStoreProxy& aSapStoreProxy, + MCnUiConnectionHandler& aConnHandler ); + + /** + * Symbian OS constructor. + */ + void ConstructL(); + + +public: // New public methods + + /** + * Executes the AA login operation. + * + * @param aShowDetailedError Should we show error note to user + * in case an error occurs during login. + * @return AA login status. + * One of following: + */ + TInt DoAALoginL( TBool aShowDetailedError ); + + + /** + * Executes the AA logout operation. + * + * @param aIsScheduled Tells if this is a normal scheduled + * scheduled logout (Need to ask confirmation from user) + * @return AA login status. + * One of following: + */ + TInt DoAALogoutL( TBool aIsScheduled ); + + + +protected: // New methods from MCnUiBaseControlContext + + /** + * From MCnUiBaseControlContext + * @see MCnUiBaseControlContext + * @since 2.1 + */ + MCnUiConnectionHandler& ConnHandler(); + + + /** + * From MCnUiBaseControlContext + * @see MCnUiBaseControlContext + * @since 2.1 + */ + MCnUiSignaller& Signaller(); + + + /** + * From MCnUiBaseControlContext + * @see MCnUiBaseControlContext + * @since 2.1 + */ + MCnUiConnModeHandler& ConnModeHandler(); + + + /** + * From MCnUiBaseControlContext + * @see MCnUiBaseControlContext + * @since 2.1 + */ + TIMPSConnectionClient ControlledClient(); + + + /** + * From MCnUiBaseControlContext + * @see MCnUiBaseControlContext + * @since 2.1 + */ + CIMPSSAPSettingsStore& SapStoreL(); + + + /** + * From MCnUiBaseControlContext + * @see MCnUiBaseControlContext + * @since 2.1 + */ + MCnUiClientPlugin& ClientPluginL( TIMPSConnectionClient aClient, + CPEngNWSessionSlotID2& aNWSessionSlotID, + TBool aRefreshPlugin = EFalse ); + + + /** + * From MCnUiBaseControlContext + * @see MCnUiBaseControlContext + * @since 2.1 + */ + MCnUiGlobalNotificationUiFacade& GlobalNotificationUiL(); + + /** + * Gets the active network session slot id + * @param aClient the client type + * @since 3.0 + */ + CPEngNWSessionSlotID2* GetActiveNWSessionSlotIDL( TIMPSConnectionClient aClient ); + +private: + + /** + * Calls ResetAndDestroy to given array + * @since 3.0 + * @param aObject Array (RPointerArray) + */ + static void DestroyCloseModelArray( TAny* aObject ); + +private: //Data + + //NOTE!! control context may not share operation data objects + //as member variables between individual operations, + //because this would mess up things in operation nesting... + + + ///