toolsandutils/e32tools/elf2e32/source/parametermanager.h
branchGCC_SURGE
changeset 56 626366955efb
parent 55 59148e28d9f6
child 57 e69da8462916
--- a/toolsandutils/e32tools/elf2e32/source/parametermanager.h	Fri Jun 25 18:24:47 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,451 +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 Header file for Class ParameterManager of the elf2e32 tool
-// @internalComponent
-// @released
-// 
-//
-
-#if !defined(SYMBIAN_PARAMETERMANAGER_H_)
-#define SYMBIAN_PARAMETERMANAGER_H_
-
-#include "parameterlistinterface.h"
-#include <vector>
-#include <map>
-#include <string>
-
-class UseCaseBase;
-class Symbol;
-
-
-
-/**
-This class is derived from ParameterListInterface (the abstract base class). 
-
-@internalComponent
-@released
-*/
-class ParameterManager : public ParameterListInterface
-{
-
-public:
-
-	typedef std::vector<char *> ParamList;
-
-	struct OptionDesc
-	{
-		char * iName;
-		const void * iParser;
-		char * iDoc;
-	};
-
-	struct TargetTypeDesc
-	{
-		const char * iName;
-		ETargetType iTargetType;
-	};
-
-	struct PriorityValueDesc
-	{
-		const char * iName;
-		TProcessPriority iPriority;
-	};
-	
-	struct CompressionMethodDesc
-	{
-		const char *iMethodName;
-		UINT		iMethodUid;
-	};
-
-	/*struct SysDefs
-	{
-		int iSysDefOrdinalNum;
-		char * iSysDefSymbolName;
-	};
-
-	typedef struct SysDefs Sys;*/
-
-	typedef std::string string;
-	typedef std::less<string> OptionCompare;
-	typedef std::map<string, const OptionDesc *, OptionCompare> OptionMap;
-	typedef vector<char *> LibSearchPaths;
-
-	typedef void (*ParserFn)(ParameterManager *, char *, char *, const OptionDesc *);
-
-
-	#define DECLARE_PARAM_PARSER(name) \
-		static void name(ParameterManager* aPM, char* aOption, char* aValue, void* aDesc)
-	
-	#define DEFINE_PARAM_PARSER(name) \
-		void name(ParameterManager * aPM, char * aOption, char* aValue, void * aDesc)
-	
-	#define INITIALISE_PARAM_PARSER \
-		aOption = aOption; \
-		aValue = aValue; \
-		aDesc = aDesc;
-
-	DECLARE_PARAM_PARSER(ParseDefInput);
-	DECLARE_PARAM_PARSER(ParseDSOOutput);
-	DECLARE_PARAM_PARSER(ParseTargetTypeName);
-	DECLARE_PARAM_PARSER(ParseLinkAs);
-	DECLARE_PARAM_PARSER(ParseDefOutput);
-	DECLARE_PARAM_PARSER(ParseElfInput);
-	DECLARE_PARAM_PARSER(ParseFileDump);
-	DECLARE_PARAM_PARSER(ParseE32ImageInput);
-	DECLARE_PARAM_PARSER(ParseOutput);
-	DECLARE_PARAM_PARSER(ParseLogFile);
-	DECLARE_PARAM_PARSER(ParseMessageFile);
-	DECLARE_PARAM_PARSER(ParseDumpMessageFile);
-	
-	DECLARE_PARAM_PARSER(ParamHelp);
-	DECLARE_PARAM_PARSER(ParseUID1);
-	DECLARE_PARAM_PARSER(ParseUID2);
-	DECLARE_PARAM_PARSER(ParseUID3);
-
-
-	DECLARE_PARAM_PARSER(ParseCapability);
-	DECLARE_PARAM_PARSER(ParseSecureId);
-	DECLARE_PARAM_PARSER(ParseVendorId);
-	DECLARE_PARAM_PARSER(ParseFixedAddress);
-	DECLARE_PARAM_PARSER(ParseUncompressed);
-	DECLARE_PARAM_PARSER(ParseCompressionMethod);
-	DECLARE_PARAM_PARSER(ParseHeap);
-	DECLARE_PARAM_PARSER(ParseStackCommitted);
-	DECLARE_PARAM_PARSER(ParseUnfrozen);
-	DECLARE_PARAM_PARSER(ParseIgnoreNonCallable);
-	DECLARE_PARAM_PARSER(ParseLibPaths);
-	DECLARE_PARAM_PARSER(ParseSysDefs);
-	DECLARE_PARAM_PARSER(ParseAllowDllData);
-	DECLARE_PARAM_PARSER(ParsePriority);
-	DECLARE_PARAM_PARSER(ParseVersion);
-	DECLARE_PARAM_PARSER(ParseCallEntryPoint);
-	DECLARE_PARAM_PARSER(ParseFPU);
-
-	DECLARE_PARAM_PARSER(ParsePaged);
-	DECLARE_PARAM_PARSER(ParseUnpaged);
-	DECLARE_PARAM_PARSER(ParseDefaultPaged);
-
-	DECLARE_PARAM_PARSER(ParseCodePaging);
-	DECLARE_PARAM_PARSER(ParseDataPaging);
-
-	DECLARE_PARAM_PARSER(ParseExcludeUnwantedExports);
-	DECLARE_PARAM_PARSER(ParseIsCustomDllTarget);
-	DECLARE_PARAM_PARSER(ParseSymNamedLookup);
-	DECLARE_PARAM_PARSER(ParseDebuggable);
-	DECLARE_PARAM_PARSER(ParseSmpSafe);
-
-	ParameterManager(int aArgc, char** aArgv);
-	virtual ~ParameterManager();
-	void ParameterAnalyser();
-	void SetDefInput(char * aDefInputVal);
-	void SetDSOOutput(char * aDSOOutputVal);
-	void SetElfInput(char * aSetElfInput);
-	void SetE32Input(char * aSetE32Input);
-	void SetFileDumpOptions(char * aSetE32DumpOptions);
-	void SetE32Output(char * aSetE32Output);
-	void SetDefOutput(char * aSetDefOutput);
-	void SetTargetTypeName(ETargetType  aSetTargetTypeName);
-	void SetLinkDLLName(char * aSetLinkDLLName);
-	void SetUID1(UINT aSetUINT1);
-	void SetUID2(UINT aSetUINT2);
-	void SetUID3(UINT aSetUINT3);
-	void SetFixedAddress(bool aSetFixedAddress);
-	void SetCompress(bool aSetCompress);
-	void SetCompressionMethod(UINT aCompressionMethod);
-	void SetSecureId(UINT aSetSecureID);
-	void SetVendorId(UINT aSetVendorID);
-	void SetHeapCommittedSize(UINT aSetHeapCommittedSize);
-	void SetHeapReservedSize(UINT aSetHeapReservedSize);
-	void SetStackCommittedSize(UINT aSetStackCommittedSize);
-	void SetUnfrozen(bool aVal);
-	void SetIgnoreNonCallable(bool aVal);
-	void SetCapability(unsigned int newVal);
-	void SetCapability(SCapabilitySet & newVal);
-	void SetSysDefs(unsigned int aSysDefOrdinal, char * aSysDefSymbol, int aCount);
-	void SetLogFile(char * aSetLogFile);
-	void SetMessageFile(char *aMessageFile);
-	void SetDumpMessageFile(char *aDumpMessageFile);
-	void SetDllDataP(bool newVal);
-	void SetPriority(TProcessPriority anewVal);
-	void SetVersion(UINT aSetVersion);
-	void SetCallEntryPoint(bool aCallEntryPoint);
-	void SetFPU(UINT aVal);
-
-	void SetCodePaged(bool);
-	void SetCodeUnpaged(bool);
-	void SetCodeDefaultPaged(bool);
-
-	void SetDataPaged(bool);
-	void SetDataUnpaged(bool);
-	void SetDataDefaultPaged(bool);
-	
-	void SetExcludeUnwantedExports(bool aVal);
-	void SetCustomDllTarget(bool aVal);
-	void SetSymNamedLookup(bool aVal);
-	void SetDebuggable(bool aVal);
-	void SetSmpSafe(bool aVal);
-
-	int NumOptions();
-	int NumShortOptions();
-	void InitParamParser();
-	void ParseCommandLine();
-	void RecordImageLocation();
-	char * Path(char * aArg);
-	ETargetType TargetTypeName();
-	ETargetType ValidateTargetType(const char * aTargetType);
-	LibSearchPaths& LibPath();
-	char * DefInput();
-	char * ElfInput();
-	char * E32Input();
-	bool DefFileInOption();
-	bool DefFileOutOption();
-	bool ElfFileInOption();
-	bool E32ImageInOption();
-	bool FileDumpOption();
-	bool DSOFileOutOption();
-	bool E32OutOption();
-	bool LinkAsOption();
-	bool Uid1Option();
-	bool SecureIdOption();
-	bool VendorIdOption();
-	bool SysDefOption();
-	bool LogFileOption();
-	bool MessageFileOption();
-	bool DumpMessageFileOption();
-	bool DllDataP();
-	TProcessPriority Priority();
-	bool PriorityOption();
-	bool VersionOption();
-	bool CallEntryPoint();
-	bool FPUOption();
-
-	char * DefOutput();
-	char * DSOOutput();
-	char * E32ImageOutput();
-	char * LinkAsDLLName();
-	char * FileName(char * aArg);
-	char * LogFile();
-	char * MessageFile();
-	char * DumpMessageFile();
-	char * FileDumpOptions();
-	char * FileDumpSubOptions();
-	int DumpOptions();
-	int SysDefCount();
-	char DirectorySeparator();
-	//int SysDefOrdinalNum();
-	//char * SysDefSymbol();
-	Sys SysDefSymbols(int count);
-	UINT Uid1();
-	UINT Uid2();
-	UINT Uid3();
-	UINT SecureId();
-	UINT VendorId();
-	UINT Version();
-	bool FixedAddress();
-	bool Compress();
-	UINT CompressionMethod();
-	size_t HeapCommittedSize();
-	size_t HeapReservedSize();
-	size_t StackCommittedSize();
-	bool Unfrozen();
-	bool IgnoreNonCallable();
-	UseCaseBase * SelectUseCase();
-	SCapabilitySet Capability();
-	void ParseCapability1(const char * name, const char * end, SCapabilitySet& aCapabilities, bool invert);
-	void ParseCapabilitiesArg(SCapabilitySet& aCapabilities, const char *aText);
-	UINT FPU();
-
-	bool IsCodePaged();
-	bool IsCodeUnpaged();
-	bool IsCodeDefaultPaged();
-
-	bool IsDataPaged();
-	bool IsDataUnpaged();
-	bool IsDataDefaultPaged();
-
-	bool ExcludeUnwantedExports();
-	bool IsCustomDllTarget();
-	bool SymNamedLookup();
-	bool IsDebuggable();
-	bool IsSmpSafe();
-
-private:
-	/** The number of command line arguments passed into the program */
-	int iArgc;
-
-	/** The listing of all the arguments */
-	char ** iArgv;
-
-	/** REVISIT */
-	char * iImageLocation;
-
-	/** REVISIT */
-	char * iImageName;
-
-	/** To check if the --targettypeoption (Option to pass the target type of the final image) is provided */
-	 bool iTargetTypeOption;
-
-	/** To check if the --definput (Option to pass the input DEF File) is passed as input */
-	 bool iDefFileInOption;
-
-	/** To check if the --defoutput (Option to pass the output DEF File name) is passed as input */
-	bool iDefFileOutOption;
-	
-	/** To check if the --dump is passed as input */
-	bool iFileDumpOption;
-
-	/** To check if the --dso (Option to pass the output DSO File name) is passed as input */
-	bool iDSOFileOutOption;
-	
-	/** To check if the --output (Option to pass the output image name) is passed as input */
-	bool iOutFileOption;
-	
-	/** To check if the --elfinput (Option to pass the input Elf File) is passed as input */
-	bool iElfFileInOption;
-	
-	/** To check if the --e32input (Option to pass the input E32 File) is passed as input */
-	bool iE32ImageInOption;
-	
-	/** To check if the --linkas (Option to pass DLL name to be linked with) is passed as input */
-	bool iLinkAsOption;
-
-	bool iUid1Option;
-	bool iSecureIDOption;
-	bool iVendorIDOption;
-
-	/** System level identifier, identifies the general type of a Symbian OS object */
-	UINT iUID1;
-
-	/** Interface identifier, distinguishes within a type (i.e.within a UID1) */
-	UINT iUID2;
-
-	/** Project identifier, identifies a particular subtype */ 
-	UINT iUID3;
-
-	UINT iSecureID;
-
-	UINT iVendorID;
-
-	bool iCompress;
-	UINT iCompressionMethod;
-
-	bool iFixedAddress;
-
-	size_t iHeapCommittedSize;
-	size_t iHeapReservedSize;
-	size_t iStackCommittedSize;
-	bool iUnfrozen;
-	bool iIgnoreNonCallable;
-
-
-	/** List of the parameters */
-	ParamList iParamList;
-
-	/** The short prefix '-' used for the command line options for the program */
-	static const char * iParamShortPrefix;
-
-	/** The normal prefix '--' used for the command line options for the program */
-	static const char * iParamPrefix;
-
-	/** The '=' used for passing the arguments to the command line options for the program */
-	static const char iParamEquals; 
-
-	/** The list of command line options (with normal prefix '--') that will be accepted by the program */
-	static const OptionDesc iOptions[];
-
-	/** The list of command line options (with short prefix '-') that will be accepted by the program */
-	static const OptionDesc iShortOptions[];
-
-	/** The map between the command line option (with normal prefix '--') and the corresponding function */
-	OptionMap iOptionMap;
-
-	/** The map between the command line option (with short prefix '-') and the corresponding function */
-	OptionMap iShortOptionMap;
-
-	/** The usecase that is selected, could either be LibraryTarget or DLLTarget or EXETarget */
-	UseCaseBase *iUseCase;
-
-	/** Target Type that is passed as input to the --targettype option */
-	ETargetType iTargetTypeName;
-
-	/** File name of the output DEF file passed as input to the --defoutput option */
-	char * iDefOutput;
-
-	/** File name of the output DSO file passed as input to the --dso option */
-	char * iDSOOutput;
-
-	/** File name of the output image passed as input to the --output option */
-	char * iOutFileName;
-
-	/** File name of the input DEF file passed as input to the --definput option */
-	char * iDefInput;
-
-	/** File name of the input DSO file passed as input to the --dsoin option */
-	char * iElfInput;
-
-	/** File name of the input E32 image passed as input to the --e32dump option */
-	char * iE32Input;
-
-	/** File name of the DLL to be linked with passed as input to the --linkas option */
-	char * iLinkDLLName;
-
-	/** Path name of the intermediate libraries passed as input to the --libpath option */
-	char * iLibPath;
-
-	int iDumpOptions;
-	char *iFileDumpSubOptions;
-
-	bool iSysDefOption;
-	char * iLogFileName;
-	bool iLogFileOption;
-	char * iMessageFileName;
-	bool iMessageFileOption;
-	char * iDumpMessageFileName;
-	bool iDumpMessageFileOption;
-
-	bool iDllDataP;
-	
-	//vector<char*> iLibPathList;
-	LibSearchPaths iLibPathList;
-	SCapabilitySet iCapability;
-	//struct SysDefs iSysDefSymbols[10];
-	Sys iSysDefSymbols[10];
-	int iSysDefCount;
-	bool iPriorityOption;
-	TProcessPriority iPriorityVal;
-	UINT iVersion;
-	bool iVersionOption;
-	bool iCallEntryPoint;
-	UINT iFPU;
-	bool iFPUOption;
-
-	int iArgumentCount;
-	
-	bool iCodePaged;
-	bool iCodeUnpaged;
-	bool iCodeDefaultPaged;
-
-	bool iDataPaged;
-	bool iDataUnpaged;
-	bool iDataDefaultPaged;
-
-	bool iExcludeUnwantedExports;
-	bool iCustomDllTarget;
-	bool iSymNamedLookup;
-	bool iDebuggable;
-	bool iSmpSafe;
-};
-
-
-#endif // !defined(SYMBIAN_PARAMETERMANAGER_H_)