diff -r 2b7283837edb -r 3104fc151679 uiservicetab/vimpstengine/inc/cvimpstengineimsubservice.h --- a/uiservicetab/vimpstengine/inc/cvimpstengineimsubservice.h Thu Aug 19 09:41:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,254 +0,0 @@ -/* -* Copyright (c) 2008 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: Class that capsulates im sub service data members -* -*/ - -#ifndef __CVIMPSTENGINEIMSUBSERVICE_H -#define __CVIMPSTENGINEIMSUBSERVICE_H - -// INCLUDES -#include -#include "tvimpstenums.h" - -//base -#include -#include "mvimpstenginecchhandlerobserver.h" -#include "mvimpstenginesubservice.h" -#include "mvimpstengineimsubservice.h" - - -// FORWARD DECLARATIONS -class CVIMPSTEngineServiceTableFetcher; -class CIMCacheFactory; -class MIMCacheAccessor; -class MVIMPSTEngineIMSubServiceEventObserver; -class CVIMPSTEngineCchHandler; -class MVIMPSTEngineServiceConnectionEventObserver; - - - -//CLASS DECLARATION - -/** - * class handling im sub service - * @lib vimpstengine.lib - * @since S60 5.0 - */ - -NONSHARABLE_CLASS( CVIMPSTEngineIMSubService ) : public CBase, - // public MVIMPSTEngineSubService, - public MVIMPSTEngineIMSubService, - public MIMCacheEventHandler, - public MVIMPSTEngineCchHandlerObserver - { - //for testcases - friend class T_VimpstEngineImSubService; - - public: // Two-phased constructors and destructor - - /** - * NewLC two phase constructor. - * @param aServiceId - Service Id - * @param aCchHandler - reference to cchhandler - * @param aTableFetcher - Handler to SPSettings - * @param aServiceStateListener - Handler to the ServiceStateListener - * return @ptr to CVIMPSTEngineIMSubService - */ - static CVIMPSTEngineIMSubService* NewLC( TUint aServiceId, - CVIMPSTEngineCchHandler& aCchHandler, - CVIMPSTEngineServiceTableFetcher& aTableFetcher, - MVIMPSTEngineServiceConnectionEventObserver& aObserver ); - - - /** - * NewL two phase constructor. - * @param aServiceId - Service Id - * @param aCchHandler - reference to cchhandler - * @param aTableFetcher - Handler to SPSettings - * @param aServiceStateListener - Handler to the ServiceStateListener - * return @ptr to CVIMPSTEngineIMSubService - */ - static CVIMPSTEngineIMSubService* NewL( TUint aServiceId, - CVIMPSTEngineCchHandler& aCchHandler, - CVIMPSTEngineServiceTableFetcher& aTableFetcher, - MVIMPSTEngineServiceConnectionEventObserver& aObserver); - - /** - * C++ default destructor - */ - virtual ~CVIMPSTEngineIMSubService(); - - - public: //From MVIMPSTEngineSubService - - /** - * @see MVIMPSTEngineSubService - */ - TVIMPSTEnums::TVIMPSTRegistrationState SubServiceState() const; - - /** - * @see MVIMPSTEngineSubService - */ - TVIMPSTEnums::SubServiceType Type() const; - - - - public: //From MVIMPSTIMSubService - - /** - * @see MVIMPSTIMSubService - */ - void RegisterChatObserver(MVIMPSTEngineIMSubServiceEventObserver* aObserver); - - /** - * @see MVIMPSTIMSubService - */ - void UnRegisterChatObserver(MVIMPSTEngineIMSubServiceEventObserver* aObserver); - - /** - * @see MVIMPSTIMSubService - */ - TInt GetUnreadCountL(const TDesC& aSender); - - - /** - * @see MVIMPSTIMSubService - */ - TBool IsConversationExistL(const TDesC& aRecipientId) const ; - - /** - * @see MVIMPSTIMSubService - */ - void CloseConversationL( const TDesC& aContactId ); - - /** - * @see MVIMPSTIMSubService - */ - - RArray GetOpenChatListL(); - - - - public: // From MIMCacheEventHandler - - /** - * @see MIMCacheEventHandler - */ - void HandleIMCacheEventL(TIMCacheEventType aEventType, TAny* aChatMessage = NULL ); - - - private: //From MVIMPSTEngineCchHandlerObserver - - /** - * See MVIMPSTEngineCchHandlerObserver - */ - void CchEventOccuredL( - TUint aServiceId, - TCCHSubserviceState aState, - TInt aServiceError ); - - - private: - - /** - * Symbian second phase constructor - */ - void ConstructL(); - - /** - * C++ default constructor. - * @param aServiceId - Service Id - * @param aCchHandler - reference to cchhandler - * @param aTableFetcher - Handler to SPSettings - * @param aServiceStateListener - Handler to the ServiceStateListener - */ - CVIMPSTEngineIMSubService( TUint aServiceId, - CVIMPSTEngineCchHandler& aCchHandler, - CVIMPSTEngineServiceTableFetcher& aTableFetcher, - MVIMPSTEngineServiceConnectionEventObserver& aObserver ); - - - /** - * Resolves the CCH service state to Service Tab understandable state - * @param aServiceId - Service Id - * @param aCchErr - returns the last CCH Error - * @return TVIMPSTRegistrationState the Registration State - */ - TVIMPSTEnums::TVIMPSTRegistrationState ResolveServiceStateL( TCCHSubserviceState aState, - TInt aServiceError ); - - /** - * Handler for the CCH Errors - * @param aServiceError - */ - void DoHandleCchErrorL( TInt aServiceError ); - - /** - * Create IM Cache Accessor - * - */ - void CreateIMCacheAccessorL(); - - /** - * Release IM Cache Accessor - * - */ - void ReleaseIMCacheAccessor(); - - /** - * Notify the list of Observers registered for the IM Event - * @param aBuddyId, Buddy Id for which the Event is received - */ - void NotifyObserversL(TVIMPSTEnums::TIMEventType aEventType ,const TDesC& aBuddyId ); - - - private : - - // Service Id - TUint iServiceId; - - //doesnot own. - CVIMPSTEngineCchHandler& iCchHandler; - - //doesnt own - handler to the SP Settings - CVIMPSTEngineServiceTableFetcher& iTableFetcher; - - //Doesnt Own - Handler to the ServiceStateListener - MVIMPSTEngineServiceConnectionEventObserver& iObserver; - - // Stores the Type of SubService - TVIMPSTEnums::SubServiceType iType; - - // owned, access to accesss/update interface - // call realease of factory - CIMCacheFactory* iIMCacheFactory; - - // owned, access/update to imcache - // call realease of factory - MIMCacheAccessor* iIMCacheAccessor; - - //Doesnt Own - RPointerArray iChatObserver; - - // Stores sub services current state - TVIMPSTEnums::TVIMPSTRegistrationState iServiceState; - - }; - -#endif //__CVIMPSTENGINEIMSUBSERVICE_H - -// End of File - -