startup/stem_shutdowncmdlists.rss
changeset 13 4f959124999b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/startup/stem_shutdowncmdlists.rss	Sun Oct 10 16:22:15 2010 +0100
@@ -0,0 +1,261 @@
+/*
+* Copyright (c) 2009-2010 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:
+* Command list for the Selftest OK startup state.
+*
+*/
+
+#include <ssm/conditionresourcetypes.rh>
+#include <ssm/ssmcmd.rh>
+
+#include "ssmsubstateext.hrh"
+#include "ssmdlldatadefs.rh"
+
+// Identify command list type
+UID2 KUidSsmCommandListResourceFile
+
+// ---------------------------------------------------------------------------
+// r_entry_point
+// This must be the first resource
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_COMMAND_LIST_ROOT r_entry_point
+    {
+    command_list_mapping = r_map;
+    }
+
+// ---------------------------------------------------------------------------
+// r_map
+// Mapping of command list ids to resource ids.
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_COMMAND_LIST_MAPPING r_map
+    {
+    mappings =
+        {
+        SSM_COMMANDLISTID_TO_RESOURCEID
+            {
+            command_list_id = ESsmErrorShutdown;
+            resource_id = r_initialcmds;
+            },
+        SSM_COMMANDLISTID_TO_RESOURCEID
+            {
+            command_list_id = ESsmNormalShutdown;
+            resource_id = r_initialcmds;
+            },
+        SSM_COMMANDLISTID_TO_RESOURCEID
+            {
+            command_list_id = ESsmShutdownSubStateCritical;
+            resource_id = r_criticalcmds;
+            },
+        SSM_COMMANDLISTID_TO_RESOURCEID
+            {
+            command_list_id = ESsmShutdownSubStateNonCritical;
+            resource_id = r_noncriticalcmds;
+            },
+        SSM_COMMANDLISTID_TO_RESOURCEID
+            {
+            command_list_id = ESsmShutdownSubStatePowerOff;
+            resource_id = r_poweroffcmds;
+            }
+        };
+    }
+
+// ===========================================================================
+// Command lists in alphabetical order
+// ===========================================================================
+//
+
+// ---------------------------------------------------------------------------
+// r_criticalcmds
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_COMMAND_LIST r_criticalcmds
+    {
+    commands =
+        {
+        r_cmd_sastate,          // This needs to be the first command in state, prio 0xFFF2
+        r_cmd_publishstate,     // prio 0xFFF1
+        r_cmd_psstate,          // prio 0xFFF0
+        r_cmd_cancelmonitoring, // prio 0xFFE8
+	r_cmd_shutdownapps      // prio 0xFFE7
+        };
+    }
+
+// ---------------------------------------------------------------------------
+// r_initialcmds
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_COMMAND_LIST r_initialcmds
+    {
+    commands =
+        {
+        r_cmd_publishstate	// prio 0xFFF1
+        };
+    }
+
+// ---------------------------------------------------------------------------
+// r_noncriticalcmds
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_COMMAND_LIST r_noncriticalcmds
+    {
+    commands =
+        {
+        r_cmd_publishstate,     // prio 0xFFF1
+        // prio 0xFFE7
+        r_cmd_killsplash,
+        r_cmd_finalisedrives,
+        r_cmd_sashutdown
+        };
+    }
+
+// ---------------------------------------------------------------------------
+// r_poweroffcmds
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_COMMAND_LIST r_poweroffcmds
+    {
+    commands =
+        {
+        r_cmd_publishstate,     // prio 0xFFF1
+        r_cmd_poweroff          // This is always the last command
+        };
+    }
+
+// ===========================================================================
+// Command items in alphabetical order
+// ===========================================================================
+//
+// ---------------------------------------------------------------------------
+// r_cmd_cancelmonitoring
+// This command should be executed before shutdown apps
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_cancelmonitoring
+	{
+	priority = 0xFFE8;
+	severity = ECmdCriticalSeverity;
+	dllname = "cmncustomcmds.dll";
+	ordinal = 3; // Request to the sysmon server to cancel all the outstanding monitors
+	retries = 2;
+	}
+
+// ---------------------------------------------------------------------------
+// r_cmd_shutdownapps
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_shutdownapps
+    {
+    priority = 0xFFE7;
+    dllname = "akncustcmds.dll";
+    ordinal = 3; // AknShutdownApps
+    }
+
+// ---------------------------------------------------------------------------
+// r_cmd_finalisedrives
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_FINALISE_DRIVES r_cmd_finalisedrives
+    {
+//    priority = 0xFFE7;
+    }
+
+// ---------------------------------------------------------------------------
+// r_cmd_killsplash
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_SET_PUBLISH_AND_SUBSCRIBE r_cmd_killsplash
+    {
+    priority = 0xFFE7;
+    category = 0x101F8766; // KPSUidStartup
+    key      = 0x00000301; // KPSSplashShutdown
+    value    = 101;        // ESplashShutdown
+    }
+
+// ---------------------------------------------------------------------------
+// r_cmd_poweroff
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_POWER_OFF r_cmd_poweroff
+    {
+    power_state = 1; // EPwStandby
+    }
+
+// ---------------------------------------------------------------------------
+// r_cmd_psstate
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_SET_PUBLISH_AND_SUBSCRIBE r_cmd_psstate
+    {
+    priority = 0xFFF0;
+    severity = ECmdCriticalSeverity;
+    category = 0x101F8766; // KPSUidStartup
+    key      = 0x00000041; // KPSGlobalSystemState
+    value    = 117;        // ESwStateShuttingDown
+    }
+
+// ---------------------------------------------------------------------------
+// r_cmd_publishstate
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_PUBLISH_SYSTEM_STATE r_cmd_publishstate
+    {
+    priority = 0xFFF1;
+    severity = ECmdCriticalSeverity;
+    direction = 1;  // ETraverseChildrenFirst, Transition children first for graceful shutdown.
+    retries = 2;
+    }
+
+// ---------------------------------------------------------------------------
+// r_cmd_sashutdown
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_sashutdown
+    {
+    priority = 0xFFE7;
+    dllname = "ssmsystemcmds.dll";
+    ordinal = 7; // SaShutdown
+    retries = 2;
+    }
+
+// ---------------------------------------------------------------------------
+// r_cmd_sastate
+// ---------------------------------------------------------------------------
+//
+RESOURCE SSM_START_CUSTOM_COMMAND r_cmd_sastate
+    {
+    priority = 0xFFF2;
+    severity = ECmdCriticalSeverity;
+    dllname = "customcmds.dll";
+    ordinal = 8;
+    unload_on_finish = ENeverUnload;
+    retries = 2;
+    dll_data = r_dlldata_sastate;
+    }
+
+// ===========================================================================
+// DLL data items in alphabetical order
+// ===========================================================================
+//
+
+// ---------------------------------------------------------------------------
+// r_dlldata_sastate
+// ---------------------------------------------------------------------------
+//
+RESOURCE CMD_PARAM_STATE_CHANGE r_dlldata_sastate
+    {
+    mainstate = 2; // ESsmShutdown
+    substate = 0xFFFF; // KSsmAnySubState, saastateadapataion expects this
+    }