sysstatemgmt/systemstatereferenceplugins/localinc/ssmpanic.h
changeset 0 4e1aa6a622a0
child 3 a811597961f0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysstatemgmt/systemstatereferenceplugins/localinc/ssmpanic.h	Tue Feb 02 00:53:00 2010 +0200
@@ -0,0 +1,90 @@
+// Copyright (c) 2007-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:
+// This header file defines all the possible panic categories and codes within the System State Management component.
+// When adding panic codes to the System State Management component,
+// identify the module concerned and create a category if necessary.
+// The category should contain the name of the class where the panic is occuring.
+// Try to reuse an existing panic code, otherwise add the new panic code 
+// to the end of the enum list.
+// 
+//
+
+#if !defined (__SSMPANICCODES_H__)
+#define __SSMPANICCODES_H__
+
+#include <e32std.h>
+
+/** 
+Defines all the modules (categories) within System State Management component which can throw panics
+Strings must not be longer than 16 characters or they will be truncated by User::Panic()
+@internalComponent
+@released
+*/
+_LIT(KPanicCmdList, 				"CCmdList");
+_LIT(KPanicCmdAmastarter, 			"CCmdAmastarter");
+_LIT(KPanicCmdStarterBase, 			"CCmdStarterBase");
+_LIT(KPanicCmdStartApp, 			"CCmdStartApp");
+_LIT(KPanicCmdStartProcess, 		"CCmdStartProcess");
+_LIT(KPanicDeferredDeleter, 		"CSsmDeferredDeleter");
+_LIT(KPanicCmdCustomCommand, 		"CCmdCustomCmd");
+_LIT(KPanicCmdMultipleWait, 		"CCmdMultipleWait");
+_LIT(KPanicCmdWaitForApparcInit, 	"CCmdApparcInit");
+_LIT(KPanicCmdResourceReader,		"CmdResourceRead");
+_LIT(KPanicSsmCommand,				"BadSsmCommand");
+_LIT(KPanicSusAdaptionServer,		"SusAdaptionSrv");
+_LIT(KPanicCustomCmdSimSecurityCheck, "CCustomCmdSimSecurityCheck");
+_LIT(KPanicCustomCmdCoopSysPerformRfsActions, "CCustomCmdCoopSysPerformRfsActions");
+_LIT(KPanicSsmUiSpecific, "CSsmUiSpecific");
+_LIT(KPanicCustomCmdDeviceSecurityCheck, "CCustomCmdDeviceSecurityCheck");
+_LIT(KPanicSecurityCheckNotifier, "CSsmSecurityCheckNotifier");
+
+
+/** Defines all possible panic codes within System State Management component
+@internalComponent
+@released
+*/
+enum TSsmPanicCodes
+	{
+	EIllegalMethodCallInClass 	= 1,
+	ENoCustomCommandObject,
+	EInvalidRunLAction,
+	ECmdListBadIdx,
+	ECmdBadCommand,
+	ECmdNullPtr,
+	ENotInitialized,
+	ENotInitialized2,
+	ENotInitialized3,
+	EUnknownError,
+	EInternalStateError,
+	ENonNullResourceFileEntries,
+	ENullResourceFileEntries,
+	ENoPreparedCommandList,
+	EInUse1,
+	EInUse2,
+	EInUse3,
+	EPendingRequest,
+	EPropertyRetrieveError,
+	EInvalidUid,
+	EInvalidArgument,
+	EInvalidSecuritySubState,
+	EInvalidDeviceSecurityState,
+	};
+
+/** Global panic function for use within System State Management component
+@internalComponent
+@released
+*/
+extern void PanicNow(const TDesC &aCategory, TInt aReason);
+
+#endif // __SSMPANICCODES_H__