williamr@4: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // This file has been deprecated and use ssmcmd.hrh instead williamr@4: // williamr@4: // williamr@4: williamr@4: #ifndef __STARTUP_HRH__ williamr@4: #define __STARTUP_HRH__ williamr@4: williamr@4: /** Identifiers for different command types. williamr@4: williamr@4: Note: To add a new command type, extend this enum and add a williamr@4: new struct to startup.rh. The struct should start with a WORD williamr@4: member initialised to the newly-added value. williamr@4: williamr@4: @publishedPartner williamr@4: @deprecated Instead of this use TSsmCommandType williamr@4: */ williamr@4: enum TStartupCommandType williamr@4: { williamr@4: /** williamr@4: This command is used for starting processes. williamr@4: */ williamr@4: EStartupProcess = 1, williamr@4: /** williamr@4: This command is used for starting apps. williamr@4: */ williamr@4: EStartupApp, williamr@4: /** williamr@4: This command is used for starting or killing the splash screen. williamr@4: */ williamr@4: EStartupSplashScreen, williamr@4: /** williamr@4: This command is used to force the apparc server to initialise. williamr@4: */ williamr@4: EInitAppArcServer, williamr@4: /** williamr@4: This command is used to call a function within a DLL using williamr@4: the ordinal number. williamr@4: */ williamr@4: EStartupDLL, williamr@4: /** williamr@4: This command is used to check that all previous processes and williamr@4: apps with start_method EDeferredWaitForStart have rendezvoused. williamr@4: */ williamr@4: EMultipleWait, williamr@4: /** williamr@4: This command is used for starting processes with extended sysstart V2 functionality. williamr@4: */ williamr@4: EStartupProcess2, williamr@4: /** williamr@4: This command is used for starting applications with extended sysstart V2 functionality. williamr@4: */ williamr@4: EStartupApp2, williamr@4: /** williamr@4: This command is used for starting AMAStarter with a particular DSC williamr@4: */ williamr@4: EStartupAMAStarter williamr@4: }; williamr@4: williamr@4: /** Identifiers for starting up an application. Presently there are williamr@4: two methods of startup. williamr@4: williamr@4: @publishedPartner williamr@4: @deprecated Instead of this use TSsmCommandType williamr@4: */ williamr@4: enum TStartupType williamr@4: { williamr@4: /** williamr@4: For starting exes. williamr@4: */ williamr@4: EStartProcess = 1, williamr@4: /** williamr@4: For starting apps. williamr@4: */ williamr@4: EStartApp williamr@4: }; williamr@4: williamr@4: /** Identifiers for each startup state. Used to inform state-aware williamr@4: applications of a change of state. williamr@4: williamr@4: @publishedPartner williamr@4: @deprecated Instead of this use TSsmStartupSubStates williamr@4: */ williamr@4: enum TStartupStateIdentifier williamr@4: { williamr@4: /** williamr@4: Undefined state. williamr@4: */ williamr@4: EStartupStateUndefined = 0x00, williamr@4: /** williamr@4: @internalComponent williamr@4: Reserved for future use. williamr@4: */ williamr@4: EReservedStartUpState1 = 0x08, williamr@4: /** williamr@4: Within this state all ROM based(static) components or resources williamr@4: that are critical to the operation of the phone function are started. williamr@4: */ williamr@4: EStartupStateCriticalStatic = 0x10, williamr@4: /** williamr@4: @internalComponent williamr@4: Reserved for future use. williamr@4: */ williamr@4: EReservedStartUpState2 = 0x18, williamr@4: /** williamr@4: Within this state all non-ROM based(dynamic) components or resources williamr@4: that are critical to the operation of the phone function are started. williamr@4: */ williamr@4: EStartupStateCriticalDynamic = 0x20, williamr@4: /** williamr@4: Networking state. williamr@4: */ williamr@4: EStartupStateNetworkingCritical = 0x28, williamr@4: /** williamr@4: Within this state all ROM based(static) or non-ROM based(dynamic) components williamr@4: or resources that are non-critical to the operation of the phone function williamr@4: are started. williamr@4: */ williamr@4: EStartupStateNonCritical = 0x30, williamr@4: /** williamr@4: @internalComponent williamr@4: Reserved for future use. williamr@4: */ williamr@4: EReservedStartUpState4 = 0x38, williamr@4: /** williamr@4: @internalComponent williamr@4: Reserved for future use. williamr@4: */ williamr@4: EReservedStartUpState5 = 0x40 williamr@4: }; williamr@4: williamr@4: /** Identifiers for each start-up method. williamr@4: williamr@4: @publishedPartner williamr@4: @deprecated Instead of this use TSsmExecutionBehaviour williamr@4: */ williamr@4: enum TStartMethod williamr@4: { williamr@4: /** williamr@4: By using this type the starter can continue immediately williamr@4: with executing its next command. williamr@4: */ williamr@4: EFireAndForget = 1, williamr@4: /** williamr@4: By using this type the starter cannot continue with the williamr@4: next command until a rendezvous has been made with the started process. williamr@4: */ williamr@4: EWaitForStart, williamr@4: /** williamr@4: By using this type the starter will continue with the next command williamr@4: before a rendezvous has been made with the current command. williamr@4: However the rendezvous will be checked later when a MULTIPLE_WAIT command williamr@4: is encountered. williamr@4: */ williamr@4: EDeferredWaitForStart williamr@4: }; williamr@4: williamr@4: williamr@4: williamr@4: /** Identifier for the no of retries on state transition failure. williamr@4: williamr@4: @publishedPartner williamr@4: @deprecated williamr@4: */ williamr@4: enum TNoOfRetries williamr@4: { williamr@4: /** williamr@4: On state transition failure do not re-attempt the transition. williamr@4: */ williamr@4: ERetry0, williamr@4: /** williamr@4: On state transition failure re-attempt the transition once. williamr@4: */ williamr@4: ERetry1 williamr@4: }; williamr@4: williamr@4: williamr@4: /** Identifier for the action to be taken on state transition williamr@4: failure (after a re-attempt has already been made if required). williamr@4: williamr@4: @publishedPartner williamr@4: @deprecated Instead of this use TSsmRecoveryMethod williamr@4: */ williamr@4: enum TActionOnStateTransitionFailure williamr@4: { williamr@4: /** williamr@4: Ignore the state transition failure. Carry on with actions williamr@4: corresponding to the next state. williamr@4: */ williamr@4: EIgnoreFailure, williamr@4: williamr@4: /** williamr@4: Panic the system starter if state transition failed. This williamr@4: will cause the device to re-boot. williamr@4: */ williamr@4: EPanicOnFailure williamr@4: }; williamr@4: williamr@4: /** Identifier for the action to be taken on command failure. williamr@4: This is used with the fail_on_error fields within START_PROCESS_INFO, START_APP_INFO, START_DLL_INFO, and MULTIPLE_WAIT structures. williamr@4: These structures rely on this enum being a boolean value so it must not hold more than 2 values: EIgnoreCommandFailure=0 and EPanicOnCommandFailure=1. williamr@4: williamr@4: @publishedPartner williamr@4: @deprecated Instead of this use TSsmRecoveryMethod williamr@4: */ williamr@4: enum TActionOnCommandFailure williamr@4: { williamr@4: /** williamr@4: Ignore the command failure. williamr@4: */ williamr@4: EIgnoreCommandFailure, williamr@4: williamr@4: /** williamr@4: Panic the system starter if command fails. This williamr@4: will cause the device to re-boot. williamr@4: */ williamr@4: EPanicOnCommandFailure williamr@4: }; williamr@4: williamr@4: /** Identifier for the action to be taken on command failure. williamr@4: This should be used to set the retry_failure_recovery_method when using START_PROCESS_INFO2 or START_APP_INFO2 structures williamr@4: williamr@4: @publishedPartner williamr@4: @deprecated Instead of this use TSsmRecoveryMethod williamr@4: */ williamr@4: enum TRecoveryMethod williamr@4: { williamr@4: /** williamr@4: Ignore the command failure williamr@4: */ williamr@4: EIgnoreOnFailure, williamr@4: /** williamr@4: Reboot the OS williamr@4: */ williamr@4: ERestartOS, williamr@4: /** williamr@4: Reboot the OS in a particular mode williamr@4: */ williamr@4: ERestartOSWithMode, williamr@4: /** williamr@4: Reboot the OS (with no attempts to restart the component being attempted) williamr@4: */ williamr@4: ECriticalNoRetries williamr@4: }; williamr@4: williamr@4: #endif // __STARTUP_HRH__ williamr@4: