|
1 // Copyright (c) 2007-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 // This header file defines all the possible panic categories and codes within the System State Management component. |
|
15 // When adding panic codes to the System State Management component, |
|
16 // identify the module concerned and create a category if necessary. |
|
17 // The category should contain the name of the class where the panic is occuring. |
|
18 // Try to reuse an existing panic code, otherwise add the new panic code |
|
19 // to the end of the enum list. |
|
20 // |
|
21 |
|
22 #if !defined (__SSMPANICCODES_H__) |
|
23 #define __SSMPANICCODES_H__ |
|
24 |
|
25 #include <e32std.h> |
|
26 |
|
27 /** |
|
28 Defines all the modules (categories) within System State Management component which can throw panics |
|
29 Strings must not be longer than 16 characters or they will be truncated by User::Panic() |
|
30 @internalComponent |
|
31 @released |
|
32 */ |
|
33 _LIT(KPanicCmdList, "CCmdList"); |
|
34 _LIT(KPanicCmdAmastarter, "CCmdAmastarter"); |
|
35 _LIT(KPanicCmdStarterBase, "CCmdStarterBase"); |
|
36 _LIT(KPanicCmdStartApp, "CCmdStartApp"); |
|
37 _LIT(KPanicCmdStartProcess, "CCmdStartProcess"); |
|
38 _LIT(KPanicDeferredDeleter, "CSsmDeferredDeleter"); |
|
39 _LIT(KPanicCmdCustomCommand, "CCmdCustomCmd"); |
|
40 _LIT(KPanicCmdMultipleWait, "CCmdMultipleWait"); |
|
41 _LIT(KPanicCmdWaitForApparcInit, "CCmdApparcInit"); |
|
42 _LIT(KPanicCmdResourceReader, "CmdResourceRead"); |
|
43 _LIT(KPanicCmdFinaliseDrives, "CmdFinaliseDrives"); |
|
44 _LIT(KPanicCmdPersistHalAttributes, "CmdPersistHalAttributes"); |
|
45 _LIT(KPanicSsmCommand, "BadSsmCommand"); |
|
46 _LIT(KPanicSusAdaptionServer, "SusAdaptionSrv"); |
|
47 _LIT(KPanicCustomCmdSecurityCheck, "CCustomCmdSecurityCheck"); |
|
48 _LIT(KPanicCustomCmdCoopSysPerformRfsActions, "CCustomCmdCoopSysPerformRfsActions"); |
|
49 _LIT(KPanicSsmUiSpecific, "CSsmUiSpecific"); |
|
50 _LIT(KPanicDeferrableCommand, "CSsmDeferrableCommand"); |
|
51 _LIT(KPanicStartupProperties, "CSsmStartupProperties"); |
|
52 |
|
53 |
|
54 /** Defines all possible panic codes within System State Management component |
|
55 @internalComponent |
|
56 @released |
|
57 */ |
|
58 enum TSsmPanicCodes |
|
59 { |
|
60 EIllegalMethodCallInClass = 1, |
|
61 EInvalidRunLAction = 2, |
|
62 ECmdListBadIdx = 3, |
|
63 ECmdBadCommand = 4, |
|
64 ECmdNullPtr = 5, |
|
65 ENotInitialized = 6, |
|
66 ENotInitialized2 = 7, |
|
67 ENotInitialized3 = 8, |
|
68 EUnknownError = 9, |
|
69 EInternalStateError = 10, |
|
70 ENonNullResourceFileEntries = 11, |
|
71 ENullResourceFileEntries = 12, |
|
72 ENoPreparedCommandList = 13, |
|
73 EInUse1 = 14, |
|
74 EInUse2 = 15, |
|
75 EInUse3 = 16, |
|
76 EPropertyRetrieveError = 17, |
|
77 EInvalidUid = 18, |
|
78 EInvalidArgument = 19, |
|
79 EInvalidDeferrebleCmdRegistration = 20, |
|
80 EInvalidCmdType = 21, |
|
81 EDuplicateSubstateInCommandList = 22, |
|
82 ECmdExecutionFailed = 23 |
|
83 }; |
|
84 |
|
85 /** Global panic function for use within System State Management component |
|
86 @internalComponent |
|
87 @released |
|
88 */ |
|
89 extern void PanicNow(const TDesC &aCategory, TInt aReason); |
|
90 |
|
91 #endif // __SSMPANICCODES_H__ |