--- /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;
+ }
+