metadataengine/common/src/mdcquery.cpp
changeset 0 c53acadfccc6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/metadataengine/common/src/mdcquery.cpp	Mon Jan 18 20:34:07 2010 +0200
@@ -0,0 +1,268 @@
+/*
+* 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 query and condition definitions for MdE*
+*/
+
+#include "mdcquery.h"
+
+
+/////////////////////
+//  TMdCCondition  //
+/////////////////////
+
+EXPORT_C const TMdCCondition& TMdCCondition::GetFromBufferL( 
+		CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCCondition* condition = (TMdCCondition*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	return *condition;
+	}
+
+
+//////////////////////////
+//  TMdCLogicCondition  //
+//////////////////////////
+
+EXPORT_C TMdCLogicCondition::TMdCLogicCondition() : TMdCCondition( EMdCLogicCondition )
+	{
+	}
+
+EXPORT_C void TMdCLogicCondition::SerializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C void TMdCLogicCondition::DeserializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C const TMdCLogicCondition& TMdCLogicCondition::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCLogicCondition* logicCondition = (TMdCLogicCondition*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	if (logicCondition->iType != EMdCLogicCondition)
+		{
+		__ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCLogicCondition!"), KErrCorrupt ) );
+	
+		User::Leave( KErrCorrupt );
+		}
+	const TInt size = sizeof(TMdCLogicCondition) % 2 ? sizeof(TMdCLogicCondition)+1 : sizeof(TMdCLogicCondition);
+	aBuffer.PositionL( bufferPosition + size );
+	return *logicCondition;
+	}
+
+
+///////////////////////////
+//  TMdCObjectCondition  //
+///////////////////////////
+
+EXPORT_C TMdCObjectCondition::TMdCObjectCondition() : TMdCCondition( EMdCObjectCondition )
+	{
+	}
+
+EXPORT_C void TMdCObjectCondition::SerializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C void TMdCObjectCondition::DeserializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C const TMdCObjectCondition& TMdCObjectCondition::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCObjectCondition* objectCondition = (TMdCObjectCondition*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	if (objectCondition->iType != EMdCObjectCondition)
+		{
+		__ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCObjectCondition!"), KErrCorrupt ) );
+	
+		User::Leave( KErrCorrupt );
+		}
+	const TInt size = sizeof(TMdCObjectCondition) % 2 ? sizeof(TMdCObjectCondition)+1 : sizeof(TMdCObjectCondition);
+	aBuffer.PositionL( bufferPosition + size );
+	return *objectCondition;
+	}
+
+
+//////////////////////////
+//  TMdCEventCondition  //
+//////////////////////////
+
+EXPORT_C TMdCEventCondition::TMdCEventCondition() : TMdCCondition( EMdCEventCondition )
+	{
+	}
+
+EXPORT_C void TMdCEventCondition::SerializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C void TMdCEventCondition::DeserializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C const TMdCEventCondition& TMdCEventCondition::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCEventCondition* eventCondition = (TMdCEventCondition*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	if (eventCondition->iType != EMdCEventCondition)
+		{
+		__ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCEventCondition!"), KErrCorrupt ) );
+	
+		User::Leave( KErrCorrupt );
+		}
+	const TInt size = sizeof(TMdCEventCondition) % 2 ? sizeof(TMdCEventCondition)+1 : sizeof(TMdCEventCondition);
+	aBuffer.PositionL( bufferPosition + size );
+	return *eventCondition;
+	}
+
+
+/////////////////////////////
+//  TMdCPropertyCondition  //
+/////////////////////////////
+
+EXPORT_C TMdCPropertyCondition::TMdCPropertyCondition() : TMdCCondition( EMdCPropertyCondition )
+	{
+	}
+
+EXPORT_C void TMdCPropertyCondition::SerializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C void TMdCPropertyCondition::DeserializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C const TMdCPropertyCondition& TMdCPropertyCondition::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCPropertyCondition* propertyCondition = (TMdCPropertyCondition*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	if (propertyCondition->iType != EMdCPropertyCondition)
+		{
+		__ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCPropertyCondition!"), KErrCorrupt ) );
+	
+		User::Leave( KErrCorrupt );
+		}
+	const TInt size = sizeof(TMdCPropertyCondition) % 2 ? sizeof(TMdCPropertyCondition)+1 : sizeof(TMdCPropertyCondition);
+	aBuffer.PositionL( bufferPosition + size );
+	return *propertyCondition;
+	}
+
+
+/////////////////////////////
+//  TMdCRelationCondition  //
+/////////////////////////////
+
+EXPORT_C TMdCRelationCondition::TMdCRelationCondition() : TMdCCondition( EMdCRelationCondition )
+	{
+	}
+
+EXPORT_C void TMdCRelationCondition::SerializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C void TMdCRelationCondition::DeserializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C const TMdCRelationCondition& TMdCRelationCondition::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCRelationCondition* relationCondition = (TMdCRelationCondition*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	if (relationCondition->iType != EMdCRelationCondition)
+		{
+		__ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCRelationCondition!"), KErrCorrupt ) );
+
+		User::Leave( KErrCorrupt );
+		}
+	const TInt size = sizeof(TMdCRelationCondition) % 2 ? sizeof(TMdCRelationCondition)+1 : sizeof(TMdCRelationCondition);
+	aBuffer.PositionL( bufferPosition + size );
+	return *relationCondition;
+	}
+
+
+//////////////////////////
+//  TMdCSearchCriteria  //
+//////////////////////////
+
+EXPORT_C TMdCSearchCriteria::TMdCSearchCriteria() : TMdCSerializationType( EMdCSearchCriteria )
+	{
+	}
+
+EXPORT_C void TMdCSearchCriteria::SerializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C void TMdCSearchCriteria::DeserializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C const TMdCSearchCriteria& TMdCSearchCriteria::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCSearchCriteria* searchCriteria = (TMdCSearchCriteria*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	if (searchCriteria->iType != EMdCSearchCriteria)
+		{
+		__ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCSearchCriteria!"), KErrCorrupt ) );
+	
+		User::Leave( KErrCorrupt );
+		}
+	const TInt size = sizeof(TMdCSearchCriteria) % 2 ? sizeof(TMdCSearchCriteria)+1 : sizeof(TMdCSearchCriteria);
+	aBuffer.PositionL( bufferPosition + size );
+	return *searchCriteria;
+	}
+
+/////////////////////
+//  TMdCOrderRule  //
+/////////////////////
+
+EXPORT_C TMdCOrderRule::TMdCOrderRule() : TMdCSerializationType( EMdCOrderRule )
+	{
+	}
+
+EXPORT_C void TMdCOrderRule::SerializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C void TMdCOrderRule::DeserializeL(CMdCSerializationBuffer& aBuffer)
+	{
+	TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+	}
+
+EXPORT_C const TMdCOrderRule& TMdCOrderRule::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+	{
+	const TInt bufferPosition = aBuffer.Position();
+	TMdCOrderRule* orderRule = (TMdCOrderRule*)(aBuffer.Buffer().Ptr() + bufferPosition);
+	if (orderRule->iType != EMdCOrderRule)
+		{
+		__ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCOrderRule!"), KErrCorrupt ) );
+	
+		User::Leave( KErrCorrupt );
+		}
+	const TInt size = sizeof(TMdCOrderRule) % 2 ? sizeof(TMdCOrderRule)+1 : sizeof(TMdCOrderRule);
+	aBuffer.PositionL( bufferPosition + size );
+	return *orderRule;
+	}
+