|
1 // Copyright (c) 2006-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 // Class holds all user configuration data |
|
15 // |
|
16 |
|
17 /** |
|
18 @file |
|
19 @internalTechnology |
|
20 @released |
|
21 */ |
|
22 |
|
23 #ifndef __ELFOPTIONSV2_H__ |
|
24 #define __ELFOPTIONSV2_H__ |
|
25 |
|
26 #include <e32def.h> |
|
27 #include <optionconfig.h> |
|
28 |
|
29 /** |
|
30 @internalTechnology |
|
31 @released |
|
32 |
|
33 It is used by symbian ELF formatter to manage its configuration parameters. |
|
34 */ |
|
35 class CElfOptionsV2 : public CBase |
|
36 { |
|
37 |
|
38 public: |
|
39 static CElfOptionsV2* NewL( TUint32 aUID = 0 ); |
|
40 static CElfOptionsV2* NewLC( TUint32 aUID = 0 ); |
|
41 ~CElfOptionsV2(); |
|
42 |
|
43 TBool CreateProcessData() const; |
|
44 |
|
45 TBool CreateDataSegments() const; |
|
46 TBool CreateCodeSegments() const; |
|
47 TBool CreateThreadSegments() const; |
|
48 TBool CreateRegisterSegments() const; |
|
49 TBool CreateExecSegments() const; |
|
50 TBool CreateProcessSegments() const; |
|
51 TBool CreateSystemCrashInfo() const; |
|
52 TBool CreateSystemWideOnly() const; |
|
53 TInt TraceDataToCapture() const; |
|
54 TBool CreateLockDataSegments() const; |
|
55 TBool CreateRomBuildInfo() const; |
|
56 TBool CreateHeapData() const; |
|
57 TBool CreateVariantSpecificData() const; |
|
58 |
|
59 TInt GetNumberConfigParametersL( ); |
|
60 COptionConfig * GetConfigParameterL( const TInt aIndex ); |
|
61 TInt SetConfigParameterL( const TInt aIndex, const TInt32 & aValue, const TDesC & aDescValue ); |
|
62 |
|
63 private: |
|
64 CElfOptionsV2(); |
|
65 void ConstructL( TUint32 aUID = 0 ); |
|
66 |
|
67 private: |
|
68 |
|
69 /** Available values of symbian ELF parameter index */ |
|
70 enum TElfOptions |
|
71 { |
|
72 ECreateSystemCrashInfo, /**< Dump system wide info */ |
|
73 ECreateProcessData, /**< Dump whole crashed process info */ |
|
74 ECreateDataSegments, /**< Dump data segments */ |
|
75 ECreateCodeSegments, /**< Dump code segments */ |
|
76 ECreateThreadSegments, /**< Dump thread info segments */ |
|
77 ECreateRegisterSegments, /**< Dump register data segments */ |
|
78 ECreateExecSegments, /**< Dump executable info segments */ |
|
79 ECreateProcessSegments, /**< Dump process info segments */ |
|
80 ECreateTraceData, /**< Dump trace data */ |
|
81 ECreateLockSegments, /**< Dump lock data */ |
|
82 ECreateRomInfo, /**< Dump ROM build info */ |
|
83 ECreateHeapInfo, /**< Dump heap info */ |
|
84 ECreateVariantInfo, /**< Dump variant specific info */ |
|
85 EElfOptionsLast /** Guard */ |
|
86 }; |
|
87 |
|
88 /** Symbian ELF formatter configuration parameter list */ |
|
89 RConfigParameterList iConfigList; |
|
90 |
|
91 /** Available values of system crash parameter */ |
|
92 enum TSystemCrashOption |
|
93 { |
|
94 ESystemWideOnly = 0, /**< Generate crash data for system, not for crashed process */ |
|
95 ECrashedProcessOnly = 1, /**< Generate crash data for crashed process only */ |
|
96 ESystemWideAndCrashedProc = 2 /**< Generate crash data for crashed process and system wide */ |
|
97 }; |
|
98 }; |
|
99 |
|
100 #endif // __ELFOPTIONSV2_H__ |