harvester/common/src/mdeobjectwrapper.cpp
changeset 0 c53acadfccc6
child 20 f23c07ec56e2
--- /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<TBool*>( aData );
+					WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value );
+					property->SetBoolValueL( *value );
+					}
+				break;
+				
+				case EPropertyInt8:
+					{
+					TInt8* value = static_cast<TInt8*>( aData );
+					WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value );
+					property->SetInt8ValueL( *value );
+					}
+				break;
+				
+				case EPropertyUint8:
+					{
+					TUint8* value = static_cast<TUint8*>( aData );
+					WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value );
+					property->SetUint8ValueL( *value );
+					}
+				break;
+				
+				case EPropertyInt16:
+					{
+					TInt16* value = static_cast<TInt16*>( aData );
+					WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value );
+					property->SetInt16ValueL( *value );
+					}
+				break;
+				
+				case EPropertyUint16:
+					{
+					TUint16* value = static_cast<TUint16*>( aData );
+					WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value );
+					property->SetUint16ValueL( *value );
+					}
+				break;
+				
+				case EPropertyInt32:
+					{
+					TInt32* value = static_cast<TInt32*>( aData );
+					WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value );
+					property->SetInt32ValueL( *value );
+					}
+				break;
+				
+				case EPropertyUint32:
+					{
+					TUint32* value = static_cast<TUint32*>( aData );
+					WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value );
+					property->SetUint32ValueL( *value );
+					}
+				break;
+				
+				case EPropertyInt64:
+					{
+					TInt64* value = static_cast<TInt64*>( aData );
+					WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value );
+					property->SetInt64ValueL( *value );
+					}
+				break;
+				
+				case EPropertyReal32:
+					{
+					TReal32* value = static_cast<TReal32*>( aData );
+					WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value );
+					property->SetReal32ValueL( *value );
+					}
+				break;
+				
+				case EPropertyReal64:
+					{
+					TReal64* value = static_cast<TReal64*>( aData );
+					WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Edit property: %S with value %d", &aPropertyDef.Name(), *value );
+					property->SetReal64ValueL( *value );
+					}
+				break;
+				
+				case EPropertyTime:
+					{
+					TTime* value = static_cast<TTime*>( 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<const TDesC16*>( 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<TBool*>( aData );
+			WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value );
+			aMdeObject.AddBoolPropertyL( aPropertyDef, *value );
+			}
+		break;
+
+		case EPropertyInt8:
+			{
+			TInt8* value = static_cast<TInt8*>( aData );
+			WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value );
+			aMdeObject.AddInt8PropertyL( aPropertyDef, *value );
+			}
+		break;
+
+		case EPropertyUint8:
+			{
+			TUint8* value = static_cast<TUint8*>( aData );
+			WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value );
+			aMdeObject.AddUint8PropertyL( aPropertyDef, *value );
+			}
+		break;
+		
+		case EPropertyInt16:
+			{
+			TInt16* value = static_cast<TInt16*>( aData );
+			WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value );
+			aMdeObject.AddInt16PropertyL( aPropertyDef, *value );
+			}
+		break;
+		
+		case EPropertyUint16:
+			{
+			TUint16* value = static_cast<TUint16*>( aData );
+			WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value );
+			aMdeObject.AddUint16PropertyL( aPropertyDef, *value );
+			}
+		break;
+		
+		case EPropertyInt32:
+			{
+			TInt32* value = static_cast<TInt32*>( aData );
+			WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value );
+			aMdeObject.AddInt32PropertyL( aPropertyDef, *value );
+			}
+		break;
+		
+		case EPropertyUint32:
+			{
+			TUint32* value = static_cast<TUint32*>( aData );
+			WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value );
+			aMdeObject.AddUint32PropertyL( aPropertyDef, *value );
+			}
+		break;
+		
+		case EPropertyInt64:
+			{
+			TInt64* value = static_cast<TInt64*>( aData );
+			WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value );
+			aMdeObject.AddInt64PropertyL( aPropertyDef, *value );
+			}
+		break;
+		
+		case EPropertyReal32:
+			{
+			TReal32* value = static_cast<TReal32*>( aData );
+			WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value );
+			aMdeObject.AddReal32PropertyL( aPropertyDef, *value );
+			}
+		break;
+		
+		case EPropertyReal64:
+			{
+			TReal64* value = static_cast<TReal64*>( aData );
+			WRITELOG2("CMdeObjectWrapper::HandleObjectPropertyL - Add property: %S with value %d", &aPropertyDef.Name(), *value );
+			aMdeObject.AddReal64PropertyL( aPropertyDef, *value );
+			}
+		break;
+		
+		case EPropertyTime:
+			{
+			TTime* value = static_cast<TTime*>( 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<const TDesC16*>( 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;
+		}
+	}