diff -r 000000000000 -r e6b17d312c8b imservices/imfeatureplugin/srcimdatamodel/imconversation/imconversationeventimp.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imservices/imfeatureplugin/srcimdatamodel/imconversation/imconversationeventimp.cpp Thu Dec 17 08:54:49 2009 +0200 @@ -0,0 +1,162 @@ +/* +* 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: MImConversationEvent API object implementation. + * +*/ + +#include "imconversationeventimp.h" +#include "ximpapiobjbase.h" +#include "ximpapieventbase.h" +#include "imconversationinfoimp.h" +#include +//#include "ximpobjecthelpers.h" +// --------------------------------------------------------------------------- +// CImConversationEventImp::NewLC() +// --------------------------------------------------------------------------- +// +EXPORT_C CImConversationEventImp* CImConversationEventImp::NewLC(CImConversationInfoImp* aConvinfo) + { + CImConversationEventImp* self = new( ELeave ) CImConversationEventImp(); + CleanupStack::PushL( self ); + self->ConstructL( aConvinfo ); + return self; + } + +// --------------------------------------------------------------------------- +// CImConversationEventImp::NewFromStreamLC() +// --------------------------------------------------------------------------- +// +CXIMPApiEventBase* CImConversationEventImp::NewFromStreamLC( RReadStream& aStream ) + { + CImConversationEventImp* self = new( ELeave ) CImConversationEventImp; + CleanupStack::PushL( self ); + self->ConstructL( aStream ); + return self; + } +// --------------------------------------------------------------------------- +// CImConversationEventImp::EqualsContent +// --------------------------------------------------------------------------- +// +TBool CImConversationEventImp::EqualsContent( + const CXIMPApiEventBase& /*aOtherInstance */) const + { + return ETrue; + } + +// --------------------------------------------------------------------------- +// From class CXIMPApiEventBase +// CImConversationEventImp::ExternalizeL +// --------------------------------------------------------------------------- +// +void CImConversationEventImp::ExternalizeL( RWriteStream& aStream ) const + { + iConvInfo->ExternalizeL( aStream ); + } + + +// --------------------------------------------------------------------------- +// CImConversationEventImp::~CImConversationEventImp() +// --------------------------------------------------------------------------- +// +CImConversationEventImp::~CImConversationEventImp() + { + delete iConvInfo; + } + + +// --------------------------------------------------------------------------- +// CImConversationEventImp::CImConversationEventImp() +// --------------------------------------------------------------------------- +// +CImConversationEventImp::CImConversationEventImp() + { + } + + +// --------------------------------------------------------------------------- +// CImConversationEventImp::ConstructL() +// --------------------------------------------------------------------------- +// +void CImConversationEventImp::ConstructL(CImConversationInfoImp* aConvinfo) + { + iConvInfo = aConvinfo; // ownership is transfered here, need to delete iConvInfo + } + + +// --------------------------------------------------------------------------- +// CImConversationEventImp::ConstructL() +// --------------------------------------------------------------------------- +// +void CImConversationEventImp::ConstructL( RReadStream& aStream ) + { + iConvInfo=CImConversationInfoImp::NewL(); + iConvInfo->InternalizeL( aStream ); + } + +// --------------------------------------------------------------------------- +// Implement supported interface access. +// --------------------------------------------------------------------------- +// +XIMPIMP_IF_BASE_GET_INTERFACE_BEGIN( CImConversationEventImp, + MImConversationEvent ) + XIMPIMP_IF_BASE_GET_CLASS( CXIMPApiEventBase, this ) +XIMPIMP_IF_BASE_GET_INTERFACE_END() + +XIMPIMP_IF_BASE_GET_CONST_INTERFACE_BEGIN( CImConversationEventImp, + MImConversationEvent ) + XIMPIMP_IF_BASE_GET_CONST_CLASS( CXIMPApiEventBase, this ) +XIMPIMP_IF_BASE_GET_INTERFACE_END() + + + +// --------------------------------------------------------------------------- +// Implement methods from base event interface and base event class +// --------------------------------------------------------------------------- +// +XIMPIMP_IMPLEMENT_EVENT_BASE_METHODS( CImConversationEventImp, + MImConversationEvent ) + + + + +// --------------------------------------------------------------------------- +// CImConversationEventImp::InternalizeL( ) +// --------------------------------------------------------------------------- +// + +void CImConversationEventImp::InternalizeL( RReadStream& aStream ) + { + iConvInfo->InternalizeL( aStream ); + } + +// --------------------------------------------------------------------------- +// CImConversationEventImp::NewTextMessage() +// --------------------------------------------------------------------------- +// +const MImConversationInfo& CImConversationEventImp:: NewTextMessage( TInt /*aIndex*/ ) const + { + return *iConvInfo; + } + +// --------------------------------------------------------------------------- +// CImConversationEventImp::NewTextMessageCount() +// --------------------------------------------------------------------------- +// + +TInt CImConversationEventImp::NewTextMessageCount() const + { + return 1; // since the count is always 1 + } +// End of file +