imservices/imfeatureplugin/srcimfrontend/srcimmanager/imconversationimp.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:54:49 +0200
changeset 0 e6b17d312c8b
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2007 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:  Implementation of MImConversationImp
*
*/


#include "imconversationimp.h"
#include "ximpobjecthelpers.h"
#include "imoperationdefs.h"
//#include "ximpidentityimp.h"
#include "ximpcontextinternal.h"
#include "imconversationinfoimp.h"

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

// ---------------------------------------------------------------------------
// CImConversationImp::NewL()
// ---------------------------------------------------------------------------
//

CImConversationImp* CImConversationImp::NewL( MXIMPContextInternal& aContext )
	{
		XImLogger::Log(_L("CImConversationImp::NewL Started"));
		CImConversationImp* self = new( ELeave ) CImConversationImp( aContext );    
		XImLogger::Log(_L("CImConversationImp::NewL Completed"));
		return self;
	}


// ---------------------------------------------------------------------------
// Implement supported interface access.
// ---------------------------------------------------------------------------
//
XIMPIMP_IF_BASE_GET_INTERFACE_BEGIN( CImConversationImp, 
                                     MImConversation )
XIMPIMP_IF_BASE_GET_INTERFACE_END()


XIMPIMP_IF_BASE_GET_CONST_INTERFACE_BEGIN( CImConversationImp, 
                                           MImConversation )
XIMPIMP_IF_BASE_GET_INTERFACE_END()



// ---------------------------------------------------------------------------
// CImConversationImp::~CImConversationImp()
// ---------------------------------------------------------------------------
//	
CImConversationImp::~CImConversationImp()
    {
		XImLogger::Log(_L("CImConversationImp::~CImConversationImp Started - Completed"));
	}
// ---------------------------------------------------------------------------
// CImConversationImp::CImConversationImp()
// ---------------------------------------------------------------------------
//    
CImConversationImp::CImConversationImp(MXIMPContextInternal& aContext )
    : iContext( aContext )
    {
    }

// ---------------------------------------------------------------------------
// CImConversationImp::PackConvInfoLC()
// ---------------------------------------------------------------------------
//
HBufC8* CImConversationImp::PackConvInfoLC(const MImConversationInfo& aImMessage )
    {
    XImLogger::Log(_L("CImConversationImp::PackConvInfoLC Started"));
    const CImConversationInfoImp* convImp = 
    TXIMPGetImpClassOrPanic< const CImConversationInfoImp >::From( aImMessage );    
    HBufC8* pack = TXIMPObjectPacker< const CImConversationInfoImp >::PackL( *convImp );
    CleanupStack::PushL( pack );
    XImLogger::Log(_L("CImConversationImp::PackConvInfoLC Completed"));
    return pack;
    } 
 
// ---------------------------------------------------------------------------
// CImConversationImp::SendMessageL()
// ---------------------------------------------------------------------------
//    
TXIMPRequestId  CImConversationImp::SendMessageL( const MImConversationInfo& aImMessage)
   {
	XImLogger::Log(_L("CImConversationImp::SendMessageL Started"));
    HBufC8* infoPack = PackConvInfoLC( aImMessage );
    TXIMPRequestId reqId = iContext.QueueOperationL( NImOps::ESendImMessage, *infoPack );
    CleanupStack::PopAndDestroy( infoPack );
    XImLogger::Log(_L("CImConversationImp::SendMessageL Completed"));
    return reqId;
    }
    
// ---------------------------------------------------------------------------
// CImConversationImp::ForwardMessageL()
// ---------------------------------------------------------------------------
//    
    
//TXIMPRequestId  CImConversationImp::ForwardMessageL( const MImConversationInfo& /*aImMessage*/)
//	{
//  }

// ---------------------------------------------------------------------------
// CImConversationImp::SendMessageToGroupL()
// ---------------------------------------------------------------------------
//    
//TXIMPRequestId CImConversationImp::SendMessageToGroupL( const MImConversationInfo& /*aImMessage*/,
//			                                        const TDesC* /*aGroupId*/ )
//	{
//	}

// ---------------------------------------------------------------------------
// CImConversationImp::BlockUsersL()
// ---------------------------------------------------------------------------
//	    
//TXIMPRequestId CImConversationImp::BlockUsersL(const MDesCArray* /*aUserIds*/ )
//    {
//    }

// ---------------------------------------------------------------------------
// CImConversationImp::UnBlockUsersL()
// ---------------------------------------------------------------------------
//    
//TXIMPRequestId CImConversationImp::UnBlockUsersL(const MDesCArray* /*aUserIds*/)
//    {
//	}

// ---------------------------------------------------------------------------
// CImConversationImp::GetBlockedUsersListL()
// ---------------------------------------------------------------------------
//			                                           
//TXIMPRequestId CImConversationImp::GetBlockedUsersListL(void )
//	{
//	}

// ---------------------------------------------------------------------------
// CImConversationImp::GetMessageListL()
// ---------------------------------------------------------------------------
//	
//TXIMPRequestId CImConversationImp::GetMessageListL( const MXIMPIdentity& /*aImMessageId*/,
//			    								   	   const TDesC* /*aGroupId*/,
//			    								   	   const TInt /*aMessageCount*/,
//			                                           TBool /*aDeliveryReportWanted*/)
//	{
//	}

// ---------------------------------------------------------------------------
// CImConversationImp::RejectMessageL()
// ---------------------------------------------------------------------------
//	                                        
//TXIMPRequestId CImConversationImp::RejectMessageL( const MXIMPIdentity& /*aImMessageId*/)
//	{
//	}

// End of file