--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/metadataengine/common/src/mdcitem.cpp Mon Jan 18 20:34:07 2010 +0200
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 2002-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 object for MdE*
+*/
+
+#include "mdcitem.h"
+
+///////////////////
+// TMdCObject
+///////////////////
+
+EXPORT_C TMdCObject::TMdCObject() : TMdCItem( EMdCObject )
+ {
+ }
+
+EXPORT_C void TMdCObject::SerializeL(CMdCSerializationBuffer& aBuffer)
+ {
+ TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+ }
+
+EXPORT_C void TMdCObject::DeserializeL(CMdCSerializationBuffer& aBuffer)
+ {
+ TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+ }
+
+EXPORT_C const TMdCObject& TMdCObject::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+ {
+ const TInt bufferPosition = aBuffer.Position();
+ TMdCObject* object = (TMdCObject*)(aBuffer.Buffer().Ptr() + bufferPosition);
+ if (object->iType != EMdCObject)
+ {
+ __ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCObject!"), KErrCorrupt ) );
+
+ User::Leave( KErrCorrupt );
+ }
+ const TInt size = sizeof(TMdCObject) % 2 ? sizeof(TMdCObject)+1 : sizeof(TMdCObject);
+ aBuffer.PositionL( bufferPosition + size );
+ return *object;
+ }
+
+///////////////////
+// TMdCRelation
+///////////////////
+
+EXPORT_C TMdCRelation::TMdCRelation() : TMdCItem( EMdCRelation )
+ {
+ }
+
+EXPORT_C void TMdCRelation::SerializeL(CMdCSerializationBuffer& aBuffer)
+ {
+ TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+ }
+
+EXPORT_C void TMdCRelation::DeserializeL(CMdCSerializationBuffer& aBuffer)
+ {
+ TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+ }
+
+EXPORT_C const TMdCRelation& TMdCRelation::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+ {
+ const TInt bufferPosition = aBuffer.Position();
+ TMdCRelation* relation = (TMdCRelation*)(aBuffer.Buffer().Ptr() + bufferPosition);
+ if (relation->iType != EMdCRelation)
+ {
+ __ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCRelation!"), KErrCorrupt ) );
+
+ User::Leave( KErrCorrupt );
+ }
+ const TInt size = sizeof(TMdCRelation) % 2 ? sizeof(TMdCRelation)+1 : sizeof(TMdCRelation);
+ aBuffer.PositionL( bufferPosition + size );
+ return *relation;
+ }
+
+
+///////////////////
+// TMdCEvent
+///////////////////
+
+EXPORT_C TMdCEvent::TMdCEvent() : TMdCItem( EMdCEvent )
+ {
+ }
+
+EXPORT_C void TMdCEvent::SerializeL(CMdCSerializationBuffer& aBuffer)
+ {
+ TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+ }
+
+EXPORT_C void TMdCEvent::DeserializeL(CMdCSerializationBuffer& aBuffer)
+ {
+ TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+ }
+
+EXPORT_C const TMdCEvent& TMdCEvent::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+ {
+ const TInt bufferPosition = aBuffer.Position();
+ TMdCEvent* event = (TMdCEvent*)(aBuffer.Buffer().Ptr() + bufferPosition);
+ if (event->iType != EMdCEvent)
+ {
+ __ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCEvent!"), KErrCorrupt ) );
+
+ User::Leave( KErrCorrupt );
+ }
+ const TInt size = sizeof(TMdCEvent) % 2 ? sizeof(TMdCEvent)+1 : sizeof(TMdCEvent);
+ aBuffer.PositionL( bufferPosition + size );
+ return *event;
+ }
+
+
+///////////////////
+// TMdCProperty
+///////////////////
+
+EXPORT_C TMdCProperty::TMdCProperty() : TMdCSerializationType( EMdCProperty )
+ {
+ }
+
+EXPORT_C void TMdCProperty::SerializeL(CMdCSerializationBuffer& aBuffer)
+ {
+ TMdCSerializationType::SerializeL( aBuffer, sizeof(*this) );
+ }
+
+EXPORT_C void TMdCProperty::DeserializeL(CMdCSerializationBuffer& aBuffer)
+ {
+ TMdCSerializationType::DeserializeL( aBuffer, sizeof(*this) );
+ }
+
+EXPORT_C const TMdCProperty& TMdCProperty::GetFromBufferL( CMdCSerializationBuffer& aBuffer )
+ {
+ const TInt bufferPosition = aBuffer.Position();
+ TMdCProperty* property = (TMdCProperty*)(aBuffer.Buffer().Ptr() + bufferPosition);
+ if (property->iType != EMdCProperty)
+ {
+ __ASSERT_DEBUG( EFalse, User::Panic( _L("No TMdCProperty!"), KErrCorrupt ) );
+
+ User::Leave( KErrCorrupt );
+ }
+ const TInt size = sizeof(TMdCProperty) % 2 ? sizeof(TMdCProperty)+1 : sizeof(TMdCProperty);
+ aBuffer.PositionL( bufferPosition + size );
+ return *property;
+ }