diff -r 000000000000 -r 4e1aa6a622a0 sysstatemgmt/systemstarter/inc/startup.rh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstarter/inc/startup.rh Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,233 @@ +// Copyright (c) 2005-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 file has been deprecated and use ssmcmd.rh instead +// This file contains the basic definitions required for the system starter. It should be +// included by all resources files used to drive the starter. This file can be replaced, but +// any replacement must implement anything marked "REQUIRED". +// DO NOT PUT RESOURCE STATEMENTS IN THIS FILE! +// +// + +#include "startup.hrh" + +#ifdef SYMBIAN_PROCESS_MONITORING_AND_STARTUP +#include "e32modes.h" +#endif + +/** +@publishedPartner +@deprecated Instead of this use SSM_COMMAND_LIST_ROOT + +REQUIRED: +Entry point used by the starter to find the first STAGE_INFO structure. +The starter looks for a resource of this type with a resource id of 1 and uses +the link to find the first state info resource +**/ +STRUCT STARTUP_ENTRY_POINT + { + LLINK entry_point = 0; + } + +/** +@publishedPartner +@deprecated Instead of this use SSM_PUBLISH_SYSTEM_STATE + +REQUIRED: +This structure defines the information needed by a startup state. The +STARTUP_ENTRY_POINT member "entry_point" MUST point to a STATE_INFO resource +**/ +STRUCT STATE_INFO + { + BYTE id = 0; // VALUE REQUIRED: must be defined and unique + LTEXT name = ""; + LLINK command_list = 0; // VALUE REQUIRED: must point to a COMMAND_ARRAY resource + LLINK next = 0; // VALUE REQUIRED: must point to a STATE_INFO resource (or be 0) + + // specify how many times to re-attempt state change after a state transition failure. + // (Can be ERetry0 or ERetry1) + WORD no_of_retries_on_failure = ERetry0; + + // Specify action when state transition fails after the specified number of retries. + // (Can be EIgnoreFailure or EPanicOnFailure). + WORD action_on_failure = EIgnoreFailure; + } + +/** +@publishedPartner +@deprecated Instead of this use SSM_START_PROCESS_INFO + +Structures that can go in the COMMAND_ARRAY. +REQUIRED: any structure added here must start with a WORD item, +which is initialised with a unique value for that structure (see enumeration +TStartupCommandType declared in startup.hrh) +Must also have a valid path to a process to start. +**/ +STRUCT START_PROCESS_INFO // For starting processes + { + WORD type = EStartupProcess; // do not change + LTEXT path = ""; // VALUE REQUIRED + LTEXT args = ""; // Passed to the command line of the started process + WORD start_method = EFireAndForget; // can also be EWaitForStart or EDeferredWaitForStart + LONG timeout = 0; // In milliseconds only used for EWaitForStart + WORD fail_on_error = EPanicOnCommandFailure; // can be EIgnoreCommandFailure + WORD no_of_retries_on_failure = 0; // only used for EWaitForStart + } + +#ifdef SYMBIAN_PROCESS_MONITORING_AND_STARTUP +/** This should be used instead of START_PROCESS_INFO if monitoring or advanced recovery options are desired. +@publishedPartner +@deprecated Instead of this use SSM_START_PROCESS_INFO +**/ +STRUCT START_PROCESS_INFO2 // For starting processes + { + WORD type = EStartupProcess2; // do not change + LTEXT path = ""; // VALUE REQUIRED + LTEXT args = ""; // Passed to the command line of the started process + WORD start_method = EFireAndForget; // can also be EWaitForStart or EDeferredWaitForStart + LONG timeout = 0; // In milliseconds only used for EWaitForStart + WORD retry_failure_recovery_method = ERestartOS; // can also be EIgnoreOnFailure or ERestartOSWithMode + WORD no_of_retries_on_failure = 0; // only used for EWaitForStart + WORD monitor = 0; // can be 1 if monitoring required + WORD retry_failure_recovery_startup_mode = EStartupModeUndefined; + } +#endif + + +/** +@publishedPartner +@deprecated Instead of this use SSM_START_APP_INFO +**/ +STRUCT START_APP_INFO // For starting apps + { + WORD type = EStartupApp; // do not change + LTEXT path = ""; // VALUE REQUIRED + LTEXT args = ""; // Ignored for backward compatibility + WORD start_method = EFireAndForget; // can also be EWaitForStart or EDeferredWaitForStart + WORD viewless = 0; // can be 1 + WORD start_in_background = 0; // can be 1 + LONG timeout = 0; // In milliseconds only used for EWaitForStart + WORD fail_on_error = EPanicOnCommandFailure; // can be EIgnoreCommandFailure + WORD no_of_retries_on_failure = 0; // only used for EWaitForStart + } + +#ifdef SYMBIAN_PROCESS_MONITORING_AND_STARTUP +/** This should be used instead of START_APP_INFO if monitoring or advanced recovery options are desired. +@publishedPartner +@deprecated Instead of this use SSM_START_APP_INFO +**/ +STRUCT START_APP_INFO2 // For starting apps + { + WORD type = EStartupApp2; // do not change + LTEXT path = ""; // VALUE REQUIRED + LTEXT args = ""; // Passed to the "Tail End" of the application command line + WORD start_method = EFireAndForget; // can also be EWaitForStart or EDeferredWaitForStart + WORD viewless = 0; // can be 1 + WORD start_in_background = 0; // can be 1 + LONG timeout = 0; // In milliseconds only used for EWaitForStart + WORD retry_failure_recovery_method = ERestartOS; // can also be EIgnoreOnFailure or ERestartOSWithMode + WORD no_of_retries_on_failure = 0; // only used for EWaitForStart + + WORD monitor = 0; // can be 1 if monitoring required + WORD retry_failure_recovery_startup_mode = EStartupModeUndefined; + } +#endif + + +/** +@publishedPartner +@deprecated Instead of this use SSM_SET_PUBLISH_AND_SUBSCRIBE +**/ +STRUCT SPLASH_SCREEN // For starting or killing the splash screen + { + WORD type = EStartupSplashScreen; // Must not be changed + // EITHER specify kill = 1 OR give the path to the splash exe + WORD kill = 0; + LTEXT path = ""; + } + +/** +This command is used to force apparc server to initialise its list with information +about installed applications. This command is added anywhere after apparc server +is started to get past the stage where all app info is not yet available. + +Apparc must be initialised to support rule-based launching and launching of +non-native applications. + +@publishedPartner +@deprecated Instead of this use SSM_START_APP_INFO +**/ +STRUCT INIT_APPARC + { + WORD type = EInitAppArcServer; + } + +/** +This command is used for starting a function within a custom DLL using the +ordinal specified. + +@publishedPartner +@deprecated Instead of this use SSM_START_CUSTOM_COMMAND +**/ +STRUCT START_DLL_INFO + { + WORD type = EStartupDLL; // Must not be changed + LTEXT DLLName = ""; // VALUE REQUIRED. + // DLL name (without the .dll extension). + BYTE ordinal = 1; // VALUE REQUIRED + WORD fail_on_error = EPanicOnCommandFailure; // can be EIgnoreCommandFailure + BYTE no_of_retries_on_failure = 0; // Re-attempts to make if DLL fails to + // load or the DLL function returns an + // error code + LLINK custom_dll_data_link = 0; // VALUE REQUIRED. link to the licensee specific dll data + } + +/** +This command checks that processes/apps previously started with start_method +EDeferredWaitForStart have now made a rendezvous. A timer can be started and if +all deferred commands have not started the action specified in the fail_on_error +field is taken. +If the timeout value is zero the system will wait indefinitely until all deferred +commands have completed. + +@publishedPartner +@deprecated Instead of this use SSM_MULTIPLE_WAIT +**/ +STRUCT MULTIPLE_WAIT + { + WORD type = EMultipleWait; // Must not be changed + LONG timeout = 0; // In milliseconds. + WORD fail_on_error = EPanicOnCommandFailure ; // can be EIgnoreCommandFailure + } + +#ifdef SYMBIAN_PROCESS_MONITORING_AND_STARTUP +/** +@publishedPartner +@deprecated Instead of this use SSM_START_AMA_STARTER +**/ +STRUCT START_AMA_STARTER // For starting AMAStarter with a particular DSC + { + WORD type = EStartupAMAStarter; // Must not be changed + LONG dsc_id = 0x2000836D; // DSC id for AMAStarter + } +#endif +/** +@publishedPartner +@deprecated Instead of this use SSM_COMMAND_LIST + +REQUIRED: Lists the commands to be executed in a given startup state. +**/ +STRUCT COMMAND_ARRAY + { + STRUCT commands[]; + }