diff -r 000000000000 -r c53acadfccc6 harvester/common/src/mdeobjectwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/harvester/common/src/mdeobjectwrapper.cpp Mon Jan 18 20:34:07 2010 +0200 @@ -0,0 +1,318 @@ +/* +* Copyright (c) 2008-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: +* +*/ + +#include "mdeobjectwrapper.h" +#include "harvesterlog.h" +#include "mdeobjectdef.h" +#include "mdepropertydef.h" +#include "mdeobject.h" +#include "mdetextproperty.h" + +CMdeObjectWrapper::CMdeObjectWrapper() + { + // No implementation required + } + + +CMdeObjectWrapper::~CMdeObjectWrapper() + { + } + +EXPORT_C CMdeObjectWrapper* CMdeObjectWrapper::NewLC() + { + CMdeObjectWrapper* self = new (ELeave)CMdeObjectWrapper(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + +EXPORT_C CMdeObjectWrapper* CMdeObjectWrapper::NewL() + { + CMdeObjectWrapper* self=CMdeObjectWrapper::NewLC(); + CleanupStack::Pop( self ); // self; + return self; + } + +void CMdeObjectWrapper::ConstructL() + { + + } + +EXPORT_C void CMdeObjectWrapper::HandleObjectPropertyL(CMdEObject& aMdeObject, const TDesC& aPropertyType, TAny* aData, TBool aIsAdd ) + { + CMdEObjectDef& mdoDef = aMdeObject.Def(); + CMdEPropertyDef& propertyDef = mdoDef.GetPropertyDefL( aPropertyType ); + + HandleObjectPropertyL( aMdeObject, propertyDef, aData, aIsAdd ); + } + +EXPORT_C void CMdeObjectWrapper::HandleObjectPropertyL(CMdEObject& aMdeObject, CMdEPropertyDef& aPropertyDef, TAny* aData, TBool aIsAdd ) + { + if( ! aData ) + { +#ifdef _DEBUG + WRITELOG1("CMdeObjectWrapper::HandleObjectPropertyL - aData is null for property: %S", &aPropertyDef.Name() ); +#endif + return; + } + + TPropertyType pt = aPropertyDef.PropertyType(); + + // check if edit and readonly property then do nothing + if( ! aIsAdd ) + { + if ( aPropertyDef.ReadOnly() != 0 ) + { +#ifdef _DEBUG + WRITELOG1("CMdeObjectWrapper::HandleObjectPropertyL - property: %S is readonly", &aPropertyDef.Name() ); +#endif + return; + } + + CMdEProperty* property = NULL; + const TInt error = aMdeObject.Property( aPropertyDef, property ); + + if ( error >= KErrNone && property ) + { + switch ( pt ) + { + case EPropertyBool: + { + TBool* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value ); + property->SetBoolValueL( *value ); + } + break; + + case EPropertyInt8: + { + TInt8* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value ); + property->SetInt8ValueL( *value ); + } + break; + + case EPropertyUint8: + { + TUint8* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value ); + property->SetUint8ValueL( *value ); + } + break; + + case EPropertyInt16: + { + TInt16* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value ); + property->SetInt16ValueL( *value ); + } + break; + + case EPropertyUint16: + { + TUint16* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value ); + property->SetUint16ValueL( *value ); + } + break; + + case EPropertyInt32: + { + TInt32* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value ); + property->SetInt32ValueL( *value ); + } + break; + + case EPropertyUint32: + { + TUint32* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value ); + property->SetUint32ValueL( *value ); + } + break; + + case EPropertyInt64: + { + TInt64* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value ); + property->SetInt64ValueL( *value ); + } + break; + + case EPropertyReal32: + { + TReal32* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value ); + property->SetReal32ValueL( *value ); + } + break; + + case EPropertyReal64: + { + TReal64* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value ); + property->SetReal64ValueL( *value ); + } + break; + + case EPropertyTime: + { + TTime* value = static_cast( aData ); +#ifdef _DEBUG + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), value->Int64() ); +#endif + property->SetTimeValueL( *value ); + } + break; + + case EPropertyText: + { + const TDesC16* value = static_cast( aData ); + if( value->Length() > 0 ) + { + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %S", &aPropertyDef.Name(), value ); + property->SetTextValueL( *value ); + } + else + { +#ifdef _DEBUG + WRITELOG1("CMdeObjectWrapper::HandleObjectPropertyL - property: %S was empty and not edited", &aPropertyDef.Name() ); +#endif + } + } + break; + + default: + break; + } + + return; + } + } + + switch ( pt ) + { + case EPropertyBool: + { + TBool* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value ); + aMdeObject.AddBoolPropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyInt8: + { + TInt8* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value ); + aMdeObject.AddInt8PropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyUint8: + { + TUint8* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value ); + aMdeObject.AddUint8PropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyInt16: + { + TInt16* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value ); + aMdeObject.AddInt16PropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyUint16: + { + TUint16* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value ); + aMdeObject.AddUint16PropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyInt32: + { + TInt32* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value ); + aMdeObject.AddInt32PropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyUint32: + { + TUint32* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value ); + aMdeObject.AddUint32PropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyInt64: + { + TInt64* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value ); + aMdeObject.AddInt64PropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyReal32: + { + TReal32* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value ); + aMdeObject.AddReal32PropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyReal64: + { + TReal64* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value ); + aMdeObject.AddReal64PropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyTime: + { + TTime* value = static_cast( aData ); + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), value->Int64() ); + aMdeObject.AddTimePropertyL( aPropertyDef, *value ); + } + break; + + case EPropertyText: + { + const TDesC16* value = static_cast( aData ); + if( value->Length() > 0 ) + { + WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %S", &aPropertyDef.Name(), value ); + aMdeObject.AddTextPropertyL( aPropertyDef, *value ); + } + else + { +#ifdef _DEBUG + WRITELOG1("CMdeObjectWrapper::HandleObjectPropertyL - property: %S was empty and not added", &aPropertyDef.Name() ); +#endif + } + } + break; + + default: + break; + } + }