--- a/imstutils/imconversationview/imcvuiengine/src/cimcvenginefactory.cpp Thu Aug 19 09:41:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,755 +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 implementation
-*
-*/
-
-// INCLUDE FILES
-#include "cimcvenginefactory.h"
-
-#include "mimcvenginefactory.h"
-#include "cimcvengine.h"
-#include "imcvuiliterals.h"
-#include <spsettings.h>
-#include <spentry.h>
-#include <spproperty.h>
-#include <spdefinitions.h>
-#include <MVPbkContactLink.h>
-#include "mimcvenginemessagecreator.h"
-#include <cbsfactory.h>
-#include "cimcvenginemessagecreator.h"
-#include <spnotifychange.h>
-#include "mimcvngineservicechangeobserver.h"
-#include <apgtask.h>
-#include <w32std.h>
-#include "imcvuiparams.h"
-#include "mimcvenginemessagehandler.h"
-#include "mimcvenginechatinterface.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory::InstanceL
-// Create an instance of the ximp manager
-// behaving as singleton object already created then return same instance.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MIMCVEngineFactory* CIMCVEngineFactory::InstanceL()
- {
- CIMCVEngineFactory* singleton;
- singleton = static_cast<CIMCVEngineFactory*> (Dll::Tls());
- if( !singleton )
- {
- singleton = CIMCVEngineFactory::NewLC();
- User::LeaveIfError( Dll::SetTls( static_cast<TAny*> (singleton ) ));
- CleanupStack::Pop(singleton);
- }
- return (MIMCVEngineFactory*)singleton;
- }
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory::Release
-// Release the singelton
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CIMCVEngineFactory::Release()
- {
- CIMCVEngineFactory* singleton;
- singleton = static_cast<CIMCVEngineFactory*>(Dll::Tls());
- if( singleton )
- {
- delete singleton;
- Dll::SetTls( NULL ) ;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory::NewLC
-// Object creation using two phase construction
-// -----------------------------------------------------------------------------
-//
-CIMCVEngineFactory* CIMCVEngineFactory::NewLC()
- {
- CIMCVEngineFactory* self = new (ELeave) CIMCVEngineFactory();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory::ConstructL
-// Symbian OS default constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::ConstructL()
- {
- iMessageCreator = CIMCVEngineMessageCreator::NewL();
- iBrandingFactory = CBSFactory::NewL( KDefaultBrandIdForBrand, KAppIdForBrand );
- __ASSERT_ALWAYS((iBrandingFactory != NULL),User::Leave(KErrArgument));
- ReadAndCreateAllValidServiceL();
- //register for service table notifications
- RArray<TUint> serviceIds;
- CleanupClosePushL( serviceIds );
- iSpNotifyChange = CSPNotifyChange::NewL( *this );
- iSpNotifyChange->NotifyChangeL( serviceIds );
- CleanupStack::PopAndDestroy( &serviceIds ) ;
- }
-
-// ---------------------------------------------------------
-// CIMCVEngineFactory::CIMCVEngineFactory
-// ---------------------------------------------------------
-CIMCVEngineFactory::CIMCVEngineFactory():
- iActiveChatIndex( KErrNotFound )
- {
-
- }
-
-// ---------------------------------------------------------
-// CIMCVEngineFactory::~CIMCVEngineFactory
-// ---------------------------------------------------------
-CIMCVEngineFactory::~CIMCVEngineFactory()
- {
- delete iSpNotifyChange;
- //delete all the create engine instances
- //delete iBrandingFactory;
- iServiceEngines.ResetAndDestroy();
- iServiceEngines.Close();
- delete iMessageCreator;
- delete iBrandingFactory;
- }
-// ---------------------------------------------------------
-// CIMCVEngineFactory::ReadAndCreateAllValidServiceL
-// ---------------------------------------------------------
-void CIMCVEngineFactory::ReadAndCreateAllValidServiceL()
- {
- CSPSettings* settings = CSPSettings::NewLC();
-
- RArray<TServiceId> services;
- CleanupClosePushL( services );
- settings->FindServiceIdsL( services );
- const TInt serviceCount = services.Count();
-
- for ( TInt i( 0 ); i < serviceCount; i++ )
- {
- TInt serviceId = services[ i ];
- TUint32 refContactUid = ContactViewUidL(*settings , serviceId );
- if ( TUid::Uid( refContactUid ) ==
- TUid::Uid( 0x20012423 )
- || TUid::Uid( refContactUid ) ==
- TUid::Uid( 0x20007B6D )
- || TUid::Uid( refContactUid ) ==
- TUid::Uid( 0x2002B334 ) )
- {
- if( CheckValidIMServiceL(*settings , serviceId ) )
- {
- CreateServiceEngineL( serviceId );
- }
- }
- }
- CleanupStack::PopAndDestroy( &services );
- CleanupStack::PopAndDestroy( settings );
- }
-
-// ---------------------------------------------------------------------------
-// CIMCVEngineFactory::ContactViewUidL()
-// ---------------------------------------------------------------------------
-//
-TUint32 CIMCVEngineFactory::ContactViewUidL(CSPSettings& aSettings, TUint32 aServiceId )
- {
- TInt contactViewUid = KErrNotFound;
- CSPProperty* property = CSPProperty::NewLC();
- TInt err = aSettings.FindPropertyL( aServiceId,
- EPropertyContactViewPluginId,
- *property );
- if ( KErrNone == err )
- {
- property->GetValue( contactViewUid );
- }
- CleanupStack::PopAndDestroy( property );
- return contactViewUid;
- }
-//-----------------------------------------------------------------------------
-// CIMCVEngineFactory::CheckValidIMServiceL
-// ( Other items commented in header )
-//-----------------------------------------------------------------------------
-TBool CIMCVEngineFactory::CheckValidIMServiceL(CSPSettings& aSettings , TInt aServiceId)
- {
- //check whether it has IMSubservice
- TBool ret = ETrue;
- CSPProperty* property = CSPProperty::NewLC();
- TInt err = aSettings.FindPropertyL( aServiceId,
- ESubPropertyIMEnabled,
- *property );
- if ( err )
- {
- ret = EFalse;
- }
- CleanupStack::PopAndDestroy( property );
- return ret;
- }
-
-// ---------------------------------------------------------------------------
-// CIMCVEngineFactory::CreateServiceEngineL()
-// ---------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::CreateServiceEngineL( TInt aServiceId )
- {
- TInt count = iServiceEngines.Count();
- CIMCVEngine* engine = NULL;
- for(int i=0 ; i<count ; i++)
- {
- if(iServiceEngines[i]->GetServiceId() == aServiceId)
- {
- engine = iServiceEngines[i];
- break;
- }
- }
- if( !engine )
- {
- engine = CIMCVEngine::NewL( aServiceId , *iMessageCreator, *iBrandingFactory );
- CleanupStack::PushL(engine);
- iServiceEngines.AppendL(engine);
- CleanupStack::Pop(engine);
- }
- }
-// ---------------------------------------------------------------------------
-// CIMCVEngineFactory::GetServiceEngine()
-// ---------------------------------------------------------------------------
-//
-CIMCVEngine& CIMCVEngineFactory::GetServiceEngineL( TInt aServiceId )
- {
- TInt count = iServiceEngines.Count();
- CIMCVEngine* engine = NULL;
- for(int i=0 ; i<count ; i++)
- {
- if(iServiceEngines[i]->GetServiceId() == aServiceId)
- {
- engine = iServiceEngines[i];
- break;
- }
- }
- if( !engine )
- {
- engine = CIMCVEngine::NewL( aServiceId , *iMessageCreator, *iBrandingFactory );
- CleanupStack::PushL(engine);
- iServiceEngines.AppendL(engine);
- CleanupStack::Pop(engine);
- engine->OpenChats().RegisterObserver( this );
- engine->MessageHandler().SetObserver( this );
- engine->ChatInterface().RegisterChatListObserver( this );
- }
- return *engine;
- }
-// ---------------------------------------------------------------------------
-// CIMCVEngineFactory::ReleaseServiceEngine()
-// ---------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::ReleaseServiceEngine( TInt aServiceId )
- {
- TInt count = iServiceEngines.Count();
- for(int i=0 ; i<count ; i++)
- {
- if(iServiceEngines[i]->GetServiceId() == aServiceId )
- {
- CIMCVEngine* engine = iServiceEngines[i];
- iServiceEngines.Remove( i );
- delete engine;
- engine = NULL;
- iServiceEngines.Compress();
- break;
- }
- }
- }
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: GetDisplayNameL
-// -----------------------------------------------------------------------------
-//
-TPtrC CIMCVEngineFactory::GetDisplayNameL(TInt aIndex) const
- {
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- MIMCVEngineOpenChats& openChat = iServiceEngines[i]->OpenChats();
- TInt openChatCount = openChat.Count();
- if( aIndex < openChatCount )
- {
- return openChat.GetDisplayNameL( aIndex );
- }
- else
- {
- aIndex = aIndex - openChatCount;
- }
- }
- return KNullDesC();
- }
-
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: GetTargetIdL
-// -----------------------------------------------------------------------------
-//
-const TDesC& CIMCVEngineFactory::GetTargetIdL(TInt aIndex) const
- {
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- MIMCVEngineOpenChats& openChat = iServiceEngines[i]->OpenChats();
- TInt openChatCount = openChat.Count();
- if( aIndex < openChatCount )
- {
- return openChat.GetTargetIdL( aIndex );
- }
- else
- {
- aIndex = aIndex - openChatCount;
- }
- }
- return KNullDesC;
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: FindIndexL
-// -----------------------------------------------------------------------------
-//
-TInt CIMCVEngineFactory::FindIndexL(const TDesC& aItem )
- {
- TInt index = KErrNotFound;
- TInt validIndex = 0;
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- MIMCVEngineOpenChats& openChat = iServiceEngines[i]->OpenChats();
- TInt openChatCount = openChat.Count();
- index = openChat.FindIndexL( aItem ) ;
- if( index != KErrNotFound )
- {
- validIndex = validIndex + index;
- break;
- }
- else
- {
- validIndex = openChatCount;
- }
- }
- return validIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: Count
-// -----------------------------------------------------------------------------
-//
-TInt CIMCVEngineFactory::Count() const
- {
- TInt chatCount = 0;
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- MIMCVEngineOpenChats& openChat = iServiceEngines[i]->OpenChats();
- chatCount = chatCount + openChat.Count();
- }
- return chatCount;
- }
-
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: SetActiveItemL
-// -----------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::SetActiveItemL( const TInt aIndex )
- {
- iActiveChatIndex = aIndex;
- }
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: GetActiveItem
-// -----------------------------------------------------------------------------
-//
-const TDesC& CIMCVEngineFactory::GetActiveItemL() const
- {
- TInt index = iActiveChatIndex ;
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- MIMCVEngineOpenChats& openChat = iServiceEngines[i]->OpenChats();
- TInt openChatCount = openChat.Count();
- if( index < openChatCount )
- {
- return openChat.GetTargetIdL( index );
- }
- else
- {
- index = index - openChatCount;
- }
- }
- return KNullDesC;
- }
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: GetServiceEngines
-// -----------------------------------------------------------------------------
-//
-RPointerArray<CIMCVEngine>& CIMCVEngineFactory::GetServiceEngines()
- {
- return iServiceEngines;
- }
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: GetActiveServiceId
-// -----------------------------------------------------------------------------
-//
-TInt CIMCVEngineFactory::GetActiveServiceId()
- {
- TInt index = iActiveChatIndex;
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- MIMCVEngineOpenChats& openChat = iServiceEngines[i]->OpenChats();
- TInt openChatCount = openChat.Count();
- if( index < openChatCount )
- {
- return iServiceEngines[i]->GetServiceId();
- }
- else
- {
- index = index - openChatCount;
- }
- }
- return KErrNotFound;
- }
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: IsMsgPendingL
-// -----------------------------------------------------------------------------
-//
-TBool CIMCVEngineFactory::IsMsgPendingL( const TInt aIndex ) const
- {
- TInt index = aIndex;
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- MIMCVEngineOpenChats& openChat = iServiceEngines[i]->OpenChats();
- TInt openChatCount = openChat.Count();
- if( index < openChatCount )
- {
- openChat.IsMsgPendingL( index );
- }
- else
- {
- index = index - openChatCount;
- }
- }
- return EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: ResetL
-// -----------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::ResetL()
- {
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- iServiceEngines[i]->OpenChats().ResetL();
- }
- iActiveServiceId = KErrNotFound;
- }
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: RegisterOpenChatObserver
-// -----------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::RegisterOpenChatObserver(MIMCVEngineOpenChatsObserver* aChatObserver)
- {
- iChatObserver = aChatObserver;
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- iServiceEngines[i]->OpenChats().RegisterObserver( this );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: UnRegisterOpenChatObserver
-// -----------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::UnRegisterOpenChatObserver()
- {
- iChatObserver = NULL;
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- iServiceEngines[i]->OpenChats().UnRegisterObserver();
- }
- }
-
-
-// ---------------------------------------------------------
-// CIMCVEngineFactory::HandleChangeL
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CIMCVEngineFactory::HandleChangeL(TInt aServiceId, TInt aIndex, TOpenChatsEventType aChangeType)
- {
- if( iChatObserver )
- {
- TInt validIndex = KErrNotFound;
- MIMCVEngineOpenChats& openChat = GetServiceEngineL( aServiceId ).OpenChats();
- TInt chatCount = openChat.Count();
- if( aIndex < chatCount && aIndex>=0 )
- {
- validIndex = FindIndexL( openChat.GetTargetIdL( aIndex ) );
- }
- if(validIndex >=0 )
- {
- iChatObserver->HandleChangeL( aServiceId, validIndex, aChangeType );
- }
- }
- }
-
-// ---------------------------------------------------------
-// CIMCVEngineFactory::SetStatusMsgL()
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CIMCVEngineFactory::SetStatusMsgL(TInt aServiceId, TInt aIndex,const TDesC & aMsg)
- {
- if( iChatObserver )
- {
- TInt validIndex = KErrNotFound;
- MIMCVEngineOpenChats& openChat = GetServiceEngineL( aServiceId ).OpenChats();
- TInt chatCount = openChat.Count();
- if( aIndex < chatCount && aIndex>=0 )
- {
- validIndex = FindIndexL( openChat.GetTargetIdL( aIndex ) );
- }
- if( validIndex >= 0 )
- {
- iChatObserver->SetStatusMsgL( aServiceId, validIndex, aMsg );
- }
- }
- }
-// ---------------------------------------------------------------------------
-// CIMCVEngineFactory::RegisterServiceObserver()
-// ---------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::RegisterServiceObserver(MIMCVEngineServiceChangeObserver* aServiceObserver)
- {
- iServiceChangeObserver = aServiceObserver;
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- iServiceEngines[i]->ChatInterface().RegisterChatListObserver( this );
- iServiceEngines[i]->MessageHandler().SetObserver( this );
- }
- }
-// ---------------------------------------------------------------------------
-// CIMCVEngineFactory::UnRegisterServiceObserver()
-// ---------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::UnRegisterServiceObserver()
- {
- iServiceChangeObserver = NULL;
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- iServiceEngines[i]->ChatInterface().UnregisterChatListObserver( this );
- iServiceEngines[i]->MessageHandler().RemoveObserver();
- }
- }
-
-//////////////////////////////////////////////////////////////
-// ---------------------------------------------------------------------------
-// CIMCVEngineFactory::HandleNotifyChange()
-// ---------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::HandleNotifyChange(
- TServiceId aServiceId )
- {
- TRAP_IGNORE( DoHandleServiceChangeL(aServiceId ) );
- }
-
-// ---------------------------------------------------------------------------
-// CIMCVEngineFactory::DoHandleServiceChangeL()
-// ---------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::DoHandleServiceChangeL( TInt aServiceId )
- {
- // check service Id exist intable
- CSPSettings* settings = CSPSettings::NewLC();
- RArray<TServiceId> services;
- CleanupClosePushL( services );
- settings->FindServiceIdsL( services );
- const TInt serviceCount = services.Count();
- TBool serviceExist = EFalse;
- for ( TInt i( 0 ); i < serviceCount; i++ )
- {
- TInt serviceId = services[ i ];
- TUint32 refContactUid = ContactViewUidL(*settings , serviceId );
- if ( TUid::Uid( refContactUid ) ==
- TUid::Uid( 0x20012423 )
- || TUid::Uid( refContactUid ) ==
- TUid::Uid( 0x20007B6D )
- || TUid::Uid( refContactUid ) ==
- TUid::Uid( 0x2002B334 ) )
- {
- if( aServiceId == serviceId )
- {
- serviceExist = ETrue;
- }
- }
- }
- CleanupStack::PopAndDestroy( &services );
-
- // if service does not exist delete the engine if created
- if( !serviceExist )
- {
- // delete if already created
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- if( iServiceEngines[i]->GetServiceId() == aServiceId )
- {
- if( iServiceChangeObserver )
- {
- // this will delete the new branding icosn for smile etc.
- iServiceChangeObserver->HandleServiceDeletedL( aServiceId );
- }
- CIMCVEngine* engine = iServiceEngines[i];
- engine->OpenChats().UnRegisterObserver();
- engine->MessageHandler().RemoveObserver();
- engine->ChatInterface().UnregisterChatListObserver( this );
-
- iServiceEngines.Remove(i);
- delete engine;
- engine = NULL;
- iServiceEngines.Compress();
- break;
- }
- }
- if( !iServiceEngines.Count() )
- {
- ShutDownConversationviewL();
- }
- }
- else
- {
- // service exist check whether we have service engine or not
- // create if we dont have
- TBool newService = ETrue;
- TInt count = iServiceEngines.Count();
- for( TInt i=0; i<count; i++ )
- {
- if( iServiceEngines[i]->GetServiceId() == aServiceId )
- {
- newService = EFalse;
- break;
- }
- }
- if ( newService && CheckValidIMServiceL( *settings, aServiceId ) )
- {
- // create if NULL and return
- GetServiceEngineL( aServiceId );
- if( iServiceChangeObserver )
- {
- // this will create the new branding icosn for smile etc.
- iServiceChangeObserver->HandleNewServiceL( aServiceId );
- }
- }
- }
- CleanupStack::PopAndDestroy( settings );
- }
-
-// ---------------------------------------------------------------------------
-// CIMCVEngineFactory::HandleError()
-// ---------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::HandleError( TInt /*aError*/ )
- {
- }
- // ---------------------------------------------------------------------------
-// CIMCVEngineFactory::ShutDownConversationviewL()
-// ---------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::ShutDownConversationviewL()
- {
- // Kills cv if running
- RWsSession ws;
- User::LeaveIfError( ws.Connect() );
- CleanupClosePushL( ws );
- TApaTaskList list( ws );
- TApaTask task( list.FindApp( KConversationViewAppUid ) );
- if ( task.Exists() )
- {
- task.EndTask();
- }
- CleanupStack::PopAndDestroy( &ws ); // ws
- }
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory::HandlePresenceChangedL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::HandlePresenceChangedL(TInt aServiceId, const TDesC& aBuddyId )
- {
- if( iServiceChangeObserver )
- {
- // this will create the new branding icosn for smile etc.
- iServiceChangeObserver->HandlePresenceChangedL( aServiceId , aBuddyId );
- }
- }
-// ---------------------------------------------------------
-// CIMCVEngineFactory::HandleOperationCompletdL
-// Handles operation completion
-// ---------------------------------------------------------
-//
-void CIMCVEngineFactory::HandleOperationCompletdL(TInt aServiceId , MIMCVEngineMessage::TMessagerType aType , TInt aResult )
- {
- if( iServiceChangeObserver )
- {
- // this will create the new branding icosn for smile etc.
- iServiceChangeObserver->HandleOperationCompletdL( aServiceId , aType, aResult );
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory::HandleConnectionTerminatedL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::HandleConnectionEventL( TInt aServiceId, TIMCVConnectionState aState, TInt aReason )
- {
- if( iServiceChangeObserver )
- {
- // this will create the new branding icosn for smile etc.
- iServiceChangeObserver->HandleConnectionEventL( aServiceId , aState, aReason );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CIMCVEngineFactory: HandleChatListEvent
-// -----------------------------------------------------------------------------
-//
-void CIMCVEngineFactory::HandleChatListEvent(TInt aServiceId, TChatListEventType aEvent,
- MIMCVEngineMessageReadInterface* aContainerInfo
- )
- {
- if( iServiceChangeObserver )
- {
- // this will create the new branding icosn for smile etc.
- iServiceChangeObserver->HandleChatListEvent( aServiceId , aEvent, aContainerInfo );
- }
- }
-// End of File