imservices/instantmessagingcache/imcacheserver/src/timcachemessagefactory.cpp
author hgs
Wed, 03 Nov 2010 09:32:20 +0530
changeset 51 61fad867f68e
permissions -rw-r--r--
201041

/*
* 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:  factory helper class implementation  
*
*/


// INCLUDE FILES

#include "timcachemessagefactory.h"
#include "cimcachemessageheader.h"
#include "cimcachemessagebase.h"
 //logs
#include "imcachedebugtrace.h"


// ================= MEMBER FUNCTIONS =======================

// -----------------------------------------------------------------------------
// TIMCacheMessageFactory::CreateIMCacheMessageHeaderL
// Create instantmessagingcache message header
// -----------------------------------------------------------------------------
//
MIMCacheMessageHeader* TIMCacheMessageFactory::CreateIMCacheMessageHeaderL(TInt aServiceId, const TDesC& aBuddyId )
    {
    TRACE( T_LIT( "TIMCacheMessageFactory::CreateIMCacheMessageHeaderL") );
    return CIMCacheMessageHeader::NewL( aServiceId, aBuddyId );
    }


// -----------------------------------------------------------------------------
// TIMCacheMessageFactory::CreateCacheMessageL
// Create instantmessagingcache message header
// -----------------------------------------------------------------------------
//
CIMCacheMessageBase* TIMCacheMessageFactory::CreateCacheMessageL( 
                                        const TDesC& aData )
	{
	TRACE( T_LIT( "TIMCacheMessageFactory::CreateCacheMessageL") );
	return CIMCacheMessageBase::NewL(aData)	;
	}
  
 // -----------------------------------------------------------------------------
// TIMCacheMessageFactory::FindHeaderIndexL
// Create instantmessagingcache message header
// -----------------------------------------------------------------------------
//
TInt TIMCacheMessageFactory::FindHeaderIndexL(RPointerArray<MIMCacheMessageHeader>& aArray, 
												TInt aServiceId,
												const TDesC& aBuddyId )
	{
	TRACE( T_LIT( "TIMCacheMessageFactory::FindHeaderIndexL begin") );
	TInt count = aArray.Count();
	TRACE( T_LIT( "TIMCacheMessageFactory::FindHeaderIndexL count = %d"),count );
	
	for(TInt index = 0; index <count ; index++ )
		{
		MIMCacheMessageHeader* header = aArray[index];
		if(header )
			{
			if( ( aServiceId == header->ServiceId() ) && ( aBuddyId.CompareC( header->BuddyId() ) == 0  ) )	
				{
				return index;	
				}				
			}	
		}
		
	TRACE( T_LIT( "TIMCacheMessageFactory::FindHeaderIndexL end") );		
	return KErrNotFound;
	}
                     
// end of file