imgtools/imgcheck/libimgutils/src/utils.cpp
changeset 590 360bd6b35136
parent 0 044383f39525
child 626 ac03b93ca9c4
--- a/imgtools/imgcheck/libimgutils/src/utils.cpp	Wed Jun 16 16:51:40 2010 +0300
+++ b/imgtools/imgcheck/libimgutils/src/utils.cpp	Wed Jun 23 16:56:47 2010 +0800
@@ -1,211 +1,195 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-/**
- @file
- @internalComponent
- @released
-*/
-
-#include "typedefs.h"
-#include <e32def.h>
-#include "h_utl.h"
-#include "r_obey.h"
-#include "r_romnode.h"
-#include <algorithm>
-
-ECompression gCompress = ECompressionUnknown;
-unsigned int  gCompressionMethod = 0;
-TBool gPagingOverride = 0;
-TInt gCodePagingOverride = -1;
-TInt gDataPagingOverride = -1;
-TInt gLogLevel = 0;
-
-/** 
-Function receives an UID type of an executable and identifies whether it is a
-1. EXE or not,
-2. DLL or not
-3. Executable or not.
-
-@internalComponent
-@released
-
-@param Uids1 - Uid1 of a E32 executable
-@param aType - Type to be compared against aUids1. 
-*/
-bool ReaderUtil::IsExecutable(unsigned char* aUids1, int aType)
-{
-	//In the little-endian world
-	if( aUids1[3] == 0x10 && aUids1[2] == 0x0 && aUids1[1] == 0x0 )
-		{
-			switch(aType)
-			{
-			case EExe:
-				if(aUids1[0] == 0x7a)
-				{
-					return true;
-				}
-				break;
-			case EDll:
-				if(aUids1[0] == 0x79)
-				{
-					return true;
-				}
-				break;
-			case EAll:
-				if((aUids1[0] == 0x79) || (aUids1[0] == 0x7a))
-				{
-					return true;
-				}
-				break;
-			}
-		}
-	return false;
-}
-
-/** 
-Function receives an UID type of an executable and identifies whether it is a EXE or not.
-
-@internalComponent
-@released
-
-@param aType - Type to be compared against aUids1.
-*/
-bool ReaderUtil::IsExe(unsigned long* aUids1)
-{
-	return IsExecutable((unsigned char*)aUids1, EExe);
-}
-
-/** 
-Function receives an UID type of an executable and identifies whether it is a DLL or not,
-
-@internalComponent
-@released
-
-@param aType - Type to be compared against aUids1.
-*/
-bool ReaderUtil::IsDll(unsigned long* aUids1)
-{
-	return IsExecutable((unsigned char*)aUids1, EDll);
-}
-
-/** 
-Function responsible to convert lower case strings to upper case
-
-@internalComponent
-@released
-
-@param aString - String which needs to be inserted
-*/
-const String&  ReaderUtil::ToLower(String& aString)
-{
-	unsigned int stringLength = aString.length();
-	unsigned char stringChar;
-	for(unsigned int stringIndex = 0; stringIndex < stringLength; stringIndex++)
-	{
-		stringChar = aString.at(stringIndex);
-		if( stringChar >= KUpperCaseAsciiValOfCharA && stringChar <= KUpperCaseAsciiValOfCharZ )
-		{
-			stringChar += KUpperAndLowerAsciiDiff; //Upper case alphabets case changed to lower case
-		}
-		aString[stringIndex] = stringChar;
-	}
-	return aString;
-}
-
-/** 
-Function responsible to convert integer to ASCII characters with respect to its base value.
-Function takes the integer value with its base.
-Calculates the first reminder by dividing the value with its base, put this value into result string .
-Do the same until the value becomes zero.
-
-Regular itoa() function from stdlib.h, definition is not available in linux.
-
-@internalComponent
-@released
-
-@param aString - String which needs to be inserted
-*/
-const String ReaderUtil::IntToAscii(const int aValue, const int aBase)
-{
-	String result;
-	// check that the base if valid, the valid range is between 2 and 16
-	if (aBase < EBase2 || aBase > EBase16) 
-	{ 
-		return result; 
-	}
-	int quotient = aValue;
-	do 
-	{
-	#ifdef __TOOLS__
-		result += "0123456789abcdef"[abs(quotient % aBase)];
-	#else
-		result += "0123456789abcdef"[std::abs(quotient % aBase)];
-	#endif
-		quotient /= aBase;
-	} while (quotient);
-	
-	// Only apply negative sign for base 10
-	if (aValue < 0 && aBase == EBase10) 
-	{
-		result += '-';
-	}
-	std::reverse(result.begin(), result.end());
-	return result;
-}
-
-/** 
-Function responsible to convert string to integer.
-Regular atoi() function from stdlib.h, definition is not available in linux.
-
-@internalComponent
-@released
-
-@param aString - String which needs to be converted.
-*/
-Long64 ReaderUtil::DecStrToInt(String& aString)
-{
-	Long64 val = 0;
-	std::string::iterator strBegIter = aString.begin();
-	std::string::iterator strEndIter = aString.end();
-
-	while(strBegIter != strEndIter)
-	{
-		val *= EBase10;
-		val += *strBegIter - KAsciiValueOfZero;
-		++strBegIter;
-	}
-	return val;
-}
-
-/**
-Function to convert String to any numeric type.
-
-@internalComponent
-@released
-
-@param aStringVal - the string which has to be converted.
-@return - returns the coverted value.
-*/
-unsigned int ReaderUtil::HexStrToInt(String& aStringVal)
-{
-	IStringStream inputStrStream(aStringVal);
-	unsigned int intVal = 0;
-	inputStrStream >> std::hex >> intVal;
-	return intVal;
-}
+/*
+* Copyright (c) 2007-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: 
+*
+*/
+
+
+/**
+@file
+@internalComponent
+@released
+*/
+
+#include "typedefs.h"
+#include <e32def.h>
+#include "h_utl.h"
+#include "r_obey.h"
+#include "r_romnode.h"
+#include <algorithm>
+
+ECompression gCompress = ECompressionUnknown;
+unsigned int  gCompressionMethod = 0;
+TBool gPagingOverride = 0;
+TInt gCodePagingOverride = -1;
+TInt gDataPagingOverride = -1;
+TInt gLogLevel = 0;
+bool gCache = false;
+
+/** 
+Function receives an UID type of an executable and identifies whether it is a
+1. EXE or not,
+2. DLL or not
+3. Executable or not.
+
+@internalComponent
+@released
+
+@param Uids1 - Uid1 of a E32 executable
+@param aType - Type to be compared against aUids1. 
+*/
+bool ReaderUtil::IsExecutable(unsigned char* aUids1, int aType) {
+	//In the little-endian world
+	if( aUids1[3] == 0x10 && aUids1[2] == 0x0 && aUids1[1] == 0x0 ) {
+		switch(aType) {
+			case EExe:
+				if(aUids1[0] == 0x7a) {
+					return true;
+				}
+				break;
+			case EDll:
+				if(aUids1[0] == 0x79) {
+					return true;
+				}
+				break;
+			case EAll:
+				if((aUids1[0] == 0x79) || (aUids1[0] == 0x7a)) {
+					return true;
+				}
+				break;
+		}
+	}
+	return false;
+}
+
+/** 
+Function receives an UID type of an executable and identifies whether it is a EXE or not.
+
+@internalComponent
+@released
+
+@param aType - Type to be compared against aUids1.
+*/
+bool ReaderUtil::IsExe(unsigned long* aUids1) {
+	return IsExecutable((unsigned char*)aUids1, EExe);
+}
+
+/** 
+Function receives an UID type of an executable and identifies whether it is a DLL or not,
+
+@internalComponent
+@released
+
+@param aType - Type to be compared against aUids1.
+*/
+bool ReaderUtil::IsDll(unsigned long* aUids1) {
+	return IsExecutable((unsigned char*)aUids1, EDll);
+}
+
+/** 
+Function responsible to convert lower case StringList to upper case
+
+@internalComponent
+@released
+
+@param aString - string which needs to be inserted
+*/
+const string&  ReaderUtil::ToLower(string& aString) {
+	unsigned int stringLength = aString.length();
+	unsigned char stringChar;
+	for(unsigned int stringIndex = 0; stringIndex < stringLength; stringIndex++) {
+		stringChar = aString.at(stringIndex);
+		if( stringChar >= KUpperCaseAsciiValOfCharA && stringChar <= KUpperCaseAsciiValOfCharZ ) {
+			stringChar += KUpperAndLowerAsciiDiff; //Upper case alphabets case changed to lower case
+		}
+		aString[stringIndex] = stringChar;
+	}
+	return aString;
+}
+
+/** 
+Function responsible to convert integer to ASCII characters with respect to its base value.
+Function takes the integer value with its base.
+Calculates the first reminder by dividing the value with its base, put this value into result string .
+Do the same until the value becomes zero.
+
+Regular itoa() function from stdlib.h, definition is not available in linux.
+
+@internalComponent
+@released
+
+@param aString - string which needs to be inserted
+*/
+const string ReaderUtil::IntToAscii(const int aValue, const int aBase) {
+	string result;
+	// check that the base if valid, the valid range is between 2 and 16
+	if (aBase < EBase2 || aBase > EBase16) 
+	{ 
+		return result; 
+	}
+	int quotient = aValue;
+	do  {
+#ifdef __TOOLS__
+		result += "0123456789abcdef"[abs(quotient % aBase)];
+#else
+		result += "0123456789abcdef"[abs(quotient % aBase)];
+#endif
+		quotient /= aBase;
+	} while (quotient);
+
+	// Only apply negative sign for base 10
+	if (aValue < 0 && aBase == EBase10)  {
+		result += '-';
+	}
+	reverse(result.begin(), result.end());
+	return result;
+}
+
+/** 
+Function responsible to convert string to integer.
+Regular atoi() function from stdlib.h, definition is not available in linux.
+
+@internalComponent
+@released
+
+@param aString - string which needs to be converted.
+*/
+Long64 ReaderUtil::DecStrToInt(string& aString) {
+	Long64 val = 0;
+	string::iterator strBegIter = aString.begin();
+	string::iterator strEndIter = aString.end();
+
+	while(strBegIter != strEndIter) {
+		val *= EBase10;
+		val += *strBegIter - KAsciiValueOfZero;
+		++strBegIter;
+	}
+	return val;
+}
+
+/**
+Function to convert string to any numeric type.
+
+@internalComponent
+@released
+
+@param aStringVal - the string which has to be converted.
+@return - returns the coverted value.
+*/
+unsigned int ReaderUtil::HexStrToInt(string& aStringVal) {
+	istringstream inputStrStream(aStringVal);
+	unsigned int intVal = 0;
+	inputStrStream >> hex >> intVal;
+	return intVal;
+}