diff -r 59148e28d9f6 -r 626366955efb toolsandutils/e32tools/elf2e32/source/pl_symbol.cpp --- a/toolsandutils/e32tools/elf2e32/source/pl_symbol.cpp Fri Jun 25 18:24:47 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,329 +0,0 @@ -// Copyright (c) 2004-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: -// Implementation of the Class Symbol for the elf2e32 tool -// @internalComponent -// @released -// -// - -#include "pl_symbol.h" - - -/** -This constructor sets the symbol members. -@internalComponent -@released -*/ -Symbol::Symbol(char* aName, SymbolType aCodeDataType, char* aExportName, PLUINT32 aOrd, \ - char* aComment , bool aR3Unused, bool aAbsent, PLUINT32 aSz) :\ - iSymbolName(aName), iExportName(aExportName),iSymbolType(aCodeDataType),\ - iOrdinalNumber(aOrd),iComment(aComment),iAbsent(aAbsent), iR3Unused(aR3Unused), \ - iSize (aSz) -{ - -} - -/** -This constructor sets the symbol members. -@internalComponent -@released -*/ -Symbol::Symbol(Symbol& aSymbol, SymbolType aCodeDataType, bool aAbsent) - : iExportName(NULL), \ - iSymbolType(aCodeDataType),iComment(NULL), iR3Unused(false), iAbsent(aAbsent) -{ - iSymbolName = new char[strlen(aSymbol.SymbolName()) + 1]; - strcpy(iSymbolName, aSymbol.SymbolName()); - iOrdinalNumber = aSymbol.OrdNum(); -} - -/** -This copy constructor copies the symbol members from the input symbol. -@param aSymbol - The symbol from which the members are to be copied. -@internalComponent -@released -*/ -Symbol::Symbol(Symbol& aSymbol) -{ - memcpy(this, &aSymbol, sizeof(aSymbol)); - - iSymbolName = new char[strlen(aSymbol.SymbolName()) + 1]; - strcpy(iSymbolName, aSymbol.SymbolName()); - - if(aSymbol.Comment()) - { - iComment = new char[strlen(aSymbol.Comment()) + 1]; - strcpy(iComment, aSymbol.Comment()); - } - - if(aSymbol.ExportName()) - { - iExportName = new char[strlen(aSymbol.ExportName()) + 1]; - strcpy(iExportName, aSymbol.ExportName()); - } -} - -/** -This constructor sets the symbol members. -@internalComponent -@released -*/ -Symbol::Symbol(int symbolStatus,char *name,char *exportName,int ordinalNo,bool r3unused,bool absent,int symbolType,char *comment, PLUINT32 aSz)\ - :iSize (aSz) -{ - if(symbolStatus==0) - { - iSymbolStatus=Matching; - } - else if(symbolStatus==1) - { - iSymbolStatus=Missing; - } - else - { - iSymbolStatus=New; - } - iSymbolName=name; - iExportName=exportName; - iOrdinalNumber=ordinalNo; - iR3Unused=r3unused; - iAbsent=absent; - if(symbolType==0) - { - iSymbolType=SymbolTypeCode; - } - else if(symbolType==1) - { - iSymbolType=SymbolTypeData; - } - else - { - iSymbolType=SymbolTypeNotDefined; - } - iComment=comment; -} - -/** -This destructor frees the symbol members. -@internalComponent -@released -*/ -Symbol::~Symbol() -{ - delete [] iSymbolName; - delete [] iExportName; - delete [] iComment; -} - -/** -This function sets the symbol name. -@param aSymbolName - The symbol name -@internalComponent -@released -*/ -void Symbol::SetSymbolName(char *aSymbolName) -{ - iSymbolName = new char[strlen(aSymbolName)+1]; - strcpy(iSymbolName, aSymbolName); -} - -/** -This function compares the symbol for equality. -@param aSym - The symbol that is compared with this symbol -Return - It returns true if the 2 symbols are equal. -@internalComponent -@released -*/ -bool Symbol::operator==(const Symbol* aSym) const { - if(strcmp(iSymbolName, aSym->iSymbolName)) - return false; - if( iSymbolType != aSym->iSymbolType ) - return false; - - return true; -} - -/** -This function returns the symbol name. -@internalComponent -@released -*/ -const char* Symbol::SymbolName() const { - return iSymbolName; -} - -/** -This function returns the aliased symbol name. -@internalComponent -@released -*/ -const char* Symbol::ExportName() { - return iExportName; -} - -/** -This function returns the ordinal number of the symbol. -@internalComponent -@released -*/ -PLUINT32 Symbol::OrdNum() const { - return iOrdinalNumber; -} - -/** -This function returns if the symbol is code or a data symbol. -@internalComponent -@released -*/ -SymbolType Symbol::CodeDataType() { - return iSymbolType; -} - -/** -This function returns if r3unused is true. -@internalComponent -@released -*/ -bool Symbol::R3unused() { - return iR3Unused; -} - -/** -This function returns if the symbol is marked absent in the def file. -@internalComponent -@released -*/ -bool Symbol::Absent() { - return iAbsent; -} - -/** -This function sets the symbol to be absent. -@param aAbsent - bool value -@internalComponent -@released -*/ -void Symbol::SetAbsent(bool aAbsent) { - iAbsent = aAbsent; -} - -/** -This function returns the comment against this def file. -@internalComponent -@released -*/ -char* Symbol::Comment() { - return iComment; -} - -/** -This function returns the symbol is a matching/missing/new symbol in the def file. -@internalComponent -@released -*/ -int Symbol::GetSymbolStatus() { - return iSymbolStatus; -} - -/** -This function sets the ordinal number for this symbol. -@internalComponent -@released -*/ -void Symbol::SetOrdinal(PLUINT32 aOrdinalNum) { - iOrdinalNumber=aOrdinalNum; -} - -/** -This function sets the status of the symbol i.e., whether it is -a matching/missing/new symbol. -@internalComponent -@released -*/ -void Symbol::SetSymbolStatus(SymbolStatus aSymbolStatus) { - iSymbolStatus = aSymbolStatus; -} - -/** -This function sets the symbol name. -@param aSymbolName - Symbol Name -@internalComponent -@released -*/ -void Symbol::SymbolName(char *aSymbolName) -{ - iSymbolName = aSymbolName; -} -/** -This function sets the export name of the symbol. -@param aComment - aExportName -@internalComponent -@released -*/ -void Symbol::ExportName(char *aExportName) -{ - iExportName = aExportName; -} - -/** -This function sets the comment against the symbol. -@param aComment - aComment -@internalComponent -@released -*/ -void Symbol::Comment(char *aComment) -{ - iComment = aComment; -} - -/** -This function sets the symbol type if it is Code or Data symbol. -@param aType - Symbol Type -@internalComponent -@released -*/ -void Symbol::CodeDataType(SymbolType aType) -{ - iSymbolType = aType; -} - -/** -This function sets if R3Unused is true for this symbol. -@param aR3Unused - bool value -@internalComponent -@released -*/ -void Symbol::R3Unused(bool aR3Unused) -{ - iR3Unused = aR3Unused; -} - -/** -This function sets if R3Unused is true for this symbol. -@param aSize - size of the symbol -@internalComponent -@released -*/ -void Symbol::SetSymbolSize(PLUINT32 aSize){ - iSize = aSize; -} - -/** -This function gets the size of this symbol. -@internalComponent -@released -*/ -PLUINT32 Symbol::SymbolSize(){ - return iSize; -}