bintools/rcomp/src/NAMEIDMA.CPP
changeset 0 044383f39525
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bintools/rcomp/src/NAMEIDMA.CPP	Tue Oct 27 16:36:35 2009 +0000
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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 <assert.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "NAMEIDMA.H"
+#include "ERRORHAN.H"
+
+#if defined(__MSVCDOTNET__) || defined(__TOOLS2__)
+using std::endl;
+#endif //__MSVCDOTNET__
+
+#if defined(__VC32__)
+#pragma warning( disable : 4702 )	// unreachable code
+#endif
+
+NameIdMap::NameIdMap()
+	{}
+	
+NameIdMap::~NameIdMap()
+	{
+	DeleteAll();
+	}
+	
+void NameIdMap::Add(String aName, unsigned long aId)
+	{
+	Array::Add(new NameIdItem(aName,aId));
+	}
+	
+unsigned long NameIdMap::FindId(String aNameSought) const
+	{
+	NameIdMapIterator next(*this);
+	NameIdItem* p;
+	while((p = next()) != NULL)
+		if(p->iName == aNameSought)
+			return p->iId;
+	ErrorHandler::OutputErrorLine("Link name not found");
+	exit(1);
+	// C4702: unreachable code			
+	}
+
+int NameIdMap::IsStored(String aNameSought) const
+	{
+	NameIdMapIterator next( * this);
+	NameIdItem * p;
+	while((p = next())!=NULL)
+		if(p->iName == aNameSought)
+			return 1;
+	return 0;
+	}
+
+ostream & operator<<(ostream& os,NameIdMap& o)
+	{
+	os << "ResourceNameIds ******" << endl;
+	NameIdMapIterator next(o);
+	NameIdItem* p;
+	while((p = next() ) != NULL)
+		os << *p;
+	return os;
+	}
+
+//
+
+NameIdItem::NameIdItem(String aNameToSet,unsigned long aIdToSet):
+	iName(aNameToSet),
+	iId(aIdToSet)
+	{}
+
+ostream & operator<<(ostream& os,NameIdItem& o)
+	{
+	os << "NameIdItem " << o.iName << "\t" << o.iId << endl;
+	return os;
+	}
+
+NameIdMapIterator::NameIdMapIterator(const NameIdMap& aMap):
+	ArrayIterator(aMap)
+	{}
+
+NameIdItem* NameIdMapIterator::operator()()
+	{
+	return (NameIdItem*)ArrayIterator::operator()();
+	}
+