--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuiprocess/Inc/CCALoginPC.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,205 @@
+/*
+* Copyright (c) 2006 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: Process Component for Login,Logout
+*
+*/
+
+
+
+#ifndef CCALOGINPC_H
+#define CCALOGINPC_H
+
+
+// INCLUDES
+#include <e32base.h>
+#include "MCALoginPC.h"
+#include "MCABackgroundTaskObserver.h"
+#include <cimpspresenceconnectionuing.h>
+// FORWARD DECLARATIONS
+class CCAEngine;
+class CPEngNWSessionSlotID2;
+class CIMPSSAPSettings;
+class TPEngWVCspServicesTree2;
+class MCAMainViewArrayPC;
+class MCALoginRefreshObserverPC;
+
+// CLASS DECLARATION
+
+/**
+* CCALoginPC
+* Process Component for Login,Logout
+* @lib wvuiprocessng.dll
+* @since 3.2
+*/
+class CCALoginPC : public CBase, public MCALoginPC
+ {
+ public:
+ /**
+ * Two-phased constructor.
+ * @param aEngine - Reference to chat engine component
+ */
+ static CCALoginPC* NewL( CCAEngine& aEngine );
+
+ /**
+ * Second phased symbian constructor.
+ */
+ void ConstructL();
+ /**
+ * Destructor
+ */
+ virtual ~CCALoginPC();
+
+ private:
+
+ /**
+ * Default Constructor
+ * @param aEngine - reference to chat engine
+ */
+ CCALoginPC( CCAEngine& aEngine );
+
+ public:
+
+ /**
+ * Does Login to IM Engine
+ * @param aState - NetworkState login/logout
+ * @param aSettings - pointer to SAP Settings
+ * @param aSessionSlotID - Specifies the current session
+ * @param aImpsServices - Reference to the supported IMPS Services
+ * @return true if logged in successfully else false
+ */
+ TBool LoginL( TNetworkState aState, CIMPSSAPSettings* aSettings,
+ CPEngNWSessionSlotID2* aSessionSlotID,
+ TPEngWVCspServicesTree2 &aImpsServices );
+
+ /**
+ * Notifies the IM Engine about the Logged out state
+ * @param aState - NetworkState login/logout
+ * @param aSessionSlotID - Specifies the current session
+ * @param aImpsServices - Reference to the supported IMPS Services
+ * @return true if notified successfully else false
+ */
+ TBool NotifyEngineForLogoutL( TNetworkState aState,
+ CPEngNWSessionSlotID2* aSessionSlotID,
+ TPEngWVCspServicesTree2 &aImpsServices );
+
+ /**
+ * Logout - Does Logout from IM Engine
+ */
+ void LogoutL();
+
+ /**
+ * PerformNetworkStateChangeL -for IM Engine
+ */
+ void PerformNetworkStateChangeL( TNetworkState aState,
+ CPEngNWSessionSlotID2* aSessionSlotID,
+ TPEngWVCspServicesTree2 &aImpsServices );
+
+ /**
+ * ReadyForShutdown for engine
+ * @return true if ready for shutdown
+ */
+ TBool ReadyForShutdown();
+
+ /**
+ * Cancel All engine requests
+ */
+ void CancelAllRequests();
+
+ /**
+ * Used To get MainViewArrayPC
+ * @ return Pointer to MCAMainViewArrayPC
+ * @ since 3.2
+ */
+ IMPORT_C MCAMainViewArrayPC* GetArrayInterface() const;
+
+ /**
+ * Tells if Logged in with a different userid or not
+ * @return ETrue if yes else EFalse.
+ */
+ TBool FreshLoginL( );
+
+
+ /**
+ * Set the value to show nickname or not
+ * @param aShowNickName 'Show nick name' -value
+ */
+ void SetShowNicknameL( TBool aShowNickName );
+
+ /**
+ * Set the alias
+ * @param aAlias - Alias value to be set
+ */
+ void SetAliasL( const TDesC& aAlias );
+
+ public : //from MCALoginPC
+
+ /**
+ * AddObserver
+ */
+ void AddObserver( MCALoginRefreshObserverPC *aObserver );
+
+ /**
+ * RemoveObserver
+ */
+ void RemoveObserver();
+
+
+ /**
+ * Register to receive notifications related to
+ * start and completetion of background task
+ * @param MCABackGroundTaskObserver- object
+ */
+ void RegisterBackGroundTaskObserver( MCABackGroundTaskObserver *aObserver );
+
+ /**
+ * UnRegister from receiving notifications related to
+ * start and completetion of backgroundtask
+ */
+ void UnRegisterBackGroundTaskObserver( MCABackGroundTaskObserver* aObserver );
+
+ /**
+ * To know whether Background task has started
+ * @return TBool
+ */
+ TBool IsBackgroundTaskPending();
+
+
+
+ private://Data
+
+ //Ref. to chat engine,doesnt own
+ CCAEngine& iEngine;
+
+ //Pointer to MainViewArrayPC,owns
+ MCAMainViewArrayPC* iMainViewArrayPC;
+ CIMPSSAPSettings* iLoggedInSap;
+
+ //last logged in user id
+ HBufC* iLoggedUserId;
+
+ HBufC* iOldLoggedUserId;
+
+ //tells if it is first login or not
+ TBool iFirstLogin;
+
+
+ // owned ,Login refresh for conversation container
+ MCALoginRefreshObserverPC* iRefreshObserver;
+
+
+ };
+
+#endif // CCALOGINPC_H
+
+// End of File