imservices/imfeatureplugin/srcimdatamodel/imconversation/imconversationeventimp.cpp
changeset 0 e6b17d312c8b
--- /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 <ximpbase.h>
+//#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
+