aknlayoutcompiler/src/MLAttributes.cpp
changeset 0 f58d6ec98e88
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/aknlayoutcompiler/src/MLAttributes.cpp	Thu Dec 17 09:14:18 2009 +0200
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2005 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 "MLAttributes.h"
+#include "MLAttributesParse.h"
+
+#include "LayoutCompilerErr.h"
+#include "CodeGenConsts.h"
+#include "UsefulDefinitions.h"
+
+//
+//  class TMLAttributeSet
+//
+TMLAttributeSet::TMLAttributeSet()
+	{
+
+	}
+
+TMLAttributeSet::TMLAttributeSet(TMLAttributes* aAttributes)
+	:
+	iAttributes(aAttributes)
+	{
+	
+	}
+
+TMLAttributeSet::~TMLAttributeSet()
+	{
+
+	}
+
+void TMLAttributeSet::Merge(TMLAttributeSet& aOther)
+	{
+
+	}
+
+void TMLAttributeSet::Compile()
+	{
+
+	}
+
+//
+//  class TMLAttributes
+//
+
+TMLAttributes::TMLAttributes()
+	{
+
+	}
+
+TMLAttributes::~TMLAttributes()
+	{
+	for(iterator pComponent = begin(); pComponent != end(); ++pComponent)
+		{
+		TMLAttributeSetComponent& component = pComponent->second;
+		for(TMLAttributeSetComponent::iterator pAttributeSet = component.begin(); pAttributeSet != component.end(); ++pAttributeSet)
+			{
+			TMLAttributeSet* nextSet = pAttributeSet->second;
+			delete nextSet;
+			}
+		}
+	}
+
+void TMLAttributes::Merge(TMLAttributes& aOther)
+	{
+	for(iterator pOtherComponent = aOther.begin(); pOtherComponent != aOther.end(); ++pOtherComponent)
+		{
+		int compId = pOtherComponent->first;
+		TMLAttributeSetComponent& otherComponent = pOtherComponent->second;
+		TMLAttributeSetComponent& thisComponent = (*this)[compId];
+		for(TMLAttributeSetComponent::iterator pOtherAttributeSet = otherComponent.begin(); pOtherAttributeSet != otherComponent.end(); ++pOtherAttributeSet)
+			{
+			string name = pOtherAttributeSet->first;
+			TMLAttributeSet* otherSet = pOtherAttributeSet->second;
+			TMLAttributeSetComponent::iterator foundThisSet = thisComponent.find(name);
+			if(foundThisSet == thisComponent.end() && otherSet)
+				{
+				TMLAttributeSet* otherSetCopy = new TMLAttributeSet(*otherSet);
+				thisComponent.insert(make_pair(name, otherSetCopy));
+				}
+			}
+		}
+	for(TMLAttributeNames::iterator nextOtherName = aOther.iNames.begin(); nextOtherName != aOther.iNames.end(); ++nextOtherName)
+		{
+		// we want the superset of all the names, 
+		// it doesn't matter if there are names that correspond to attributes that don't actually exist
+		// as it won't take up much memory and we won't look for them
+		int& nextThisNameValue = iNames[nextOtherName->first];
+		nextThisNameValue = nextOtherName->second;
+		}
+	}
+
+void TMLAttributes::Compile()
+	{
+
+	}
+
+
+// End of File