metadataengine/common/src/mdcresult.cpp
changeset 0 c53acadfccc6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/metadataengine/common/src/mdcresult.cpp	Mon Jan 18 20:34:07 2010 +0200
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2007-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:  common item result definitions for MdE*
+*/
+
+#include "mdcresult.h"
+
+/////////////////
+//  TMdCItems  //
+/////////////////
+
+EXPORT_C TMdCItems::TMdCItems() : TMdCSerializationType( EMdCItems )
+	{
+	}
+
+EXPORT_C void TMdCItems::SerializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C void TMdCItems::DeserializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C const TMdCItems& TMdCItems::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCItems* items = (TMdCItems*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	if (items->iType != EMdCItems)
+		{
+		__ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCItems!"), KErrCorrupt ) );
+	
+		User::Leave( KErrCorrupt );
+		}
+	const TInt size = sizeof(TMdCItems) % 2 ? sizeof(TMdCItems)+1 : sizeof(TMdCItems);
+	aBuffer.PositionL( bufferPosition + size );
+	return *items;
+	}
+
+
+///////////////////
+//  TMdCItemIds  //
+///////////////////
+
+EXPORT_C TMdCItemIds::TMdCItemIds() : TMdCSerializationType( EMdCItemIds )
+	{
+	}
+
+EXPORT_C void TMdCItemIds::SerializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C void TMdCItemIds::DeserializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C const TMdCItemIds& TMdCItemIds::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCItemIds* itemIds = (TMdCItemIds*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	if (itemIds->iType != EMdCItemIds)
+		{
+		__ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCItemIds!"), KErrCorrupt ) );
+	
+		User::Leave( KErrCorrupt );
+		}
+	const TInt size = sizeof(TMdCItemIds) % 2 ? sizeof(TMdCItemIds)+1 : sizeof(TMdCItemIds);
+	aBuffer.PositionL( bufferPosition + size );
+	return *itemIds;
+	}
+
+
+//////////////////////
+//  TMdCItemCounts  //
+//////////////////////
+
+EXPORT_C TMdCItemCounts::TMdCItemCounts() : TMdCSerializationType( EMdCItemCount )
+	{
+	}
+
+EXPORT_C void TMdCItemCounts::SerializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C void TMdCItemCounts::DeserializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C const TMdCItemCounts& TMdCItemCounts::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCItemCounts* itemCounts = (TMdCItemCounts*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	if (itemCounts->iType != EMdCItemCount)
+		{
+		__ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCItemCounts!"), KErrCorrupt ) );
+	
+		User::Leave( KErrCorrupt );
+		}
+	const TInt size = sizeof(TMdCItemCounts) % 2 ? sizeof(TMdCItemCounts)+1 : sizeof(TMdCItemCounts);
+	aBuffer.PositionL( bufferPosition + size );
+	return *itemCounts;
+	}