diff -r 2b7283837edb -r 3104fc151679 imstutils/imconversationview/imcvuiengine/inc/cimcvenginefactory.h --- a/imstutils/imconversationview/imcvuiengine/inc/cimcvenginefactory.h Thu Aug 19 09:41:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,285 +0,0 @@ -/* -* Copyright (c) 2008-2009 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: service engine factory class -* -*/ - - -#ifndef CIMCVENGINEFACTORY_H -#define CIMCVENGINEFACTORY_H - -// INCLUDES -#include -#include "mimcvenginefactory.h" -#include "mimcvengineopenchats.h" -#include -#include "mimcvenginemessagehandlerobserver.h" -#include "mimcvenginechatlistobserver.h" - -// FORWARD DECLARATIONS -class CIMCVEngine; -class MIMCVEngineConnectionHandler; -class MIMCVEngineOpenChatsObserver; -class CSPSettings; -class MIMCVEngineMessageCreator; -class CBSFactory; -class CSPNotifyChange; -class MIMCVEngineChatListObserver; -class CIMCVEngineStorageListener; - -// CLASS DECLARATION -/** - * Factory to create engine. - * This class implements the factory for creating engine - * - * @lib vimpstengine.lib - * @since S60 5.0 - */ - -class CIMCVEngineFactory : public CBase, - public MIMCVEngineFactory, - public MIMCVEngineOpenChatsObserver, - public MSPNotifyChangeObserver, - public MIMCVEngineMessageHandlerObserver, - public MIMCVEngineChatListObserver - { - public: // Two-phased constructors and destructor - - /** - * @returns a single instance of MVIMPSTEngineFactory - */ - IMPORT_C static MIMCVEngineFactory* InstanceL(); - - /** - * Release - * dont call delete - */ - IMPORT_C static void Release(); - - /** - * c++ default destructor - * dont call delete - */ - virtual ~CIMCVEngineFactory(); - - private: - - /** - * NewLC two phase constructor. - * dont call delete call close - */ - static CIMCVEngineFactory* NewLC(); - - /** - * Second phase construction - * ConstructL - */ - void ConstructL(); - - /** - * C++ constructor. - */ - CIMCVEngineFactory(); - - - void CreateServiceEngineL( TInt aServiceId ); - - - TBool CheckValidIMServiceL(CSPSettings& aSettings , TInt aServiceId) ; - - TUint32 ContactViewUidL(CSPSettings& aSettings, TUint32 aServiceId ); - - void ReadAndCreateAllValidServiceL(); - - - public: //From MVIMPSTEngineFactory - - /** - * return the engine instance for aServiceId. - */ - CIMCVEngine& GetServiceEngineL( TInt aServiceId ) ; - - /** - * find and release the engine instance for aServiceId. - */ - void ReleaseServiceEngine( TInt aServiceId ); - - /** - * @see MVIMPSTEngineFactory - */ - TPtrC GetDisplayNameL(TInt aIndex) const; - - - /** - * @see MVIMPSTEngineFactory - */ - const TDesC& GetTargetIdL(TInt aIndex) const; - - - /** - * @see MVIMPSTEngineFactory - */ - TInt Count() const; - - /** - * @see MVIMPSTEngineFactory - */ - void SetActiveItemL( const TInt aIndex ); - - /** - * @see MVIMPSTEngineFactory - */ - const TDesC& GetActiveItemL() const; - - /** - * @see MVIMPSTEngineFactory - */ - TBool IsMsgPendingL( const TInt aIndex ) const; - - /** - * @see MVIMPSTEngineFactory - */ - TInt FindIndexL(const TDesC& aItem); - - /** - * @see MVIMPSTEngineFactory - */ - void ResetL(); - - /** - * @see MVIMPSTEngineFactory - */ - void RegisterOpenChatObserver(MIMCVEngineOpenChatsObserver* aChatObserver); - - /** - * @see MVIMPSTEngineFactory - */ - void UnRegisterOpenChatObserver(); - - - TInt GetActiveServiceId(); - /* - * return all service engines array - */ - RPointerArray& GetServiceEngines(); - - /** - * @see MVIMPSTEngineFactory - */ - void RegisterServiceObserver(MIMCVEngineServiceChangeObserver* aServiceObserver) ; - /** - * @see MVIMPSTEngineFactory - */ - void UnRegisterServiceObserver() ; - - - private : - - /** - * @see handle the presence change notification - * to handle the connection lost - */ - void HandlePresenceChangedL(TInt aServiceId, const TDesC& aBuddyId ) ; - - /** - * Handle message send operation completion. - * @param aResult result to handle. - */ - void HandleOperationCompletdL(TInt aserviceId, MIMCVEngineMessage::TMessagerType aType , TInt aResult) ; - - /** - * @see HandleConnectionTerminatedL - * to handle the connection lost - * @param aReason, reason report - */ - void HandleConnectionEventL(TInt aServiceId, TIMCVConnectionState aState, TInt aReason ) ; - - /** - * Handle events. - * @param aEvent Event to handle. - * @param aContainerInfo, Container - */ - void HandleChatListEvent(TInt aServiceId, TChatListEventType aEvent, - MIMCVEngineMessageReadInterface* aContainerInfo - ) ; - - - private: // From MSPNotifyChangeObserver - - /** - * From MSPNotifyChangeObserver - * Callback when service has changed - * - * @since S60 5.0 - * @param aServiceId changed service - * @return None - */ - void HandleNotifyChange( TServiceId aServiceId ); - - /** - * From MSPNotifyChangeObserver - * Callback when service error occures - * - * @since S60 5.0 - * @param aError error code - * @return None - */ - void HandleError( TInt aError ); - - /* - * end the cv process - */ - void ShutDownConversationviewL(); - - private: - /** - * @see MIMCVEngineOpenChatsObserver - */ - void HandleChangeL(TInt aServiceId , TInt aIndex, TOpenChatsEventType aChangeType) ; - - /** - * @see MIMCVEngineOpenChatsObserver - */ - void SetStatusMsgL(TInt aServiceId, TInt aIndex,const TDesC & aMsg); - - private : - /* - * helper method to for service table change - */ - void DoHandleServiceChangeL( TInt aServiceId ); - - private : - // Owns : message creater - MIMCVEngineMessageCreator* iMessageCreator; - //owns array of services - RPointerArray iServiceEngines; - // not owns - MIMCVEngineOpenChatsObserver* iChatObserver; - // active service Id - TInt iActiveServiceId; - // active chat index - TInt iActiveChatIndex; - //owns brandingfactory for service specific icons - CBSFactory* iBrandingFactory; - // Own: service observer - CSPNotifyChange* iSpNotifyChange; - // not own - MIMCVEngineServiceChangeObserver* iServiceChangeObserver; - }; - -#endif //CIMCVENGINEFACTORY_H - -// End of File - -