--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/IMPSConnectionUI/OperationStepSrc/CCnUiUiControlContext.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,333 @@
+/*
+* 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: UI control context implementation.
+*
+*/
+
+#ifndef __CCNUIUICONTROLCONTEXT_H
+#define __CCNUIUICONTROLCONTEXT_H
+
+// INCLUDES
+#include "CCnUiBaseControlContext.h"
+#include "MCnUiUiControlContext.h"
+
+
+// FORWARD DECLARATIONS
+class CIMPSSAPSettingsStore;
+class CIMPSSAPSettings;
+class CCnUiOpContext;
+class CCnUiSapStoreProxy;
+class CCnUiConnModeRewaker;
+class CCnUiCntrlStepDriver;
+class MCnUiClientPluginAdv;
+class MCnUiSignaller;
+class MCnUiConnModeHandler;
+class MCnUiConnectionHandler;
+class MCnUiUiFacade;
+class MCnUiUiFacade;
+class MIMPSConnProcessUi;
+class MIMPSConnProcessObserver;
+class TProcessObserverProxy;
+class CPEngNWSessionSlotID2;
+
+// CLASS DECLARATION
+/**
+ * UI control context implementation.
+ *
+ * Extends CCnUiBaseControlContext by offering
+ * UI level features.
+ *
+ * @since 2.1
+ */
+NONSHARABLE_CLASS( CCnUiUiControlContext ) : public CCnUiBaseControlContext,
+ public MCnUiUiControlContext
+ {
+public: // Two-phased constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ *
+ * @param aClient The connection client.
+ * @param aSapStoreProxy SAP store proxy to use.
+ * @param aAAModeReWaker The AA mode rewaker to use.
+ * @param aConnHandler Connection handler to use.
+ * @param aObserver Process observer to notify. Can be NULL.
+ */
+ static CCnUiUiControlContext* NewLC( TIMPSConnectionClient aClient,
+ CCnUiSapStoreProxy& aSapStoreProxy,
+ MCnUiConnModeRewaker& aConnModeRewaker,
+ MCnUiConnectionHandler& aConnHandler,
+ MIMPSConnProcessObserver* aObserver );
+
+ /**
+ * Destructor.
+ */
+ ~CCnUiUiControlContext();
+
+private:
+
+ /**
+ * C++ constructor.
+ */
+ CCnUiUiControlContext( TIMPSConnectionClient aClient,
+ CCnUiSapStoreProxy& aSapStoreProxy,
+ MCnUiConnModeRewaker& aConnModeRewaker,
+ MCnUiConnectionHandler& aConnHandler );
+
+ /**
+ * Symbian OS constructor.
+ */
+ void ConstructL( MIMPSConnProcessObserver* aObserver );
+
+
+
+
+public: // New methods
+
+ /**
+ * Performs login for in construction
+ * given client.
+ *
+ * @since 2.1
+ * @param aLoginType The login type.
+ * @return Login status code.
+ */
+ TInt DoLoginL( TIMPSLoginType aLoginType, CPEngNWSessionSlotID2& aNWSessionSlotID,
+ CIMPSSAPSettings* aSap = NULL
+ , TBool aLastLoginSap = EFalse );
+
+
+ /**
+ * Performs logout for in construction
+ * given client.
+ *
+ * @since 2.1
+ * @return Logout status code.
+ */
+ TInt DoLogoutL( const CPEngNWSessionSlotID2& aNWSessionSlotID );
+
+
+ /**
+ * Handles application exit according the
+ * given exit type parameter.
+ *
+ * @since 2.1
+ * @return Disconnect status code.
+ */
+ TInt DoHandleApplicationExitL( TIMPSExitType aExitType,
+ const CPEngNWSessionSlotID2& aNWSessionSlotID );
+
+
+
+public: // New methods from MCnUiUiControlContext
+
+
+ /**
+ * From MCnUiUiControlContext
+ * @see MCnUiUiControlContext
+ * @since 2.1
+ */
+ MCnUiUiFacade& Ui();
+
+ /**
+ * From MCnUiUiControlContext
+ * @see MCnUiUiControlContext
+ * @since 2.1
+ */
+ MCnUiConnProcessObserverProxy& ProcessObserverProxy();
+
+
+ /**
+ * From MCnUiUiControlContext
+ * @see MCnUiUiControlContext
+ * @since 2.1
+ */
+ MCnUiConnModeRewaker& ConnModeRewaker();
+
+
+ /**
+ * From MCnUiUiControlContext
+ * @see MCnUiUiControlContext
+ * @since 2.1
+ */
+ TInt SubOpDisconnectAllL( CIMPSSAPSettings& aDisconnectedSap,
+ RArray< TIMPSConnectionClient >& aDisconnectedClients,
+ const CPEngNWSessionSlotID2& aNWSessionSlotID );
+
+
+ /**
+ * From MCnUiUiControlContext
+ * @see MCnUiUiControlContext
+ * @since 2.1
+ */
+ TInt SubOpReconnectAllL( CIMPSSAPSettings& aReconnectedSap,
+ CPEngNWSessionSlotID2& aNWSessionSlotID );
+
+public: //Methods from MCnUiBaseControlContext
+
+ /**
+ * From MCnUiBaseControlContext
+ *
+ * Forwards request to CCnUiBaseControlContext
+ * base class.
+ *
+ * @see MCnUiBaseControlContext
+ * @since 2.1
+ */
+ MCnUiConnectionHandler& ConnHandler();
+
+
+ /**
+ * From MCnUiBaseControlContext
+ *
+ * Forwards request to CCnUiBaseControlContext
+ * base class.
+ *
+ * @see MCnUiBaseControlContext
+ * @since 2.1
+ */
+ MCnUiSignaller& Signaller();
+
+
+ /**
+ * From MCnUiBaseControlContext
+ *
+ * Forwards request to CCnUiBaseControlContext
+ * base class.
+ *
+ * @see MCnUiBaseControlContext
+ * @since 2.1
+ */
+ MCnUiConnModeHandler& ConnModeHandler();
+
+
+ /**
+ * From MCnUiBaseControlContext
+ *
+ * Forwards request to CCnUiBaseControlContext
+ * base class.
+ *
+ * @see MCnUiBaseControlContext
+ * @since 2.1
+ */
+ TIMPSConnectionClient ControlledClient();
+
+
+ /**
+ * From MCnUiBaseControlContext
+ *
+ * Forwards request to CCnUiBaseControlContext
+ * base class.
+ *
+ * @see MCnUiBaseControlContext
+ * @since 2.1
+ */
+ CIMPSSAPSettingsStore& SapStoreL();
+
+
+ /**
+ * From MCnUiBaseControlContext
+ *
+ * Forwards request to CCnUiBaseControlContext
+ * base class.
+ *
+ * @see MCnUiBaseControlContext
+ * @since 2.1
+ */
+ MCnUiClientPlugin& ClientPluginL( TIMPSConnectionClient aClient,
+ CPEngNWSessionSlotID2& aNWSessionSlotID,
+ TBool aRefreshPlugin = EFalse );
+
+
+ /**
+ * From MCnUiBaseControlContext
+ *
+ * Forwards request to CCnUiBaseControlContext
+ * base class.
+ *
+ * @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*/ ) {
+ return NULL;
+ };
+
+public: // Other new functions
+
+ /**
+ * Displays a list query for selecting a domain ("@domain.com" etc.)
+ * @param aSelectedDomain Here is copied the domain user selected.
+ * @param aSap Current SAP settings, previously selected domain is
+ * stored per SAP.
+ * @return If user cancelled the query return 0,
+ * otherwise the dialog dismiss key code
+ * @since 3.1u
+ */
+ static TInt DisplayDomainSelectionQueryL( TDes& aSelectedDomain,
+ CIMPSSAPSettings* aSap );
+
+private: //Local helpers
+
+
+ /**
+ * Private helper method to execute driver
+ *
+ * @since 2.1
+ * @param aDriver
+ * @param aPopAndDestroyCount How many objects to
+ * PopAndDestroy() after driver execution.
+ @ return Return value from driver execution.
+ */
+ TInt ExecuteDriverInUiLX( CCnUiCntrlStepDriver& aDriver, TInt aPopAndDestroyCount );
+
+
+ /**
+ * Reads integer resource value from resources
+ * @param aResourceId resource id which is read
+ * @return value of wanted integer resource flag
+ */
+ TInt IntResourceValueL( TInt aResourceId );
+
+
+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...
+
+ ///<Ui facade, owned
+ MCnUiUiFacade* iUi;
+
+
+ ///<Process observer proxy, owned
+ TProcessObserverProxy* iProcessObserverProxy;
+
+
+ ///<The conn mode rewaker to use, not owned
+ MCnUiConnModeRewaker& iConnModeRewaker;
+
+ };
+
+#endif //__CCNUIUICONTROLCONTEXT_H
+// End of File
+
+