e32tools/elf2e32/source/usecasebase.h
changeset 0 044383f39525
equal deleted inserted replaced
-1:000000000000 0:044383f39525
       
     1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // Implementation of the Header file for Class UseCaseBase of the elf2e32 tool
       
    15 // @internalComponent
       
    16 // @released
       
    17 // 
       
    18 //
       
    19 
       
    20 #ifndef USECASEBASE_H
       
    21 #define USECASEBASE_H
       
    22 
       
    23 #include "pl_symbol.h"
       
    24 #include "e32imagefile.h"
       
    25 #include "parameterlistinterface.h"
       
    26 
       
    27 class E32ImageFile;
       
    28 
       
    29 /**
       
    30 This class is the base class for the use cases. The appropriate usecases like LibraryTarget,
       
    31 DLLTarget, EXETarget are derived from this class. 
       
    32 
       
    33 Other classes like ParameterManager are dependant on this class.
       
    34 
       
    35 @internalComponent
       
    36 @released
       
    37 */
       
    38 class UseCaseBase
       
    39 {
       
    40 
       
    41 public:
       
    42 	UseCaseBase(ParameterListInterface* aParameterListInterface);
       
    43 	virtual ~UseCaseBase();
       
    44 	char * DefInput();
       
    45 	char * DSOOutput();
       
    46 	char * LinkAsDLLName();
       
    47 	char * FileName(char *aFileName);
       
    48 
       
    49 //const char * DefOutput();
       
    50 	char *DefOutput();
       
    51 
       
    52 	char *LogFile();
       
    53 	bool LogFileOption();
       
    54 
       
    55 char * InputElfFileName();
       
    56 
       
    57 const char * OutputDSOFileName();
       
    58 
       
    59 const char * OutputE32FileName();
       
    60 
       
    61 bool AllowDllData();
       
    62 
       
    63 size_t HeapCommittedSize();
       
    64 
       
    65 size_t HeapReservedSize();
       
    66 
       
    67 size_t StackCommittedSize();
       
    68 
       
    69 unsigned int GetUid1();
       
    70 
       
    71 unsigned int GetUid2();
       
    72 
       
    73 unsigned int GetUid3();
       
    74 
       
    75 unsigned int GetSecureId();
       
    76 bool GetSecureIdOption();
       
    77 
       
    78 unsigned int GetVendorId();
       
    79 
       
    80 unsigned int GetVersion();
       
    81 
       
    82 bool GetCallEntryPoints();
       
    83 
       
    84 SCapabilitySet GetCapability();
       
    85 bool Unfrozen();
       
    86 
       
    87 TProcessPriority GetPriority();
       
    88 
       
    89 bool GetFixedAddress();
       
    90 
       
    91 bool GetCompress();
       
    92 unsigned int GetCompressionMethod();
       
    93 
       
    94 unsigned int GetFPU();
       
    95 
       
    96 ParameterListInterface::LibSearchPaths &  GetLibSearchPaths();
       
    97 
       
    98 
       
    99 bool GetIgnoreNonCallable();
       
   100 
       
   101 char GetDirectorySeparator();
       
   102 
       
   103 bool IsCodePaged();
       
   104 bool IsCodeUnpaged();
       
   105 bool IsCodeDefaultPaged();
       
   106 
       
   107 bool IsDataPaged();
       
   108 bool IsDataUnpaged();
       
   109 bool IsDataDefaultPaged();
       
   110 
       
   111 bool ExcludeUnwantedExports();
       
   112 bool IsCustomDllTarget();
       
   113 bool GetNamedSymLookup();
       
   114 
       
   115 bool IsDebuggable();
       
   116 
       
   117 bool IsSmpSafe();
       
   118 
       
   119 SymbolType SymbolTypeF(char * aName);
       
   120 /**
       
   121 This function creates the appropriate target.
       
   122 
       
   123 @internalComponent
       
   124 @released
       
   125 
       
   126 @return EXIT_SUCCESS if the generation of the target is successful, else EXIT_FAILURE
       
   127 */
       
   128 	virtual int Execute() = 0;
       
   129 
       
   130 protected:
       
   131 	/** Pointer to the ParameterListInterface */
       
   132 	ParameterListInterface *iParameterListInterface;
       
   133 
       
   134 	
       
   135 };
       
   136 
       
   137 
       
   138 
       
   139 
       
   140 #endif // USECASEBASE_H