diff -r 000000000000 -r 4e1aa6a622a0 sysstatemgmt/systemstarter/inc/startup.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/systemstarter/inc/startup.hrh Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,258 @@ +// 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: +// + +#ifndef __STARTUP_HRH__ +#define __STARTUP_HRH__ + +/** Identifiers for different command types. + +Note: To add a new command type, extend this enum and add a +new struct to startup.rh. The struct should start with a WORD +member initialised to the newly-added value. + +@publishedPartner +@deprecated Instead of this use TSsmCommandType +*/ +enum TStartupCommandType + { + /** + This command is used for starting processes. + */ + EStartupProcess = 1, + /** + This command is used for starting apps. + */ + EStartupApp, + /** + This command is used for starting or killing the splash screen. + */ + EStartupSplashScreen, + /** + This command is used to force the apparc server to initialise. + */ + EInitAppArcServer, + /** + This command is used to call a function within a DLL using + the ordinal number. + */ + EStartupDLL, + /** + This command is used to check that all previous processes and + apps with start_method EDeferredWaitForStart have rendezvoused. + */ + EMultipleWait +#ifdef SYMBIAN_PROCESS_MONITORING_AND_STARTUP + , + /** + This command is used for starting processes with extended sysstart V2 functionality. + */ + EStartupProcess2, + /** + This command is used for starting applications with extended sysstart V2 functionality. + */ + EStartupApp2, + /** + This command is used for starting AMAStarter with a particular DSC + */ + EStartupAMAStarter +#endif // SYMBIAN_PROCESS_MONITORING_AND_STARTUP + }; + +/** Identifiers for starting up an application. Presently there are +two methods of startup. + +@publishedPartner +@deprecated Instead of this use TSsmCommandType +*/ +enum TStartupType + { + /** + For starting exes. + */ + EStartProcess = 1, + /** + For starting apps. + */ + EStartApp + }; + +/** Identifiers for each startup state. Used to inform state-aware +applications of a change of state. + +@publishedPartner +@deprecated Instead of this use TSsmStartupSubStates +*/ +enum TStartupStateIdentifier + { + /** + Undefined state. + */ + EStartupStateUndefined = 0x00, + /** + @internalComponent + Reserved for future use. + */ + EReservedStartUpState1 = 0x08, + /** + Within this state all ROM based(static) components or resources + that are critical to the operation of the phone function are started. + */ + EStartupStateCriticalStatic = 0x10, + /** + @internalComponent + Reserved for future use. + */ + EReservedStartUpState2 = 0x18, + /** + Within this state all non-ROM based(dynamic) components or resources + that are critical to the operation of the phone function are started. + */ + EStartupStateCriticalDynamic = 0x20, + /** + Networking state. + */ + EStartupStateNetworkingCritical = 0x28, + /** + Within this state all ROM based(static) or non-ROM based(dynamic) components + or resources that are non-critical to the operation of the phone function + are started. + */ + EStartupStateNonCritical = 0x30, + /** + @internalComponent + Reserved for future use. + */ + EReservedStartUpState4 = 0x38, + /** + @internalComponent + Reserved for future use. + */ + EReservedStartUpState5 = 0x40 + }; + +/** Identifiers for each start-up method. + +@publishedPartner +@deprecated Instead of this use TSsmExecutionBehaviour +*/ +enum TStartMethod + { + /** + By using this type the starter can continue immediately + with executing its next command. + */ + EFireAndForget = 1, + /** + By using this type the starter cannot continue with the + next command until a rendezvous has been made with the started process. + */ + EWaitForStart, + /** + By using this type the starter will continue with the next command + before a rendezvous has been made with the current command. + However the rendezvous will be checked later when a MULTIPLE_WAIT command + is encountered. + */ + EDeferredWaitForStart + }; + + + +/** Identifier for the no of retries on state transition failure. + +@publishedPartner +@deprecated +*/ +enum TNoOfRetries + { + /** + On state transition failure do not re-attempt the transition. + */ + ERetry0, + /** + On state transition failure re-attempt the transition once. + */ + ERetry1 + }; + + +/** Identifier for the action to be taken on state transition +failure (after a re-attempt has already been made if required). + +@publishedPartner +@deprecated Instead of this use TSsmRecoveryMethod +*/ +enum TActionOnStateTransitionFailure + { + /** + Ignore the state transition failure. Carry on with actions + corresponding to the next state. + */ + EIgnoreFailure, + + /** + Panic the system starter if state transition failed. This + will cause the device to re-boot. + */ + EPanicOnFailure + }; + +/** Identifier for the action to be taken on command failure. +This is used with the fail_on_error fields within START_PROCESS_INFO, START_APP_INFO, START_DLL_INFO, and MULTIPLE_WAIT structures. +These structures rely on this enum being a boolean value so it must not hold more than 2 values: EIgnoreCommandFailure=0 and EPanicOnCommandFailure=1. + +@publishedPartner +@deprecated Instead of this use TSsmRecoveryMethod +*/ +enum TActionOnCommandFailure + { + /** + Ignore the command failure. + */ + EIgnoreCommandFailure, + + /** + Panic the system starter if command fails. This + will cause the device to re-boot. + */ + EPanicOnCommandFailure + }; + +#ifdef SYMBIAN_PROCESS_MONITORING_AND_STARTUP +/** Identifier for the action to be taken on command failure. +This should be used to set the retry_failure_recovery_method when using START_PROCESS_INFO2 or START_APP_INFO2 structures + +@publishedPartner +@deprecated Instead of this use TSsmRecoveryMethod +*/ +enum TRecoveryMethod + { + /** + Ignore the command failure + */ + EIgnoreOnFailure, + /** + Reboot the OS + */ + ERestartOS, + /** + Reboot the OS in a particular mode + */ + ERestartOSWithMode + }; +#endif // SYMBIAN_PROCESS_MONITORING_AND_STARTUP + +#endif // __STARTUP_HRH__ +