kerneltest/e32test/domainmgr/domainpolicytest.h
changeset 279 957c583b417b
parent 245 647ab20fee2e
--- a/kerneltest/e32test/domainmgr/domainpolicytest.h	Tue Sep 28 15:28:31 2010 +0100
+++ b/kerneltest/e32test/domainmgr/domainpolicytest.h	Mon Oct 04 12:03:52 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of the License "Eclipse Public License v1.0"
@@ -16,18 +16,39 @@
 #ifndef __DOMAIN_POLICY_TEST_H__
 #define __DOMAIN_POLICY_TEST_H__
 
-// The test domain hierarchy id 
+#include <domainpolicy.h>
 
+// Policy Domain Timeout
+const TInt KDomainTimeout = 2000000; /* 2000ms */
+
+// The original test domain hierarchy id
 static const TDmHierarchyId	KDmHierarchyIdTest = 99;
 
+// The test domain hierarchy Id for V2 policy with V2 features enabled
+static const TDmHierarchyId	KDmHierarchyIdTestV2 = 98;
+
+// The original test domain hierarchy id but as a V2 policy with V1 functionality
+static const TDmHierarchyId	KDmHierarchyIdTestV2_97 = 97;
+
+// The original test domain hierarchy id but as a V2 policy with V1 functionality, null state spec
+static const TDmHierarchyId	KDmHierarchyIdTestV2_96 = 96;
+
+//  The test domain hierarchy Id for V2 policy with V2 features enabled but botched
+static const TDmHierarchyId	KDmHierarchyIdTestV2_95 = 95;
+
+//  The test domain hierarchy Id for V2 policy with V2 features enabled but botched
+static const TDmHierarchyId	KDmHierarchyIdTestV2_94 = 94;
+
+
 /*
-Domains defined in this hiearchy
+Domains defined in this hierarchy.
 The hierarchy desribed here looks like this:
 		Root
 		A				B				C
 		AA	AB			BA				CA
 			ABA	ABB						CAA
-
+			
+This hierarchy is used in V1 and V2 policies. 
 */
 static const TDmDomainId	KDmIdTestA		= 0x02;
 static const TDmDomainId	KDmIdTestB		= 0x03;
@@ -41,33 +62,67 @@
 static const TDmDomainId	KDmIdTestABA	= 0x09;
 static const TDmDomainId	KDmIdTestABB	= 0x0A;
 static const TDmDomainId	KDmIdTestCAA	= 0x0B;
+
 static const TInt KTestDomains = 0x0B;	// number of domains including root
 
 
 /*
-System-wide start-up states
+Simulated system-wide states for test purposes.
 
-Some of these states may be ommitted depending on the start-up mode.
-E.g. The system-starter might choose to omit EStartupNonCritical in "safe" mode
+The typical state transitions expected in this model:
+	EStartupCriticalStatic 	-> EStartupCriticalDynamic
+	EStartupCriticalDynamic -> EStartupNonCritical
+	EStartupNonCritical 	-> ENormalRunning
+	ENormalRunning 			-> EBackupMode
+	EBackupMode				-> ENormalRunning
+	ENormalRunning			-> EShutdownCritical
+	EShutdownCritical 		-> EShutdownNonCritical
+
+However, that does not stop tests from transition from/to any state as required
+for test cases. Further states can be added through numbering e.g. EBackupMode1
+if required.
 */
-enum TStartupState
+enum TSystemState
 	{
-	/** In this state, all ROM based (static) components or resources that 
-	are critical to the operation of the phone are started */
+	/** Device starting up initialising ROM based components/resources */
 	EStartupCriticalStatic,
 
-	/** In this state, all non-ROM based (dynamic) components or resources that 
-	are critical to the operation of the phone are started */
+	/** Device continuing start up initisliaing non-ROM based components/resoruces */
 	EStartupCriticalDynamic,
 
-	/** In this state, all ROM based (static) or non-ROM based (dynamic) 
-	components or resources that are not critical to the operation of the phone 
-	are started */
+	/** Device continues start up initialising non-critical components/resoruces */
 	EStartupNonCritical,
+	
+	/** Device running normally */
+	ENormalRunning,
+		
+	/** Device about to start system wide backup operation */
+	EBackupMode,
 
-	/** An integer that is strictly greater thean any legal start-up state value */
-	EStartupLimit
+	/** Device about to start system wide restore operation */
+	ERestoreMode,
+
+	/** Device starting shutdown perform critical shutdown actions */
+	EShutdownCritical,
+
+	/** Device performing non-critical shutdown actions */
+	EShutdownNonCritical,
+
+
+	/** An integer that is strictly greater than any legal system state value */
+	ESystemStateLimit
 	};
 
+
+// Externs for test policy data
+
+extern const TDmDomainSpec DomainHierarchy[];
+extern const TDmHierarchyPolicy HierarchyPolicy;
+
+extern const SDmStateSpecV1 StateSpecification[];
+extern const TUint StateSpecificationSize;
+extern const TInt StateSpecificationVersion;
+
 #endif
 
+