toolsandutils/e32tools/elf2e32/source/parametermanager.cpp
branchGCC_SURGE
changeset 56 626366955efb
parent 55 59148e28d9f6
child 57 e69da8462916
--- a/toolsandutils/e32tools/elf2e32/source/parametermanager.cpp	Fri Jun 25 18:24:47 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3730 +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 ParameterManager for the elf2e32 tool
-// @internalComponent
-// @released
-// 
-//
-
-// This must go before ParameterManager.h
-#define __INCLUDE_CAPABILITY_NAMES__
-#include <e32capability.h>
-
-#include "pl_common.h"
-#include "parametermanager.h"
-#include "errorhandler.h"
-#include <iostream>
-
-#include "h_utl.h"
-#include "h_ver.h"
-/**
-Constructor for the ParameterManager.
-
-@internalComponent
-@released
-
-@param aArgc
- The number of command line arguments passed into the program
-@param aArgv
- The listing of all the arguments
-*/
-ParameterManager::ParameterManager(int aArgc, char** aArgv) :
-	iArgc(aArgc),
-	iArgv(aArgv),
-	iImageLocation(0), 
-	iImageName(0),
-	iTargetTypeOption(false), 
-	iDefFileInOption(false),
-	iDefFileOutOption(false), 
-	iFileDumpOption(false),		
-	iDSOFileOutOption(false), 
-	iOutFileOption(false),
-	iElfFileInOption(false),
-	iE32ImageInOption(false),			
-	iLinkAsOption(false),
-	iUid1Option(false), 	
-	iSecureIDOption(false), 
-	iVendorIDOption(false),
-	iUID1(0), 
-	iUID2(0), 
-	iUID3(0),
-	iSecureID(0),
-	iVendorID(0),
-	iCompress(true),
-	iCompressionMethod(KUidCompressionDeflate),
-	iFixedAddress(false),
-	iHeapCommittedSize(0x1000),
-	iHeapReservedSize(0x100000),	
-	iStackCommittedSize(0x2000),
-	iUnfrozen(false),
-	iIgnoreNonCallable(false),
-	iTargetTypeName(ETargetTypeNotSet),	
-	iDefOutput(0),
-	iDSOOutput(0),	
-	iOutFileName(0),
-	iDefInput(0),		
-	iElfInput(0),
-	iE32Input(0),
-	iLinkDLLName(0),
-	iDumpOptions(EDumpDefaults),
-	iFileDumpSubOptions(0),	
-	iSysDefOption(false),
-	iLogFileName(0),
-	iLogFileOption(false),
-	iMessageFileName(0),
-	iMessageFileOption(false),		
-	iDumpMessageFileName(0),	
-	iDumpMessageFileOption(false),
-	iDllDataP(false),	
-	iLibPathList (0),	
-	iSysDefCount (0),	
-	iPriorityOption(false),
-	iPriorityVal((TProcessPriority)0),
-	iVersion(0x000a0000u),
-	iVersionOption(false),
-	iCallEntryPoint(true),
-	iFPU(0),
-	iFPUOption(false),
-	iArgumentCount(0),
-
-	iCodePaged(false),
-	iCodeUnpaged(false),
-	iCodeDefaultPaged(false),
-
-	iDataPaged(false),
-	iDataUnpaged(false),
-	iDataDefaultPaged(false),
-	
-	iExcludeUnwantedExports(false),
-	iCustomDllTarget(false),
-	iSymNamedLookup(false),
-	iDebuggable(false),
-	iSmpSafe(false)
-{
-	iArgumentCount = aArgc;
-	ParamList temp(aArgv, aArgv+aArgc);
-	iParamList = temp;
-	iCapability.iCaps[0] = 0;	
-	iCapability.iCaps[1] = 0;
-}
-
-/**
-Destructor for the ParameterManager.
-
-@internalComponent
-@released
-*/
-ParameterManager::~ParameterManager()
-{
-	DELETE_PTR_ARRAY(iImageLocation);
-}
-
-/**
-Function to check if the given value is a valid number (decimal value)
-
-@internalComponent
-@released
-
-@param aArg
-Value to be checked
-@return True if the provided value is a decimal value.
-*/
-static bool IsAllDigits(const char * aArg)
-{
-	const char * p = aArg;
-	while (*p)
-	{
-		if (!isdigit(*p++)) return false;
-	}
-	return true;	
-}
-
-/**
-Function to check if the given value is a valid number (Hexadecimal value)
-
-@internalComponent
-@released
-
-@param aArg
-Value to be checked
-@return True if the provided value is a hexadecimal value.
-*/
-static bool IsAllXDigits(const char * aArg)
-{
-	const char * p = aArg;
-	while (*p)
-	{
-		if (!isxdigit(*p++)) return false;
-	}
-	return true;	
-}
-
-/**
-Function to check if the given value is a valid number (Decimal or Hexadecimal value)
-
-@internalComponent
-@released
-
-@param aVal
-Holds the validated number.
-@param aArg
-Value to be checked
-@return True if the provided value is a valid number.
-*/
-static bool GetUInt(UINT & aVal, const char * aArg)
-{
-	char * final = (char *)aArg;
-	// try base 10 first
-	if (IsAllDigits(aArg))
-	{
-		aVal = strtoul(aArg, &final, 10);
-		if (aArg != final) return true;
-		// now try as hex
-	}
-	if (aArg[0] == '0' && (aArg[1] == 'x' || aArg[1] == 'X'))
-	{
-		aArg += 2;
-		if (IsAllXDigits(aArg))
-		{
-			final = (char *)aArg ;
-			aVal = strtoul(aArg, &final, 16);
-			if (aArg != final) return true;
-		}
-	}
-
-	return false;
-}
-
-const char * ParameterManager::iParamPrefix = "--";
-const char * ParameterManager::iParamShortPrefix = "-";
-const char ParameterManager::iParamEquals = '=';
-
-// Option Map
-const ParameterManager::OptionDesc ParameterManager::iOptions[] = 
-{
-	{ 
-		"definput", 
-		(void *)ParameterManager::ParseDefInput,
-		"Input DEF File",
-	},
-	{ 
-		"defoutput", 
-		(void *)ParameterManager::ParseDefOutput,
-		"Output DEF File",
-	},
-	{ 
-		"elfinput", 
-		(void *)ParameterManager::ParseElfInput,
-		"Input ELF File",
-	},
-	{ 
-		"output", 
-		(void *)ParameterManager::ParseOutput,
-		"Output E32 Image",
-	},
-	{ 
-		"dso", 
-		(void *)ParameterManager::ParseDSOOutput,
-		"Output import DSO File",
-	},
-	{ 
-		"targettype", 
-		(void *)ParameterManager::ParseTargetTypeName,
-		"Target Type",
-	},
-	{ 
-		"linkas", 
-		(void *)ParameterManager::ParseLinkAs,
-		"name",
-	},
-	{ 
-		"uid1", 
-		(void *)ParameterManager::ParseUID1,
-		"UID 1",
-	},
-	{ 
-		"uid2", 
-		(void *)ParameterManager::ParseUID2,
-		"UID 2",
-	},
-	{ 
-		"uid3", 
-		(void *)ParameterManager::ParseUID3,
-		"UID 3",
-	},
-	{ 
-		"sid", 
-		(void *)ParameterManager::ParseSecureId,
-		"Secure ID",
-	},
-	{ 
-		"vid", 
-		(void *)ParameterManager::ParseVendorId,
-		"Vendor ID",
-	},
-	{ 
-		"fixedaddress", 
-		(void *)ParameterManager::ParseFixedAddress,
-		"Has fixed address",
-		},
-	{ 
-		"uncompressed", 
-		(void *)ParameterManager::ParseUncompressed,
-		"Don't compress output e32image",
-		},
-	{
-		"compressionmethod",
-		(void*)ParameterManager::ParseCompressionMethod,
-		"Input compression method [none|inflate|bytepair]\n\t\tnone     no compress the image.\
-		\n\t\tinflate  compress image with Inflate algorithm.\
-		\n\t\tbytepair tcompress image with BytePair Pak algorithm."
-	},
-	{ 
-		"heap", 
-		(void *)ParameterManager::ParseHeap,
-		"Heap committed and reserved size in bytes(.EXEs only)",
-	},
-	{ 
-		"stack", 
-		(void *)ParameterManager::ParseStackCommitted,
-		"Stack size in bytes(.EXEs only)",
-	},
-	{ 
-		"unfrozen", 
-		(void *)ParameterManager::ParseUnfrozen,
-		"Don't treat input dot-def file as frozen",
-	},
-	{ 
-		"ignorenoncallable", 
-		(void *)ParameterManager::ParseIgnoreNonCallable,
-		"Suppress implicit exports",
-	},
-	{
-		"capability",
-		(void *)ParameterManager::ParseCapability,
-		"capability option",
-	},
-	{ 
-		"libpath", 
-		(void *)ParameterManager::ParseLibPaths,
-		"A semi-colon separated search path list to locate import DSOs",
-	},
-	{
-		"sysdef",
-		(void *)ParameterManager::ParseSysDefs,
-		"A semi-colon separated Pre Defined Symbols to be exported and the ordinal number",
-	},
-	{
-		"log",
-		(void *)ParameterManager::ParseLogFile,
-		"Output Log Message",
-	},
-	{
-		"messagefile",
-		(void *)ParameterManager::ParseMessageFile,
-		"Input Message File",
-	},
-	{
-		"dumpmessagefile",
-		(void *)ParameterManager::ParseDumpMessageFile,
-		"Output Message File",
-	},
-	{
-		"dlldata", 
-		(void *)ParameterManager::ParseAllowDllData,
-		"Allow writable static data in DLL",
-	},
-	{
-		"dump",
-		(void *)ParameterManager::ParseFileDump,
-		"Input dump options [hscdeit] --e32input <filename>\n\tFlags for dump:\n\t\th Header \
-		 \n\t\ts Security info\n\t\tc Code section\n\t\td Data section \
-		 \n\t\te Export info\n\t\ti Import table\n\t\tt Symbol Info",
-	},
-	{
-		"e32input",
-		(void *)ParameterManager::ParseE32ImageInput,
-		"Input E32 Image File Name",
-	},
-	{
-		"priority",
-		(void *)ParameterManager::ParsePriority,
-		"Input Priority",
-	},
-	{
-		"version",
-		(void *)ParameterManager::ParseVersion,
-		"Module Version",
-	},
-	{
-		"callentry",
-		(void *)ParameterManager::ParseCallEntryPoint,
-		"Call Entry Point",
-	},
-	{
-		"fpu",
-		(void *)ParameterManager::ParseFPU,
-		"FPU type [softvfp|vfpv2]",
-	},
-	{
-        "codepaging",
-		(void *)ParameterManager::ParseCodePaging,
-		"Code Paging Strategy [paged|unpaged|default]",
-	},
-	{
-        "datapaging",
-		(void *)ParameterManager::ParseDataPaging,
-		"Data Paging Strategy [paged|unpaged|default]",
-	},
-
-	{
-		"paged",
-		(void *)ParameterManager::ParsePaged,
-		"This option is deprecated. Use --codepaging=paged instead.",
-	},
-	{
-		"unpaged",
-		(void *)ParameterManager::ParseUnpaged,
-		"This option is deprecated. Use --codepaging=unpaged instead.",
-	},
-	{
-		"defaultpaged",
-		(void *)ParameterManager::ParseDefaultPaged,
-		"This option is deprecated. Use --codepaging=default instead.",
-	},
-
-	{
-		"excludeunwantedexports",
-		(void *)ParameterManager::ParseExcludeUnwantedExports,
-		"Exclude Unwanted Exports",
-	},
-	{
-		"customdlltarget",
-		(void *)ParameterManager::ParseIsCustomDllTarget,
-		"Custom Dll Target",
-	},
-	{
-		"namedlookup",
-		(void*)ParameterManager::ParseSymNamedLookup,
-		"Enable named lookup of symbols",
-	},
-	{
-		"debuggable",
-		(void*)ParameterManager::ParseDebuggable,
-		"Debuggable by run-mode debug subsystem",
-	},
-	{
-		"smpsafe",
-		(void*)ParameterManager::ParseSmpSafe,
-		"SMP Safe",
-	},
-	{ 
-		"help", 
-		(void *)ParameterManager::ParamHelp,
-		0,
-	},
-};
-
-// Map for the short options (abbreviation)
-const ParameterManager::OptionDesc ParameterManager::iShortOptions[] =
-{
-	{ 
-		"h", 
-		(void *)ParameterManager::ParamHelp,
-		0,
-	},
-};
-
-/**
-This function finds the total number of options with normal prefix ('--')
-
-@internalComponent
-@released
-
-@return the total number of options with normal prefix '--' in the option list.
-*/
-int ParameterManager::NumOptions()
-{
-	return (sizeof(iOptions) / sizeof(OptionDesc));
-}
-
-/**
-This function finds the total number of options with short prefix ('-')
-
-@internalComponent
-@released
-
-@return the total number of options with short prefix '-' in the option list.
-*/
-int ParameterManager::NumShortOptions()
-{
-	return (sizeof(iShortOptions) / sizeof(OptionDesc));
-}
-
-/**
-This function initializes the option list, options preceeded by '--' and '-'
-
-@internalComponent
-@released
-*/
-void ParameterManager::InitParamParser()
-{
-	int lim = NumOptions();
-	int shortoptionlim = NumShortOptions();
-	int i;
-
- 	for (i = 0; i < lim; i++)
-	{
-		string aOption = iOptions[i].iName;
-		iOptionMap[aOption] = &iOptions[i];
-	}
-
-	for (i = 0; i < shortoptionlim; i++)
-	{
-		string aShortOption = iShortOptions[i].iName;
-		iShortOptionMap[aShortOption] = &iShortOptions[i];
-	}
-}
-
-/**
-This function parses the command line options and identifies the input parameters.
-If no options or if --log is the only option passed in, then usage information will 
-be displayed.
-
-@internalComponent
-@released
-*/
-void ParameterManager::ParameterAnalyser()
-{
-	InitParamParser();
-	const OptionDesc * aHelpDesc = iOptionMap["help"];
-	int prefixLen = strlen(iParamPrefix);
-	int prefixShortLen = strlen(iParamShortPrefix);
-	int ArgCount = iArgumentCount-1;
-	RecordImageLocation();
-	ParamList::iterator p = iParamList.begin()+1;
-
-	int OnlyLoggingOption = 0;
-	
-	// Have to have some arguments. Otherwise, assume this is a request for --help and display the usage information
-	if (p == iParamList.end())
-	{
-		ParserFn parser = (ParserFn)aHelpDesc->iParser ;
-		parser(this, "help", 0, aHelpDesc);
-	}
-
-	if ( (ArgCount ==1) && (!strncmp(*p,"--log",5)) )
-		OnlyLoggingOption = 1;
-
-	for (; p != iParamList.end(); p++)
-	{
-		int Prefix=0, ShortPrefix=0;
-		ArgCount--;
-		
-
-		// Check if the option provided is correct and display help on getting incorrect options
-		try 
-		{
-			if (!strncmp(*p, iParamPrefix, prefixLen))
-				Prefix = 1;
-			else if (!strncmp(*p, iParamShortPrefix, prefixShortLen))
-				ShortPrefix = 1;
-			else // Option is neither preceeded by '-' or by '--'
-				throw ParameterParserError(OPTIONNAMEERROR,*p);
-		}
-		catch (ErrorHandler& error) 
-		{ 
-			error.Report();
-			ParserFn parser = (ParserFn)aHelpDesc->iParser ;
-			parser(this, *p, 0, 0);
-		}
-		
-		char *option;
-		const OptionDesc * aDesc;
-		char * optval=NULL;
-
-		// Get the option name excluding the prefix, '-' or '--'if (Prefix)
-		if (Prefix)
-			{
- 			option = *p + prefixLen;
-			}
- 		else
-			{
-			option = *p + prefixShortLen;
-			}
-
-		char * pos = strchr(*p, iParamEquals);
-
-		char *end = pos ? pos : *p + strlen(*p);
-
-		string aName(option, end);
-		string optionval;
-
-		if (pos)
-		{
-			if (*end != 0 && (*(end+1) != NULL) )
-			{
-			// Check to ensure that optval points to the correct option value
-				optval=end+1;
-			}
-			if ( ((p+1) != iParamList.end()) && (**(p+1) != '-') )
-			{
-				pos = 0;
-			}
-		}
-		if ( !pos)
-		{
-			// The option is not immediately preceeded by '='
-			// Space may be used to separate the input option and the paramters
-			// '=' may be enclosed within space
-			//if ((p+1) != iParamList.end())
-			if (ArgCount != 0) //To find if we have consumed all the arguments
-			{
-				while ( ((p+1) != iParamList.end()) && (**(p+1) != '-') )
-				{
-					end = *(p+1);
-					if (*end == '=') 
-					{
-						if ( (*(end+1) != ' ') && (*(end+1) != NULL) )
-							// This is the case where '=' is preceeded by space.
-							optionval += end+1;
-					}
-					else
-					{
-						optionval += end;
-					}
-					p++;
-					ArgCount-- ;
-				}
-				if (optionval.length())
-				{
-					if (optval)
-  						strcat(optval, optionval.c_str());
-  					else
-  					{
-  						optval = new char[optionval.length()+1];
-  						strcpy(optval, optionval.c_str());
-  					}
-				}				
-			}
-		}
-	
-		if (Prefix)
-			aDesc = iOptionMap[aName];
-		else
-			aDesc = iShortOptionMap[aName];
-
-		ParserFn parser = aDesc ?(ParserFn)aDesc->iParser : (ParserFn)aHelpDesc->iParser ;
-		// NB aDesc might be NULL which tells help to exit with error.
-		try
-		{
-			if (!aDesc)
-				throw ParameterParserError(OPTIONNAMEERROR,*p);
-		}
-		catch (ErrorHandler& error) 
-		{ 
-			error.Report();
-			ParserFn parser = (ParserFn)aHelpDesc->iParser ;
-			parser(this, "help", 0, 0);
-		}
-
-		// If --log is the only option provided, then display the usage information
-		if (OnlyLoggingOption)
-		{
-			parser(this, (char *)aName.c_str(), optval, aDesc);
-			parser = (ParserFn)aHelpDesc->iParser ;
-			parser(this, "help", 0, 0);
-		}
-
-		parser(this, const_cast<char*>(aName.c_str()), optval, aDesc);
-	}
-}
-
-/**
-This function extracts the path
-
-@internalComponent
-@released
-
-@param aPathName
-The file path name
-
-@return the Path in case of valid path name, else 0.
-
-*/
-char * ParameterManager::Path(char * aPathName)
-{
-	string str(aPathName);
-	size_t pos = str.find_last_of(DirectorySeparator());
-
-	if (pos < str.size())
-	{
-		char * aPath = new char[pos+2];
-		memcpy(aPath, aPathName, pos+1);
-		aPath[pos+1] = 0;
-		return aPath;
-	}
-	else
-		return (char *)0;
-}
-
-
-/**
-This function extracts the location where the image is to be dumped and the image name.
-
-@internalComponent
-@released
-*/
-void ParameterManager::RecordImageLocation()
-{
-	iImageLocation = Path(iArgv[0]);
-	iImageName = FileName(iArgv[0]);
-}
-
-/**
-This function finds out if the --definput option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --definput option is passed in or False.
-*/
-bool ParameterManager::DefFileInOption()
-{
-	return iDefFileInOption;
-}
-
-/**
-This function finds out if the --e32input option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --e32input option is passed in or False.
-*/
-bool ParameterManager::E32ImageInOption()
-{
-	return iE32ImageInOption;
-}
-
-/**
-This function finds out if the --elfinput option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --elfinput option is passed in or False.
-*/
-bool ParameterManager::ElfFileInOption()
-{
-	return iElfFileInOption;
-}
-
-/**
-This function finds out if the --dso option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --dso option is passed in or False.
-*/
-bool ParameterManager::DSOFileOutOption()
-{
-	return iDSOFileOutOption;
-}
-
-/**
-This function finds out if the --defoutput option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --defoutput option is passed in or False.
-*/
-bool ParameterManager::DefFileOutOption()
-{
-	return iDefFileOutOption;
-}
-
-/**
-This function finds out if the --output option is passed to the program.
-
-
-@internalComponent
-@released
-
-@return true if --output option is passed else return False.
-*/
-bool ParameterManager::E32OutOption()
-{
-	return iOutFileOption;
-}
-
-/**
-This function finds out if the --linkas option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --linkas option is passed in or False.
-*/
-bool ParameterManager::LinkAsOption()
-{
-	return iLinkAsOption;
-}
-
-
-/**
-This function finds out if the --UID1 option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --UID1 option is passed in or False.
-*/
-bool ParameterManager::Uid1Option()
-{
-	return iUid1Option;
-}
-
-/**
-This function finds out if the --sid option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --sid option is passed in or False.
-*/
-bool ParameterManager::SecureIdOption()
-{
-	return iSecureIDOption;
-}
-
-/**
-This function finds out if the --vid option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --vid option is passed in or False.
-*/
-bool ParameterManager::VendorIdOption()
-{
-	return iVendorIDOption;
-}
-
-/**
-This function finds out if the --log option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --log option is passed in or False.
-*/
-bool ParameterManager::LogFileOption()
-{
-	return iLogFileOption;
-}
-
-/**
-This function finds out if the --messagefile option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --messagefile option is passed in or False.
-*/
-bool ParameterManager::MessageFileOption()
-{
-	return iMessageFileOption;
-}
-
-/**
-This function finds out if the --dumpmessagefile option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --dumpmessagefile option is passed in or False.
-*/
-bool ParameterManager::DumpMessageFileOption()
-{
-	return iDumpMessageFileOption;
-}
-
-/**
-This function finds out if the --fixedaddress option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --fixedaddress option is passed in or False.
-*/
-bool ParameterManager::FixedAddress()
-{
-	return iFixedAddress;
-}
-
-/**
-This function finds out if the --uncompressed option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --uncompressed option is passed in or False.
-*/
-bool ParameterManager::Compress()
-{
-	return iCompress;
-}
-
-
-/**
-This function finds out if the --compressionmethod option is passed to the program.
-
-@internalComponent
-@released
-
-@return UId if --compressionmethod option is passed in or UId of deflate compressor (compatibility).
-*/
-UINT ParameterManager::CompressionMethod()
-{
-	return iCompressionMethod;
-}
-
-
-/**
-This function finds out if the --unfrozen option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --unfrozen option is passed in or False.
-*/
-bool ParameterManager::Unfrozen()
-{
-	return iUnfrozen;
-}
-
-/**
-This function finds out if the --ignorenoncallable option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --ignorenoncallable option is passed in or False.
-*/
-bool ParameterManager::IgnoreNonCallable()
-{
-	return iIgnoreNonCallable;
-}
-
-/**
-This function finds out if the --dlldata option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --dlldata option is passed in or False.
-*/
-bool ParameterManager::DllDataP()
-{
- 	return iDllDataP;
-}
-
-/**
-This function finds out if the --version option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --version option is passed in or False.
-*/
-bool ParameterManager::VersionOption()
-{
-	return iVersionOption;
-}
-
-/**
-This function finds out if the --callentry option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --callentry option is passed in or False.
-*/
-bool ParameterManager::CallEntryPoint()
-{
-	return iCallEntryPoint;
-}
-
-/**
-This function finds out if the --priority option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --priority option is passed in or False.
-*/
-bool ParameterManager::PriorityOption()
-{
-	return iPriorityOption;
-}
-
-/**
-This function finds out if the --sysdef option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --sysdef option is passed in or False.
-*/
-bool ParameterManager::SysDefOption()
-{
-	return iSysDefOption;
-}
-
-/**
-This function finds out if the --dump option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --dump option is passed in or False
-*/
-bool ParameterManager::FileDumpOption()
-{
-	return iFileDumpOption;
-}
-
-/**
-This function finds out if the --fpu option is passed to the program.
-
-@internalComponent
-@released
-
-@return True if --fup option is passed in or False.
-*/
-bool ParameterManager::FPUOption()
-{
-	return iFPUOption;
-}
-
-
-/**
-This function extracts the DEF file name that is passed as input through the --definput option.
-
-@internalComponent
-@released
-
-@return the name of the input DEF file if provided as input through --definput or 0.
-*/
-char * ParameterManager::DefInput()
-{
-	return iDefInput;
-}
-
-/**
-This function extracts the Elf file name that is passed as input through the --elfinput option.
-
-@internalComponent
-@released
-
-@return the name of the input Elf file if provided as input through --elfinput or 0.
-*/
-char * ParameterManager::ElfInput()
-{
-	return iElfInput;
-}
-
-/**
-This function extracts the E32 image name that is passed as input through the --e32input option.
-
-@internalComponent
-@released
-
-@return the name of the input E32 image if provided as input through --e32input or 0.
-*/
-char * ParameterManager::E32Input()
-{
-	return iE32Input;
-}
-
-/**
-This function extracts the output DEF file name that is passed as input through the --defoutput option.
-
-@internalComponent
-@released
-
-@return the name of the output DEF file if provided as input through --defoutput or 0.
-*/
-char * ParameterManager::DefOutput()
-{
-	return iDefOutput;
-}
-
-/**
-This function extracts the DSO file name that is passed as input through the --dso option.
-
-@internalComponent
-@released
-
-@return the name of the output DSO file if provided as input through --dso or 0.
-*/
-char * ParameterManager::DSOOutput()
-{
-	return iDSOOutput;
-}
-
-/**
-This function extracts the E32 image output that is passed as input through the --output option.
-
-@internalComponent
-@released
-
-@return the name of the output E32 image output if provided as input through --output or 0.
-*/
-char * ParameterManager::E32ImageOutput()
-{
-	return iOutFileName;
-}
-
-/**
-This function extracts the target type that is passed as input through the --targettype option.
-
-@internalComponent
-@released
-
-@return the name of the input target type if provided as input through --targettype or 0.
-*/
-ETargetType ParameterManager::TargetTypeName()
-{
-	return iTargetTypeName;
-}
-
-/**
-This function extracts the name of the DLL (that the DSO is to be linked with) 
-that is passed as input through the --linkas option.
-
-@internalComponent
-@released
-
-@return the name of the DLL name to be linked with if provided as input through --linkas or 0.
-*/
-char * ParameterManager::LinkAsDLLName()
-{
-	return iLinkDLLName;
-}
-
-/**
-This function extracts the path (where the intermediate libraries should be put)
-that is passed as input through the --libpath option.
-
-@internalComponent
-@released
-
-@return the path if provided as input through --libpath or 0.
-*/
-ParameterListInterface::LibSearchPaths& ParameterManager::LibPath()
-{
-	return iLibPathList;
-}
-
-/**
-This function extracts the total number of predefined symbols passed to --sysdef option.
-
-@internalComponent
-@released
-
-@return the total number of predefined symbols passed through --elfinput or 0.
-*/
-int ParameterManager::SysDefCount()
-{
-	return iSysDefCount;
-}
-
-/**
-This function extracts the E32 image dump options passed as input through the --dump option.
-
-/@internalComponent
-@released
-
-@return the name of the dump options if provided as input through --dump or 0.
-*/
-char * ParameterManager::FileDumpSubOptions()
-{
-	return iFileDumpSubOptions;
-}
-
-/**
-This function extracts the E32 image dump options in integer value passed as character input
-through the --dump option.
-
-@internalComponent
-@released
-
-@return the name of the dump options in integer.
-*/
-int ParameterManager::DumpOptions()
-{
-      return iDumpOptions;
-}
-
-/**
-This function gets the first UID in a compound identifier (UID type) that is passed as 
-input through the --uid1 option.UID1 differentiates the executables, DLLs and file stores.
-
-@internalComponent
-@released
-
-@return the System level identifier if provided as input through --uid1 or 0.
-*/
-UINT ParameterManager::Uid1()
-{
-	return iUID1;
-}
-
-/**
-This function gets the UID2 that is passed as input through the --uid2 option.
-UID2 differentiates the static interface (shared library) and polymorphic interface 
-(application or plug-in framework) DLLs.
-	
-@internalComponent
-@released
-
-@return the Interface identifier if provided as input through --uid2 or 0.
-*/
-UINT ParameterManager::Uid2()
-{
-	return iUID2;
-}
-
-/**
-This function gets the UID3 that is passed as input through the --uid3 option. UID3 
-is shared by all objects belonging to a given program, including library DLLs if any, 
-framework DLLs, and all documents.
-	
-@internalComponent
-@released
-
-@return the Project identifier if provided as input through --uid3 or 0.
-*/
-UINT ParameterManager::Uid3()
-{
-	return iUID3;
-}
-
-/**
-This function gets the Secure Id that is passed as input through the --sid option.
-
-@internalComponent
-@released
-
-@return the Secure Id if provided as input through --sid or 0.
-*/
-UINT ParameterManager::SecureId()
-{
-	return iSecureID;
-}
-
-/**
-This function gets the Vendor Id that is passed as input through the --vid option.
-
-@internalComponent
-@released
-
-@return the Vendor Id if provided as input through --vid or 0.
-*/
-UINT ParameterManager::VendorId()
-{
-	return iVendorID;
-}
-
-/**
-This function gets the capability value passed to '--capability' option.
-
-@internalComponent
-@released
-
-@return the capability value passed to '--capability' option.
-*/
-SCapabilitySet ParameterManager::Capability()
-{
-	return iCapability;
-}
-
-/**
-This function extracts the Log file name that is passed as input through the --log option.
-
-@internalComponent
-@released
-
-@return the name of the Log file if provided as input through --log or 0.
-*/
-char * ParameterManager::LogFile()
-{
-	return iLogFileName;
-}
-
-/**
-This function extracts the Message file name that is passed as input through the --messagefile option.
-
-@internalComponent
-@released
-
-@return the name of the Message file if provided as input through --messagefile or 0.
-*/
-char * ParameterManager::MessageFile()
-{
-	return iMessageFileName;
-}
-
-/**
-This function extracts the Message file name that is passed as input through the --dumpmessagefile option.
-
-@internalComponent
-@released
-
-@return the name of the Message file to be dumped if provided as input through --dumpmessagefile or 0.
-*/
-char * ParameterManager::DumpMessageFile()
-{
-	return iDumpMessageFileName;
-}
-
-/**
-This function extracts the list of predefined symbols that is passed as input through
-the --sysdef option.
-
-@internalComponent
-@released
-
-@return the list of predefined symbols that is passed as input through the --sysdef option.
-*/
-ParameterManager::Sys ParameterManager::SysDefSymbols(int sysdefcount)
-{
-	return iSysDefSymbols[sysdefcount];
-}
-
-/**
-This function extracts the heap commited size passed as input to --heap option.
-
-@internalComponent
-@released
-
-@return the heap commited size passed as input to --heap option.
-*/
-size_t ParameterManager::HeapCommittedSize()
-{
- 	return iHeapCommittedSize;
-}
-
-/**
-This function extracts the heap reserved size passed as input to --heap option.
-
-@internalComponent
-@released
-
-@return the heap reserved size passed as input to --heap option.
-*/
-size_t ParameterManager::HeapReservedSize()
-{
- 	return iHeapReservedSize;
-}
-
-/**
-This function extracts the stack commited size passed as input to --stack option.
-
-@internalComponent
-@released
-
-@return the stack commited size passed as input to --stack option.
-*/
-size_t ParameterManager::StackCommittedSize()
-{
- 	return iStackCommittedSize;
-}
-
-/**
-This function extracts the priority value passed as input to --priority option.
-
-@internalComponent
-@released
-
-@return the priority value passed as input to --priority option
-*/
-TProcessPriority ParameterManager::Priority()
-{
-	return iPriorityVal;
-}
-
-/**
-This function extracts the version information passed as input to --version option.
-
-@internalComponent
-@released
-
-@return the version information passed as input to --version option.
-*/
-UINT ParameterManager::Version()
-{
-	return iVersion;
-}
-
-/**
-This function extracts the fpu information passed as input to the --fpu option.
-
-@internalComponent
-@released
-
-@return the fpu information passed as input to the --fpu option.
-*/
-UINT ParameterManager::FPU()
-{
-	return iFPU;
-}
-
-/**
-@internalComponent
-@released
-*/
-bool ParameterManager::IsCodePaged()
-{
-	return iCodePaged;
-}
-
-/**
-@internalComponent
-@released
-*/
-bool ParameterManager::IsCodeUnpaged()
-{
-	return iCodeUnpaged;
-}
-
-/**
-@internalComponent
-@released
-*/
-bool ParameterManager::IsCodeDefaultPaged()
-{
-	return iCodeDefaultPaged;
-}
-
-/**
-@internalComponent
-@released
-*/
-bool ParameterManager::IsDataPaged()
-{
-	return iDataPaged;
-}
-
-/**
-@internalComponent
-@released
-*/
-bool ParameterManager::IsDataUnpaged()
-{
-	return iDataUnpaged;
-}
-
-/**
-@internalComponent
-@released
-*/
-bool ParameterManager::IsDataDefaultPaged()
-{
-	return iDataDefaultPaged;
-}
-
-/**
-This function finds out if the --excludeunwantedexports option is passed to the program.
-
-@internalComponent
-@released
-
-@return true if --excludeunwantedexports option is passed in or False.
-*/
-bool ParameterManager::ExcludeUnwantedExports()
-{
-	return iExcludeUnwantedExports;
-}
-
-/**
-This function finds out if the --customdlltarget option is passed to the program.
-
-@internalComponent
-@released
-
-@return true if --customdlltarget option is passed in or False.
-*/
-bool ParameterManager::IsCustomDllTarget()
-{
-	return iCustomDllTarget;
-}
-
-/**
-This function extracts the SymNamedLookup information passed as input to the --namedlookup option.
-
-@internalComponent
-@released
-
-@return the namedlookup information passed as input to the --namedlookup option.
-*/
-bool ParameterManager::SymNamedLookup()
-{
-	return iSymNamedLookup;
-}
-
-/**
-This function determines if the -debuggable option is passed to the program.
-
-@internalComponent
-@released
-
-@return true if --debuggable is passed in or False.
-*/
-bool ParameterManager::IsDebuggable()
-{
-	return iDebuggable;
-}
-
-
-bool ParameterManager::IsSmpSafe()
-{
-	return iSmpSafe;
-}
-
-/**
-This function extracts the filename from the absolute path that is given as input.
-
-@internalComponent
-@released
-
-@param aFileName
-The filename alongwith the absolute path.
-
-@return the filename (without the absolute path) for valid input else the filename itself.
-*/
-char * ParameterManager::FileName(char * aFileName)
-{
-	string str(aFileName);
-	
-	size_t pos = str.find_last_of(DirectorySeparator());	
-#ifndef __LINUX__ 	
-	// Support Unix slashes on Windows when stripping filenames from paths
-	if (pos > str.size())
-		{
-		pos = str.find_last_of('/');
-		}
-#endif
-
-	if (pos < str.size())
-		return aFileName + pos + 1;
-	else
-		return aFileName;
-}
-
-/**
-This function finds out the directory separator '\' in the path
-
-@internalComponent
-@released
-
-@return the directory spearator '\'
-*/
-char ParameterManager::DirectorySeparator()
-{
-#ifdef __LINUX__ 
-	return '/';
-#else 
-	return '\\';
-#endif 
-}
-
-/**
-This function set the input Def file name that is passed through --definput option.
-
-void ParameterManager::ParseDefInput(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --definput
-@param aValue
-The DEF file name passed to --definput option
-@param aDesc
-Pointer to function ParameterManager::ParseDefInput returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseDefInput)
-{
-	INITIALISE_PARAM_PARSER;
-	aPM->SetDefInput(aValue);
-}
-
-/**
-This function set the input Elf file name that is passed through --elfinput option.
-
-void ParameterManager::ParseElfInput(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --elfinput
-@param aValue
-The ELF file name passed to --elfinput option
-@param aDesc
-Pointer to function ParameterManager::ParseElfInput returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseElfInput)
-{
-	INITIALISE_PARAM_PARSER;
-	aPM->SetElfInput(aValue);
-}
-
-/**
-This function set the output Def file name that is passed through --defoutput option.
-
-void ParameterManager::ParseDefOutput(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --defoutput
-@param aValue
-The DEF file name passed to --defoutput option
-@param aDesc
-Pointer to function ParameterManager::ParseDefOutput returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseDefOutput)
-{
-	INITIALISE_PARAM_PARSER;
-	aPM->SetDefOutput(aValue);
-}
-
-/**
-This function set the input E32 file name that is passed through --e32input option.
-
-void ParameterManager::ParseE32Input(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --e32input
-@param aValue
-The E32 file name passed to --e32input option
-@param aDesc
-Pointer to function ParameterManager::ParseE32Input returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseE32ImageInput)
-{
-      INITIALISE_PARAM_PARSER;
-      aPM->SetE32Input(aValue);
-}
-
-/**
-This function set the output E32 image name that is passed through --output option.
-
-void ParameterManager::ParseOutput(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --output
-@param aValue
-The E32 file name passed to --output option
-@param aDesc
-Pointer to function ParameterManager::ParseOutput returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseOutput)
-{
-	INITIALISE_PARAM_PARSER;
-	aPM->SetE32Output(aValue);
-}
-
-/**
-This function set the output Log file name that is passed through --log option.
-
-void ParameterManager::ParseLogFile(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --log
-@param aValue
-The Log file name passed to --log option
-@param aDesc
-Pointer to function ParameterManager::ParseLogFile returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseLogFile)
-{
-	INITIALISE_PARAM_PARSER;
-	if(aValue)
-	{
-		aPM->SetLogFile(aValue);
-		MessageHandler::StartLogging(aValue);
-	}
-	else
-	{
-		throw ParameterParserError(NOARGUMENTERROR, "--log");
-	}
-}
-
-/**
-This function set the input Message file name that is passed through --messagefile option.
-
-void ParameterManager::ParseMessageFile(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --messagefile
-@param aValue
-The Message file name passed to --messagefile option
-@param aDesc
-Pointer to function ParameterManager::ParseMessageFile returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseMessageFile)
-{
-	INITIALISE_PARAM_PARSER;
-	if(aValue)
-	{
-		aPM->SetMessageFile(aValue);
-		MessageHandler::InitializeMessages(aValue);
-	}
-	else
-	{
-		throw ParameterParserError(NOARGUMENTERROR, "--messagefile");
-	}
-}
-
-/**
-This function set the Message file name to be dumped that is passed through --dumpmessagefile option.
-
-void ParameterManager::ParseDumpMessageFile(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --dumpmessagefile
-@param aValue
-The output Message file name passed to --dumpmessagefile option
-@param aDesc
-Pointer to function ParameterManager::ParseDumpMessageFile returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseDumpMessageFile)
-{
-	INITIALISE_PARAM_PARSER;
-	aPM->SetDumpMessageFile(aValue);
-}
-
-/**
-This function checks the arguments passed to the options. If an incorrect argument
-is passed or if no arguments are passed then appropriate error message is displayed.
-
-@internalComponent
-@released
-
-@param aValue
-Input to the option
-@param aOption
-Option that is passed as input
-@return the validated value
-*/
-UINT ValidateInputVal(char * aValue, char * aOption)
-{
-	UINT uid;
-	if (!aValue)
-		throw ParameterParserError(NOARGUMENTERROR, aOption);
-	else if (!GetUInt(uid, aValue))
-		throw InvalidArgumentError(INVALIDARGUMENTERROR, aValue, aOption);
-	return uid;
-}
-
-/**
-There are some boolean options which does not expect any inputs. This function checks
-if there are any the arguments passed to the option. In case of getting an input argument,
-the warning message "Value is ignored" is displayed.
-
-@internalComponent
-@released
-
-@param aValue
-Input to the option
-@param aOption
-Option that is passed as input
-*/
-void CheckInput(char * aValue, char * aOption)
-{
-	if (aValue)
-		MessageHandler::GetInstance()->ReportMessage(WARNING, VALUEIGNOREDWARNING, aOption);
-}
-
-/**
-This function set the version information that is passed through --version option.
-
-void ParameterManager::ParseVersion(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --version
-@param aValue
-The version information passed to --version option
-@param aDesc
-Pointer to function ParameterManager::ParseVersion returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseVersion)
-{
-	INITIALISE_PARAM_PARSER;
-	UINT version = 0;
-	UINT majorVal = 0;
-	UINT minorVal = 0;
-
-	if(!aValue)
-  	throw ParameterParserError(NOARGUMENTERROR, "--version");
-
-	char * tokens = strdup(aValue);
-	char * major, * minor;
-
-	major = strtok(tokens, ".");
-	majorVal = ValidateInputVal(major, "--version");
-	minor = strtok(NULL, ".");
-	if (minor && !GetUInt(minorVal, minor))
-		throw InvalidArgumentError(INVALIDARGUMENTERROR, aValue, "--version");
-
-	version = ((majorVal & 0xFFFF) << 16) | (minorVal & 0xFFFF);
-	aPM->SetVersion(version);
-}
-
-/**
-This function set the UID1 value that is passed through --uid1 option.
-
-void ParameterManager::ParseUID1(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --uid1
-@param aValue
-The UID1 value passed to --uid1 option
-@param aDesc
-Pointer to function ParameterManager::ParseUID1 returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseUID1)
-{
-	INITIALISE_PARAM_PARSER;
-	UINT aUid = ValidateInputVal(aValue, "--uid1");
-	aPM->SetUID1(aUid);
-}
-
-/**
-This function set the UID2 value that is passed through --uid2 option.
-
-void ParameterManager::ParseUID2(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --uid2
-@param aValue
-The UID2 value passed to --uid2 option
-@param aDesc
-Pointer to function ParameterManager::ParseUID2 returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseUID2)
-{
-	INITIALISE_PARAM_PARSER;
-	UINT aUid = ValidateInputVal(aValue, "--uid2");
-	aPM->SetUID2(aUid);
-}
-
-/**
-This function set the UID3 value that is passed through --uid3 option.
-
-void ParameterManager::ParseUID3(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --uid3
-@param aValue
-The UID3 value passed to --uid3 option
-@param aDesc
-Pointer to function ParameterManager::ParseUID3 returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseUID3)
-{
-	INITIALISE_PARAM_PARSER;
-	UINT aUid = ValidateInputVal(aValue, "--uid3");
-	aPM->SetUID3(aUid);
-}
-
-/**
-This function set the Secure ID value that is passed through --sid option.
-
-void ParameterManager::ParseSecureId(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --sid
-@param aValue
-The Secure ID value passed to --sid option
-@param aDesc
-Pointer to function ParameterManager::ParseSecureId returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseSecureId)
-{
-	INITIALISE_PARAM_PARSER;
-	UINT aUid = ValidateInputVal(aValue, "--sid");
-	aPM->SetSecureId(aUid);
-}
-
-/**
-This function set the Vendor ID value that is passed through --vid option.
-
-void ParameterManager::ParseVendorId(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --vid
-@param aValue
-The Vendor ID value passed to --vid option
-@param aDesc
-Pointer to function ParameterManager::ParseVendorId returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseVendorId)
-{
-	INITIALISE_PARAM_PARSER;
-	UINT aUid = ValidateInputVal(aValue, "--vid");
-	aPM->SetVendorId(aUid);
-}
-
-/**
-This function set the FixedAddress flag if --fixedaddress option is passed to the program.
-
-void ParameterManager::ParseFixedAddress(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --fixedaddress
-@param aValue
-The value passed to --fixedaddress option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParseFixedAddress returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseFixedAddress)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--fixedaddress");
-	aPM->SetFixedAddress(true);
-}
-
-/**
-This function set the CallEntryPoint flag if --callentry option is passed to the program.
-
-void ParameterManager::ParseCallEntryPoint(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --callentry
-@param aValue
-The value passed to --callentry option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParseCallEntryPoint returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseCallEntryPoint)
-{
-	INITIALISE_PARAM_PARSER;
-	aPM->SetCallEntryPoint(true);
-}
-
-/**
-This function set the Uncompressed flag if --uncompressed option is passed to the program.
-
-void ParameterManager::ParseUncompressed(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --uncompressed
-@param aValue
-The value passed to --uncompressed option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParseUncompressed returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseUncompressed)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--uncompressed");
-	aPM->SetCompress(false);
-}
-
-
-static const ParameterManager::CompressionMethodDesc MethodNames[] =
-{
-	{ "none", 0},
-	{ "inflate", KUidCompressionDeflate},
-	{ "bytepair", KUidCompressionBytePair},
-	{ 0, 0}
-};
-
-/**
-This function parses the compression method value passed in and finds the corresponding match
-from the list of existing method values.
-
-@internalComponent
-@released
-
-@param aMethod
-Holds the method value mapped from list.
-@param aText
-The priority value passed to --compressionmethod option
-@return True if the method value passed in is a valid one present in the list.
-*/
-static bool ParseCompressionMethodArg(UINT & aMethod, const char *aText)
-{
-	
-	int i = 0;
-	aMethod = 0;
-	for (;; i++)
-	{
-		if (!MethodNames[i].iMethodName)
-			return false;
-		if (!stricmp(aText, MethodNames[i].iMethodName))
-		{
-			aMethod = MethodNames[i].iMethodUid;
-			return true;
-		}
-	}
-	return false;
-}
-
-/**
-This function set the CompressionMethod variable if --compressionmethod option is passed to the program.
-
-void ParameterManager::ParseUncompressed(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --compressionmethod
-@param aValue
-The value passed to --compressionmethod option, in this case none|inflate|bytepair
-@param aDesc
-Pointer to function ParameterManager::ParseCompressionMethod returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseCompressionMethod)
-{
-	INITIALISE_PARAM_PARSER;
-	UINT method;
-	if(!aValue)
-		throw ParameterParserError(NOARGUMENTERROR, "--compressionmethod");
-	
-	if(ParseCompressionMethodArg(method, aValue) )
-		aPM->SetCompressionMethod(method);
-	else
-		throw InvalidArgumentError(INVALIDARGUMENTERROR, aValue, "compression method");
-}
-
-/**
-This function parses the compression method value passed in and finds the corresponding match
-from the list of existing method values.
-
-@internalComponent
-@released
-
-
-
-/**
-This function set the AllowDllData flag if --dlldata option is passed to the program.
-
-void ParameterManager::ParseAllowDllData(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --dlldata
-@param aValue
-The value passed to --dlldata option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParseAllowDllData returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseAllowDllData)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--dlldata");
-	aPM->SetDllDataP(true);
-}
-
-static const ParameterManager::PriorityValueDesc PriorityNames[] =
-{
-	{ "Low", EPriorityLow},
-	{ "Background", EPriorityBackground},
-	{ "Foreground", EPriorityForeground},
-	{ "High", EPriorityHigh},
-	{ "WindowServer", EPriorityWindowServer},
-	{ "FileServer", EPriorityFileServer},
-	{ "RealTimeServer", EPriorityRealTimeServer},
-	{ "Supervisor", EPrioritySupervisor},
-	{ 0, (TProcessPriority)0}
-};
-
-/**
-This function parses the priority value passed in and finds the corresponding match
-from the list of existing priority values.
-
-@internalComponent
-@released
-
-@param aPriority
-Holds the priority value mapped from list.
-@param aText
-The priority value passed to --priority option
-@return True if the priority value passed in is a valid one present in the list.
-*/
-static bool ParsePriorityArg(unsigned int & aPriority, const char *aText)
-{
-	int i = 0;
-	aPriority = 0;
-	for (;; i++)
-	{
-		if (!PriorityNames[i].iName)
-			return false;
-		if (!stricmp(aText, PriorityNames[i].iName))
-		{
-			aPriority = PriorityNames[i].iPriority;
-			return true;
-		}
-	}
-	return false;
-}
-
-
-/**
-This function set the priority value that is passed through --priority option.
-
-void ParameterManager::ParsePriority(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --priority
-@param aValue
-The priority value passed to --priority option
-@param aDesc
-Pointer to function ParameterManager::ParsePriority returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParsePriority)
-{
-	INITIALISE_PARAM_PARSER;
-	unsigned int priority;
-	if (!aValue)
-		throw ParameterParserError(NOARGUMENTERROR, "--priority");
-	if (GetUInt(priority, aValue) || ParsePriorityArg(priority, aValue))
-		aPM->SetPriority((TProcessPriority)priority);
-	else
-		throw InvalidArgumentError(INVALIDARGUMENTERROR, aValue, "priority");
-}
-
-/**
-This function sets the predefined symbols, at the specified ordinal numbers, that are passed through 
---sysdef option.
-
-void ParameterManager::ParseSysDefs(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --sysdef
-@param aValue
-The predefined symbols alongwith the ordinal numbers passed to --sysdef option
-@param aDesc
-Pointer to function ParameterManager::ParseSysDefs returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseSysDefs)
-{
-	INITIALISE_PARAM_PARSER;
-	if (!aValue)
-		throw ParameterParserError(NOARGUMENTERROR, "--sysdef");
-	string aSysDefValues(aValue);
-	string::iterator p = aSysDefValues.begin();
-
-	int sysdeflength = aSysDefValues.size();
-	
-	int parsesysdef = 1; 
-
-	int sysdefcount=0;
-
-	while (parsesysdef && sysdeflength)
-	{
-
-		int q = 0;
-		unsigned int ordinalnum = 0;
-		char *symbol = 0;
-
-		int nq = aSysDefValues.find_first_of(",", q,sizeof(*p));
-		if (nq && (nq != string::npos))
-		{
-			int len = nq;
-			symbol = new char[len+1];
-			memcpy(symbol, p, len);
-			symbol[len] = 0;
-			q = nq+1;
-
-			char val = *(p+q);
-			if (!val || !isdigit(val))
-				throw ParameterParserError(SYSDEFERROR, "--sysdef");
-			ordinalnum = *(p+q) - '0';
-			aPM->SetSysDefs(ordinalnum, symbol, sysdefcount);
-
-			unsigned int separator = aSysDefValues.find(";", 0);
-
-			if (separator && (separator != string::npos))
-			{
-				if (separator != (unsigned int)(q+1))
-					throw ParameterParserError(MULTIPLESYSDEFERROR, "--sysdef");
-				else 
-				{
-					sysdeflength -= separator + 1;
-					aSysDefValues = aSysDefValues.substr(separator+1);
-					sysdefcount++;
-				}	
-			}
-			else
-			{
-				sysdeflength -= q+1;
-				if (sysdeflength)
-					throw ParameterParserError(MULTIPLESYSDEFERROR, "--sysdef");
-				else
-					parsesysdef = 0;
-			}
-		}
-		else
-		{
-			if (!nq && sysdeflength)
-				throw ParameterParserError(SYSDEFNOSYMBOLERROR, "--sysdef");
-			else
-				throw ParameterParserError(SYSDEFERROR, "--sysdef");
-		}
-	}
-}
-
-/**
-This function parses the capability value passed to --capability option.
-
-@internalComponent
-@released
-
-@param aName
-The pointer marking the beginning value passed to the --capability option
-@param aEnd
-The pointer marking the end value passed to the --capability option
-@param aCapabilities
-List of Capability Values allowed
-@param aInvert
-Flag to denote if value can be inverted.
-*/
-void ParameterManager::ParseCapability1(const char * aName, const char * aEnd, SCapabilitySet& aCapabilities, bool aInvert)
-{
-	int n = aEnd - aName;
-	int i = 0;
-	if(n==3 && strnicmp("all",aName,n)==0)
-	{
-		if(aInvert)
-			throw CapabilityError(CAPABILITYALLINVERSIONERROR);
-
-		for(i=0; i<ECapability_Limit; i++)
-		{
-			if(CapabilityNames[i])
-				aCapabilities[i>>5] |= (1<<(i&31));
-		}
-		return;
-	}
-
-	if(n==4 && strnicmp("none",aName,n)==0)
-	{
-		if(aInvert)
-			throw CapabilityError(CAPABILITYNONEINVERSIONERROR);
-
-		memset(&aCapabilities,0,sizeof(aCapabilities));
-		return;
-	}
-
-	for(i=0; i<ECapability_Limit; i++)
-	{
-		const char* cap = CapabilityNames[i];
-		if(!cap)
-			continue;
-		if((int)strlen(cap)!=n)
-			continue;
-		if(strnicmp(cap,aName,n)!=0)
-			continue;
-		break;
-	}
-	if(i>=ECapability_Limit)
-	{
-		string aBadCap(aName, aEnd);
-		throw UnrecognisedCapabilityError(UNRECOGNISEDCAPABILITYERROR,"BAD CAP");
-	}
-	if(aInvert)
-		aCapabilities[i>>5] &= ~(1<<(i&31));
-	else
-		aCapabilities[i>>5] |= (1<<(i&31));
-}
-
-/**
-This function parses the capability value passed to --capability option.
-
-@internalComponent
-@released
-
-@param aCapabilities
-List of Capability Values allowed
-@param aText
-Value passed to --capability option.
-*/
-void ParameterManager::ParseCapabilitiesArg(SCapabilitySet& aCapabilities, const char *aText)
-{
-	string aCapList(aText);
-	string::iterator b = aCapList.begin();
-	string::iterator e = b;
-	bool invert = false;
-
-	while(e != aCapList.end())
-	{
-		invert = false;
-		if (*b == '-')
-		{
-			invert = true;
-			b++;
-		}
-		else if (*b == '+')
-			b++;
-
-		e = b;
-		for (; e != aCapList.end(); e++)
-		{
-			if (*e == '-' || *e == '+') break;
-		}
-		if (e != b)
-			ParseCapability1(b, e, aCapabilities, invert);
-
-		b = e;
-		
-	}
-}
-
-/**
-This function parses the capability value passed to --capability option.
-
-void ParameterManager::ParseCapability(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --capability
-@param aValue
-The predefined symbols alongwith the ordinal numbers passed to --capability option
-@param aDesc
-Pointer to function ParameterManager::ParseCapability returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseCapability)
-{
-	INITIALISE_PARAM_PARSER;
-	unsigned int cap;
-	SCapabilitySet capSet = {0, 0};
-	if (!aValue)
-		throw ParameterParserError(NOARGUMENTERROR, "--capability");
-	if (GetUInt(cap, aValue))
-	{
-		aPM->SetCapability(cap);
-	}
-	else
-	{
-		aPM->ParseCapabilitiesArg(capSet, aValue);
-		aPM->SetCapability(capSet);
-	}
-}
-
-/**
-This function set the Heap Reserved and Committed Size value that is passed through --heap option.
-
-void ParameterManager::ParseHeap(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --heap
-@param aValue
-The Heap Reserved and Committed Size value passed to --heap option separated by ','.
-@param aDesc
-Pointer to function ParameterManager::ParseHeap returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseHeap)
-{
-	INITIALISE_PARAM_PARSER;
-	string aArg(aValue);
-	UINT committed = aPM->HeapCommittedSize();
-	UINT reserved = aPM->HeapReservedSize();
-	int p = aArg.find_first_of(",");
-	if (p  < 0)
-	{
-		if ( !GetUInt(committed, aValue)) 
-			throw InvalidArgumentError(INVALIDARGUMENTERROR, aValue, "heap");
-	}
-	else
-	{
-		aArg[p] = 0;
-		const char * committedval = aArg.c_str();
-		const char * reservedval = committedval + p + 1;
-		if (!(GetUInt(committed, committedval) && GetUInt(reserved, reservedval)))
-			throw InvalidArgumentError(INVALIDARGUMENTERROR, aValue, "heap");
-	}
-	aPM->SetHeapCommittedSize(committed);
-	aPM->SetHeapReservedSize(reserved);
-}
-
-/**
-This function set the stack Committed Size that is passed through --stack option.
-
-void ParameterManager::ParseStackCommitted(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --stack
-@param aValue
-The Stack Committed Size value passed to --stack option.
-@param aDesc
-Pointer to function ParameterManager::ParseStackCommitted returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseStackCommitted)
-{
-	INITIALISE_PARAM_PARSER;
-	UINT aSize = ValidateInputVal(aValue, "--stack");
-	aPM->SetStackCommittedSize(aSize);
-}
-
-/**
-This function set the Unfrozen flag if --unfrozen option is passed to the program.
-
-void ParameterManager::ParseUnfrozen(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --unfrozen
-@param aValue
-The value passed to --unfrozen option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParseUnfrozen returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseUnfrozen)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--unfrozen");
-	aPM->SetUnfrozen(true);
-}
-
-/**
-This function set the ignorenoncallable flag if --ignorenoncallable option is passed to the program.
-
-void ParameterManager::ParseIgnoreNonCallable(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --ignorenoncallable
-@param aValue
-The value passed to --ignorenoncallable option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::Parseignorenoncallable returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseIgnoreNonCallable)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--ignorenoncallable");
-	aPM->SetIgnoreNonCallable(true);
-}
-
-/**
-This function sets the FPU type that is passed using the --fpu option.
-
-void ParameterManager::ParseFPU(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --fpu
-@param aValue
-The fpu information passed to the --fpu option
-@param aDesc
-Pointer to function ParameterManager::ParseFPU returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseFPU)
-{
-	INITIALISE_PARAM_PARSER;
-
-	if (strnicmp(aValue, "softvfp", 7)==0)
-		aPM->SetFPU(0);
-	else if (strnicmp(aValue, "vfpv2", 5)==0)
-		aPM->SetFPU(1);
-	else
-		throw InvalidArgumentError(INVALIDARGUMENTERROR, aValue, aOption);
-}
-
-/**
-This function set the Paged flag if --paged option is passed to the program.
-
-void ParameterManager::ParsePaged(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --paged
-@param aValue
-The value passed to --paged option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParsePaged returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParsePaged)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--paged");
-
-	if (aPM->IsCodeUnpaged() || aPM->IsCodeDefaultPaged())
-	{
-		throw InvalidInvocationError(INVALIDINVOCATIONERROR);
-	}
-
-	aPM->SetCodePaged(true);
-}
-
-/**
-This function set the Unpaged flag if --unpaged option is passed to the program.
-
-void ParameterManager::ParseUnpaged(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --unpaged
-@param aValue
-The value passed to --unpaged option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParseUnpaged returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseUnpaged)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--unpaged");
-
-	if (aPM->IsCodePaged() || aPM->IsCodeDefaultPaged())
-	{
-		throw InvalidInvocationError(INVALIDINVOCATIONERROR);
-	}
-	
-	aPM->SetCodeUnpaged(true);
-}
-
-/**
-This function set the Defaultpaged flag if --defaultpaged option is passed to the program.
-
-void ParameterManager::ParseDefaultpaged(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --defaultpaged
-@param aValue
-The value passed to --defaultpaged option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParseDefaultpaged returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseDefaultPaged)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--defaultpaged");
-
-	if (aPM->IsCodePaged() || aPM->IsCodeUnpaged())
-	{
-		throw InvalidInvocationError(INVALIDINVOCATIONERROR);
-	}
-	
-	aPM->SetCodeDefaultPaged(true);
-}
-
-
-/**
-@internalComponent
-@released
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseCodePaging)
-{
-	INITIALISE_PARAM_PARSER;
-
-	if (strnicmp(aValue, "paged", 5)==0)
-    {
-        aPM->SetCodePaged(true);
-    }
-	else if (strnicmp(aValue, "unpaged", 7)==0)
-    {
-        aPM->SetCodeUnpaged(true);
-    }
-	else if (strnicmp(aValue, "default", 7)==0)
-    {
-        aPM->SetCodeDefaultPaged(true);
-    }
-	else
-    {
-        throw InvalidArgumentError(INVALIDARGUMENTERROR, aValue, aOption);
-    }
-
-	// Check that we haven't been given conflicting options.
-
-    unsigned check = 0;
-
-    if ( aPM->IsCodePaged() )
-    {
-        check++;
-    }
-    if ( aPM->IsCodeUnpaged() )
-    {
-        check++;
-    }
-    if ( aPM->IsCodeDefaultPaged() )
-    {
-        check++;
-    }
-
-    if (check > 1)
-    {
-		throw InvalidInvocationError(INVALIDINVOCATIONERROR);
-    }
-}
-
-/**
-@internalComponent
-@released
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseDataPaging)
-{
-	INITIALISE_PARAM_PARSER;
-
-	if (strnicmp(aValue, "paged", 5)==0)
-    {
-        aPM->SetDataPaged(true);
-    }
-	else if (strnicmp(aValue, "unpaged", 7)==0)
-    {
-        aPM->SetDataUnpaged(true);
-    }
-	else if (strnicmp(aValue, "default", 7)==0)
-    {
-        aPM->SetDataDefaultPaged(true);
-    }
-	else
-    {
-        throw InvalidArgumentError(INVALIDARGUMENTERROR, aValue, aOption);
-    }
-
-	// Check that we haven't been given conflicting options.
-
-    unsigned check = 0;
-
-    if ( aPM->IsDataPaged() )
-    {
-        check++;
-    }
-    if ( aPM->IsDataUnpaged() )
-    {
-        check++;
-    }
-    if ( aPM->IsDataDefaultPaged() )
-    {
-        check++;
-    }
-
-    if (check > 1)
-    {
-		throw InvalidInvocationError(INVALIDINVOCATIONERROR);
-    }
-}
-
-
-/**
-This function sets the iExcludeUnwantedExports flag if --excludeunwantedexports option is passed to the program.
-
-void ParameterManager::ParseExcludeUnwantedExports(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --excludeunwantedexports
-@param aValue
-The value passed to --excludeunwantedexports, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParseExcludeUnwantedExports returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseExcludeUnwantedExports)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--excludeunwantedexports");
-	aPM->SetExcludeUnwantedExports(true);
-}
-
-/**
-This function sets the customdlltarget flag if --customdlltarget option is passed to the program.
-
-void ParameterManager::ParseIsCustomDllTarget(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --customdlltarget
-@param aValue
-The value passed to --customdlltarget option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParseIsCustomDllTarget returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseIsCustomDllTarget)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--customdlltarget");
-	aPM->SetCustomDllTarget(true);
-}
-
-DEFINE_PARAM_PARSER(ParameterManager::ParseSymNamedLookup)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--namedlookup");
-	aPM->SetSymNamedLookup(true);
-}
-
-/**
-This function set the iDebuggable flag if --debuggable option is passed to the program.
-
-void ParameterManager::ParseDebuggable(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --debuggable
-@param aValue
-The value passed to --debuggable option, in this case NULL
-@param aDesc
-Pointer to function ParameterManager::ParseDebuggable returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseDebuggable)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--debuggable");
-	aPM->SetDebuggable(true); 
-}
-
-
-DEFINE_PARAM_PARSER(ParameterManager::ParseSmpSafe)
-{
-	INITIALISE_PARAM_PARSER;
-	CheckInput(aValue, "--smpsafe");
-	aPM->SetSmpSafe(true); 
-}
-
-static const ParameterManager::TargetTypeDesc DefaultTargetTypes[] =
-{
-	{ "DLL", EDll },
-	{ "LIB", ELib },
-	// allow full name
-	{ "LIBRARY", ELib},
-	{ "IMPLIB", ELib},
-	{ "EXE", EExe},
-	{ "ANI", EPolyDll},
-	{ "APP", EPolyDll},
-	{ "CTL", EPolyDll},
-	{ "CTPKG", EPolyDll},
-	{ "FSY", EPolyDll},
-	{ "LDD", EPolyDll},
-	{ "ECOMIIC", EPolyDll},
-	{ "PLUGIN", EPolyDll},
-	{ "PLUGIN3", EPolyDll},
-	{ "KDLL", EPolyDll},
-	{ "KEXT", EPolyDll},
-	{ "MDA", EPolyDll},
-	{ "MDl", EPolyDll},
-	{ "RDL", EPolyDll},
-	{ "NOTIFIER", EPolyDll},
-	{ "NOTIFIER2", EPolyDll},
-	{ "TEXTNOTIFIER2", EPolyDll},
-	{ "PDD", EPolyDll},
-	{ "PDL", EPolyDll},
-	{ "VAR", EPolyDll},
-	{ "VAR2", EPolyDll},
-	{ "EXEXP", EExexp},
-	{ "STDEXE", EStdExe},
-	{ "STDDLL", EDll},
-	{ 0, EInvalidTargetType }
-};
-
-/**
-Function to check if the given target type is a valid one from the list.
-
-@internalComponent
-@released
-
-@param aArg
-Value to be checked, the one that is passed to '--targettype'.
-@return True if the provided value is a valid targettype.
-*/
-static ETargetType IsDefaultTargetType(const char * aArg)
-{
-	for (int i = 0; DefaultTargetTypes[i].iName; i++)
-	{
-		if (aArg && !stricmp(aArg, DefaultTargetTypes[i].iName)) 
-			return DefaultTargetTypes[i].iTargetType;
-	}
-	return EInvalidTargetType;
-}
-
-/**
-Function to check if the given target type is a valid one from the list. If no value is
-passed or if unsupported targettypes are passed, then the appropriate warnings are displayed.
-
-@internalComponent
-@released
-
-@param aArg
-Value to be checked, the one that is passed to '--targettype'.
-@return the appropriate matching value from the list.
-*/
-ETargetType ParameterManager::ValidateTargetType(const char * aArg)
-{
-	ETargetType res = IsDefaultTargetType(aArg);
-	if (res == EInvalidTargetType)
-	{
-		if (aArg)
-			MessageHandler::GetInstance()->ReportMessage(WARNING, UNSUPPORTEDTARGETTYPEERROR,aArg);
-		else
-			MessageHandler::GetInstance()->ReportMessage(WARNING, TARGETTYPENOTSPECIFIEDERROR);
-	}
-	return res;
-}
-
-/**
-This function set the target type that is passed through --targettype option.
-
-void ParameterManager::ParseTargetTypeName(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --targettype
-@param aValue
-The target type passed to --targettype option
-@param aDesc
-Pointer to function ParameterManager::ParseTargetTypeName returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseTargetTypeName)
-{
-	INITIALISE_PARAM_PARSER;
-	aPM->SetTargetTypeName(aPM->ValidateTargetType(aValue));
-}
-
-/**
-This function set the output DSO file name that is passed through --dso option.
-
-void ParameterManager::ParseDSOOutput(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --dso
-@param aValue
-The DSO file name passed to --dso option
-@param aDesc
-Pointer to function ParameterManager::ParseDSOOutput returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseDSOOutput)
-{
-	INITIALISE_PARAM_PARSER;
-	aPM->SetDSOOutput(aValue);
-}
-
-/**
-This function displays the usage information if --help option is passed in.
-For invalid option, this function displays the usage information and throws the
-appropriate error message.
-
-void ParameterManager::ParamHelp(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --help or -h
-@param aValue
-The value passed to --help option, in this case, no value, hence 0.
-@param aDesc
-Pointer to function ParameterManager::ParamHelp returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParamHelp)
-{
-	INITIALISE_PARAM_PARSER;
-	using std::cerr;
-	using std::endl;
-
-	cerr << "\nSymbian Post Linker, " << "Elf2E32"
-         << " V" << MajorVersion << "." << MinorVersion << " (Build "<<Build <<")"
-         << endl;
-
-	cerr << "Usage:\t" << "elf2e32" << " [options] [filename]\n" << endl;
-    
-    cerr << "Options:\n" ;
-
-	const OptionDesc * aHelpDesc = aPM->iOptionMap["help"];
-	int lim = aPM->NumOptions();
-	for (int i = 0; i < lim; i++)
-	{
-		if (aPM->iOptions[i].iName == aHelpDesc->iName)
-		{
-			cerr << '\t' << aPM->iParamPrefix << aPM->iOptions[i].iName 
-				<< " : This command." << endl;
-		}
-		else
-		{
-			cerr << '\t' << aPM->iParamPrefix << aPM->iOptions[i].iName;
-			if (aPM->iOptions[i].iDoc) cerr << aPM->iParamEquals << aPM->iOptions[i].iDoc;
-			cerr << endl;
-		}
-	}
-	
-	if (!aDesc)
-		exit(EXIT_FAILURE);
-	else
-		exit(EXIT_SUCCESS);
-}
-
-/**
-This function set the LibPath that is passed through --libpath option.
-
-void ParameterManager::ParseLibPath(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --libpath
-@param aValue
-The LibPath value passed to --libpath option.
-@param aDesc
-Pointer to function ParameterManager::ParseLibPath returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseLibPaths)
-{
-	INITIALISE_PARAM_PARSER;
-	if (!aValue)
-		throw ParameterParserError(NOARGUMENTERROR, "--libpath");
-	string aPathList(aValue);
-	const char* p = aPathList.c_str(); 
-	int n =  strlen(p); 
-	int q = 0;
-	while (n)
-	{
-		int nq = aPathList.find_first_of(";", q, sizeof(*p));
-		if (nq > 0)
-		{
-			// handle case where there are multiple paths which are ; separated
-			int len = nq - q;
-			if (p[len-1] == aPM->DirectorySeparator()) len--;
-			char * path = new char[len+1];
-			memcpy(path, p+q, len);
-			path[len] = 0;
-			aPM->iLibPathList.push_back(path);
-			n -= nq - q + 1;
-			q = nq+1;
-		}
-		else
-		{
-			p += q;
-			int len = strlen(p);
-			if (p[len-1] == aPM->DirectorySeparator()) len--;
-			char * path = new char[len+1];
-			memcpy(path, p, len);
-			path[len] = 0;
-			aPM->iLibPathList.push_back(path);
-			break;
-		}
-	}
-}
-
-/**
-This function sets the linkas dll name when --linkas option is passed in.
-
-void ParameterManager::ParseLinkAs(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --linkas
-@param aValue
-The DLL name to be linked with passed through --linkas option
-@param aDesc
-Pointer to function ParameterManager::ParseLinkAs returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseLinkAs)
-{
-	INITIALISE_PARAM_PARSER;
-	aPM->SetLinkDLLName(aValue);
-}
-
-/**
-This function set the sub options that are passed through --dump option.
-
-void ParameterManager::ParseFileDump(ParameterManager * aPM, char * aOption, char * aValue, void * aDesc)
-
-@internalComponent
-@released
-
-@param aPM
-Pointer to the ParameterManager
-@param aOption
-Option that is passed as input, in this case --dump
-@param aValue
-The FileDump suboptions passed to --dump option.
-@param aDesc
-Pointer to function ParameterManager::ParseFileDump returning void.
-*/
-DEFINE_PARAM_PARSER(ParameterManager::ParseFileDump)
-{
-      INITIALISE_PARAM_PARSER;
-      aPM->SetFileDumpOptions(aValue);
-}
-
-/**
-This function sets the target type that is passed as input through the --targettype option
-and sets the flag if --targettype option is passed in.
-
-@internalComponent
-@released
-
-@param aTargetTypeVal
-Name of the input target type if provided as input through --targettype or 0.
-*/
-void ParameterManager::SetTargetTypeName(ETargetType aTargetTypeVal)
-{
-	iTargetTypeOption = true;
-	iTargetTypeName = aTargetTypeVal;
-}
-
-/**
-This function sets the DEF file name that is passed as input through the --definput option and
-sets the flag if --definput option is passed in.
-
-@internalComponent
-@released
-
-@param aDefInputVal
-Name of the input DEF file if provided as input through --definput or 0.
-*/
-void ParameterManager::SetDefInput(char * aDefInputVal)
-{
-	iDefFileInOption = true;
-	iDefInput = aDefInputVal;
-}
-
-/**
-This function sets the DSO file name that is passed as input through the --dso option
-and sets the flag if the --dso option is passed in.
-
-@internalComponent
-@released
-
-@param aDSOOutputVal
-Name of the output DSO file if provided as input through --dso or 0.
-*/
-void ParameterManager::SetDSOOutput(char * aDSOOutputVal)
-{
-	iDSOFileOutOption = true;
-	iDSOOutput = aDSOOutputVal;
-}
-
-/**
-This function sets the Elf file name that is passed as input through the --dsoin option.
-
-@internalComponent
-@released
-
-@param aSetElfInput
-Name of the input Elf file if provided as input through --dsoin or 0.
-*/
-void ParameterManager::SetElfInput(char * aElfInputVal)
-{
-	iElfFileInOption = true;
-	iElfInput = aElfInputVal;
-}
-
-/**
-This function sets the E32 name that is passed as input through the --e32dump option.
-
-@internalComponent
-@released
-
-@param aSetE32Input
-Name of the input E32 image if provided as input through --e32dump or 0.
-*/
-void ParameterManager::SetE32Input(char * aSetE32Input)
-{
-	iE32ImageInOption = true;
-	iE32Input = aSetE32Input;
-}
-
-/**
-This function sets the E32 dump options that is passed as input through the --dump option.
-
-@internalComponent
-@released
-
-@param aSetFileDumpOptions
-Dump sub options passed to --dump option
-*/
-void ParameterManager::SetFileDumpOptions(char * aSetFileDumpOptions)
-{
-	iFileDumpOption = true;
-	iFileDumpSubOptions = aSetFileDumpOptions;
-
-	if (aSetFileDumpOptions)
-	{
-		iDumpOptions=0;
-		while (char c = *(aSetFileDumpOptions++))
-		{
-			if (c < 'a')
-				c += 'a'-'A';
-			switch(c)
-			{
-			case 'h': iDumpOptions |= EDumpHeader; break;
-			case 's': iDumpOptions |= EDumpSecurityInfo; break;
-			case 'c': iDumpOptions |= EDumpCode; break;
-			case 'd': iDumpOptions |= EDumpData; break;
-			case 'e': iDumpOptions |= EDumpExports; break;
-			case 'i': iDumpOptions |= EDumpImports; break;
-			case 'a': iDumpOptions |= EDumpAsm; break; //Dump the Assembler code
-			case 't': iDumpOptions |= EDumpSymbols;break;
-			default: 
-				iDumpOptions=0;
-				return;
-			}
-		}
-	}
-}
-
-/**
-This function extracts the E32 image output that is passed as input through the --output option.
-
-@internalComponent
-@released
-
-@param aSetE32Output
-Name of the output E32 image output if provided as input through --output or 0.
-*/
-void ParameterManager::SetE32Output(char * aSetE32Output)
-{
-	iOutFileOption = true;
-	iOutFileName = aSetE32Output;
-}
-
-/**
-This function sets the output DEF file name that is passed as input through the --defoutput option.
-
-@internalComponent
-@released
-
-@param aSetDefOutput
-Name of the output DEF file if provided as input through --defoutput or 0.
-*/
-void ParameterManager::SetDefOutput(char * aSetDefOutput)
-{
-	iDefFileOutOption = true;
-	iDefOutput = aSetDefOutput;
-}
-
-/**
-This function sets the name of the DLL (that the DSO is to be linked with) that is passed 
-as input through the --linkas option and sets the flag if the --linkas option is passed in.
-
-@internalComponent
-@released
-
-@param aSetLinkDLLName
-The DLL name with which the DSO is to be linked with
-*/
-void ParameterManager::SetLinkDLLName(char * aSetLinkDLLName)
-{
-	iLinkAsOption = true;
-	iLinkDLLName = aSetLinkDLLName;
-}
-
-/**
-This function sets the priority value.
-
-@internalComponent
-@released
-
-@param anewVal
-priority value passed in to --priority option.
-*/
-void ParameterManager::SetPriority(TProcessPriority anewVal)
-{
-	iPriorityOption = true;
-	iPriorityVal = anewVal;
-}
-
-/**
-This function sets the capability value.
-
-@internalComponent
-@released
-
-@param anewVal
-Capability value passed in to --capability option.
-*/
-void ParameterManager::SetCapability(unsigned int anewVal)
-{
-	iCapability[0] = anewVal;
-}
-
-/**
-This function sets the capability value.
-
-@internalComponent
-@released
-
-@param anewVal
-Capability value passed in to --capability option.
-*/
-void ParameterManager::SetCapability(SCapabilitySet & anewVal)
-{
-	iCapability = anewVal;
-}
-
-/**
-This function sets the list of predefined symbols passed to --sysdef option.
-
-@internalComponent
-@released
-
-@param aOrdinalnum
-Ordinal number of the predefined symbols
-@param aSymbol
-Symbol Name
-@param aCount
-Position of the predefined symbol
-*/
-void ParameterManager::SetSysDefs(unsigned int aOrdinalnum, char* aSymbol, int aCount)
-{
-	iSysDefOption = 1;
-	iSysDefSymbols[aCount].iSysDefOrdinalNum = aOrdinalnum;
-	iSysDefSymbols[aCount].iSysDefSymbolName = aSymbol;
-	iSysDefCount = (aCount+1);
-}
-
-/**
-This function sets the output LOG file name that is passed as input through the --log option.
-
-@internalComponent
-@released
-
-@param aSetLogFile
-Name of the output LOG file if provided as input through --log or 0.
-*/
-void ParameterManager::SetLogFile(char * aSetLogFile)
-{
-	iLogFileOption = true;
-	iLogFileName = aSetLogFile;
-}
-
-/**
-This function sets the Message file name that is passed as input through the --messagefile option.
-
-@internalComponent
-@released
-
-@param aMessageFile
-Name of the Message file if provided as input through --messagefile or 0.
-*/
-void ParameterManager::SetMessageFile(char * aMessageFile)
-{
-	iMessageFileOption = true;
-	iMessageFileName = aMessageFile;
-}
-
-/**
-This function sets the Message file name that is passed as input through the --dumpmessagefile option.
-
-@internalComponent
-@released
-
-@param aDumpMessageFile
-Name of the Message file to be dumped if provided as input through --dumpmessagefile or 0.
-*/
-void ParameterManager::SetDumpMessageFile(char * aDumpMessageFile)
-{
-	iDumpMessageFileOption = true;
-	iDumpMessageFileName = aDumpMessageFile;
-}
-
-/**
-This function sets iFixedAddress if --fixedaddress is passed in.
-
-@internalComponent
-@released
-
-@param aVal
-True if --fixedaddress is passed in.
-*/
-void ParameterManager::SetFixedAddress(bool aSetFixedAddress)
-{
-	iFixedAddress = aSetFixedAddress;
-}
-
-/**
-This function sets iCompress if --uncompressed is passed in.
-
-@internalComponent
-@released
-
-@param aVal
-True if --uncompressed is passed in.
-*/
-void ParameterManager::SetCompress(bool aSetCompress)
-{
-	iCompress = aSetCompress;
-}
-
-/**
-This function sets iCompress if --uncompressed is passed in.
-
-@internalComponent
-@released
-
-@param aVal
-True if --uncompressed is passed in.
-*/
-void ParameterManager::SetCompressionMethod(UINT aCompressionMethod)
-{
-	
-	iCompressionMethod = aCompressionMethod;
-}
-
-
-/**
-This function sets iCallEntryPoint if --callentry is passed in.
-
-@internalComponent
-@released
-
-@param aVal
-True if --callentry is passed in.
-*/
-void ParameterManager::SetCallEntryPoint(bool aSetCallEntryPoint)
-{
-	iCallEntryPoint = aSetCallEntryPoint;
-}
-
-/**
-This function sets the Version information passed to '--version' option.
-
-@internalComponent
-@released
-
-@param aVersion information
-Version information passed to '--version' option.
-*/
-void  ParameterManager::SetVersion(UINT aSetVersion)
-{
-	iVersionOption = true;
-	iVersion = aSetVersion;
-}
-
-/**
-This function sets the UID1 passed to '--uid1' option.
-
-@internalComponent
-@released
-
-@param aUID1
-UID1 passed to '--uid1' option.
-*/
-void  ParameterManager::SetUID1(UINT aUID1)
-{
-	iUid1Option = true;
-	iUID1 = aUID1;
-}
-
-/**
-This function sets the UID2 passed to '--uid2' option.
-
-@internalComponent
-@released
-
-@param aUID2
-UID2passed to '--uid2' option.
-*/
-void  ParameterManager::SetUID2(UINT aUID2)
-{
-	iUID2 = aUID2;
-}
-
-/**
-This function sets the UID3 passed to '--uid3' option.
-
-@internalComponent
-@released
-
-@param aUID3
-UID3 passed to '--uid3' option.
-*/
-void  ParameterManager::SetUID3(UINT aUID3)
-{
-	iUID3 = aUID3;
-}
-
-/**
-This function sets the Secure ID passed to '--sid' option.
-
-@internalComponent
-@released
-
-@param aSetSecureID
-Secure ID passed to '--sid' option.
-*/
-void  ParameterManager::SetSecureId(UINT aSetSecureID)
-{
-	iSecureIDOption = true;
-	iSecureID = aSetSecureID;
-}
-
-/**
-This function sets the Vendor ID passed to '--vid' option.
-
-@internalComponent
-@released
-
-@param aSetVendorID
-Vendor ID passed to '--vid' option.
-*/
-void  ParameterManager::SetVendorId(UINT aSetVendorID)
-{
-	iVendorIDOption = true;
-	iVendorID = aSetVendorID;
-}
-
-/**
-This function sets the heap committed size passed to '--heap' option.
-
-@internalComponent
-@released
-
-@param aSetHeapCommittedSize
-stack committed size passed to '--heap' option.
-*/
-void  ParameterManager::SetHeapCommittedSize(UINT aSetHeapCommittedSize)
-{
-	iHeapCommittedSize = aSetHeapCommittedSize;
-}
-
-/**
-This function sets the heap reserver size passed to '--heap' option.
-
-@internalComponent
-@released
-
-@param aSetStackReservedSize
-stack reserved size passed to '--heap' option.
-*/
-void  ParameterManager::SetHeapReservedSize(UINT aSetHeapReservedSize)
-{
-	iHeapReservedSize = aSetHeapReservedSize;
-}
-
-/**
-This function sets the stack committed size passed to '--stack' option.
-
-@internalComponent
-@released
-
-@param aSetStackCommittedSize
-stack committed size passed to '--stack' option.
-*/
-void  ParameterManager::SetStackCommittedSize(UINT aSetStackCommittedSize)
-{
-	iStackCommittedSize = aSetStackCommittedSize;
-}
-
-/**
-This function sets iUnfrozen if --unfrozen is passed in.
-
-@internalComponent
-@released
-
-@param aVal
-True if --unfrozen is passed in.
-*/
-void ParameterManager::SetUnfrozen(bool aVal)
-{
-	iUnfrozen = aVal;
-}
-
-/**
-This function sets iIgnoreNonCallable if --ignorenoncallable is passed in.
-
-@internalComponent
-@released
-
-@param aVal
-True if --ignorenoncallable is passed in.
-*/
-void ParameterManager::SetIgnoreNonCallable(bool aVal)
-{
-	iIgnoreNonCallable = aVal;
-}
-
-/**
-This function sets iDllDataP if --dlldata is passed in.
-
-@internalComponent
-@released
-
-@param anewVal
-True if --dlldata is passed in.
-*/
-void ParameterManager::SetDllDataP(bool anewVal)
-{
-	iDllDataP = anewVal;
-}
-
-/**
-This function sets the FPU type based on the parsed '--fpu' option.
-
-@internalComponent
-@released
-
-@param aSetVendorID
-FPU type passed to the '--fpu' option.
-*/
-void  ParameterManager::SetFPU(UINT aFPU)
-{
-	iFPUOption = true;
-	iFPU = aFPU;
-}
-
-
-void ParameterManager::SetCodePaged(bool anewVal)
-{
-	iCodePaged = anewVal;
-}
-
-void ParameterManager::SetCodeUnpaged(bool anewVal)
-{
-	iCodeUnpaged = anewVal;
-}
-
-void ParameterManager::SetCodeDefaultPaged(bool anewVal)
-{
-	iCodeDefaultPaged = anewVal;
-}
-
-void ParameterManager::SetDataPaged(bool anewVal)
-{
-	iDataPaged = anewVal;
-}
-
-void ParameterManager::SetDataUnpaged(bool anewVal)
-{
-	iDataUnpaged = anewVal;
-}
-
-void ParameterManager::SetDataDefaultPaged(bool anewVal)
-{
-	iDataDefaultPaged = anewVal;
-}
-
-void ParameterManager::SetSymNamedLookup(bool aVal)
-{
-	iSymNamedLookup = aVal;
-}
-
-/**
-This function sets iExcludeUnwantedExports if --excludeunwantedexports is passed in.
-
-@internalComponent
-@released
-
-@param aVal
-True if --excludeunwantedexports is passed in.
-*/
-void ParameterManager::SetExcludeUnwantedExports(bool aVal)
-{
-	iExcludeUnwantedExports = aVal;
-}
-
-/**
-This function sets iIsCustomDllTarget if --customdlltarget is passed in.
-
-@internalComponent
-@released
-
-@param aVal
-True if --customdlltarget is passed in.
-*/
-void ParameterManager::SetCustomDllTarget(bool aVal)
-{
-	iCustomDllTarget = aVal;
-}
-
-/**
-This function sets iDebuggable if --debuggable is passed in.
-
-@internalComponent
-@released
-
-@param aVal
-True if --debuggable is passed in.
-*/
-void ParameterManager::SetDebuggable(bool aVal)
-{
-	iDebuggable = aVal;
-}
-
-
-void ParameterManager::SetSmpSafe(bool aVal)
-{
-	iSmpSafe = aVal;
-}