epoc32/include/startup.hrh
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // This file has been deprecated and use ssmcmd.hrh instead 
    15 // 
    16 //
    17 
    18 #ifndef __STARTUP_HRH__
    19 #define __STARTUP_HRH__
    20 
    21 /** Identifiers for different command types.
    22 
    23 Note: To add a new command type, extend this enum and add a
    24 new struct to startup.rh. The struct should start with a WORD
    25 member initialised to the newly-added value.
    26 
    27 @publishedPartner
    28 @deprecated Instead of this use TSsmCommandType
    29 */
    30 enum TStartupCommandType
    31 	{
    32 	/**
    33 	This command is used for starting processes.
    34 	*/
    35 	EStartupProcess = 1,
    36 	/**
    37 	This command is used for starting apps.
    38 	*/
    39 	EStartupApp,
    40 	/**
    41 	This command is used for starting or killing the splash screen.
    42 	*/
    43 	EStartupSplashScreen,
    44 	/**
    45 	This command is used to force the apparc server to initialise.
    46 	*/
    47 	EInitAppArcServer,
    48 	/**
    49 	This command is used to call a function within a DLL using
    50 	the ordinal number.
    51 	*/
    52 	EStartupDLL,
    53 	/**
    54 	This command is used to check that all previous processes and
    55 	apps with start_method EDeferredWaitForStart have rendezvoused.
    56 	*/
    57 	EMultipleWait,
    58 	/**
    59 	This command is used for starting processes with extended sysstart V2 functionality.
    60 	*/
    61 	EStartupProcess2,
    62 	/**
    63 	This command is used for starting applications with extended sysstart V2 functionality.
    64 	*/
    65 	EStartupApp2,
    66 	/**
    67 	This command is used for starting AMAStarter with a particular DSC
    68 	*/
    69 	EStartupAMAStarter
    70 	};
    71 
    72 /** Identifiers for starting up an application. Presently there are
    73 two methods of startup.
    74 
    75 @publishedPartner
    76 @deprecated Instead of this use TSsmCommandType
    77 */
    78 enum TStartupType
    79 	{
    80 	/**
    81 	For starting exes.
    82 	*/
    83 	EStartProcess = 1,
    84 	/**
    85 	For starting apps.
    86 	*/
    87 	EStartApp
    88 	};
    89 
    90 /** Identifiers for each startup state. Used to inform state-aware
    91 applications of a change of state.
    92 
    93 @publishedPartner
    94 @deprecated Instead of this use TSsmStartupSubStates
    95 */
    96 enum TStartupStateIdentifier
    97 	{
    98 	/**
    99 	Undefined state.
   100 	*/
   101 	EStartupStateUndefined = 0x00,
   102 	/**
   103 	@internalComponent
   104 	Reserved for future use.
   105 	*/
   106 	EReservedStartUpState1 = 0x08,
   107 	/**
   108 	Within this state all ROM based(static) components or resources
   109 	that are critical to the operation of the phone function are started.
   110 	*/
   111 	EStartupStateCriticalStatic = 0x10,
   112 	/**
   113 	@internalComponent
   114 	Reserved for future use.
   115 	*/
   116 	EReservedStartUpState2 = 0x18,
   117 	/**
   118 	Within this state all non-ROM based(dynamic) components or resources
   119 	that are critical to the operation of the phone function are started.
   120 	*/
   121 	EStartupStateCriticalDynamic = 0x20,
   122 	/**
   123 	Networking state.
   124 	*/
   125 	EStartupStateNetworkingCritical = 0x28,
   126 	/**
   127 	Within this state all ROM based(static) or non-ROM based(dynamic) components
   128 	or resources that are non-critical to the operation of the phone function
   129 	are started.
   130 	*/
   131 	EStartupStateNonCritical = 0x30,
   132 	/**
   133 	@internalComponent
   134 	Reserved for future use.
   135 	*/
   136 	EReservedStartUpState4 = 0x38,
   137 	/**
   138 	@internalComponent
   139 	Reserved for future use.
   140 	*/
   141 	EReservedStartUpState5 = 0x40
   142 	};
   143 
   144 /** Identifiers for each start-up method.
   145 
   146 @publishedPartner
   147 @deprecated Instead of this use TSsmExecutionBehaviour
   148 */
   149 enum TStartMethod
   150 	{
   151 	/**
   152 	By using this type the starter can continue immediately
   153 	with executing its next command.
   154 	*/
   155 	EFireAndForget = 1,
   156 	/**
   157 	By using this type the starter cannot continue with the
   158 	next command until a rendezvous has been made with the started process.
   159 	*/
   160 	EWaitForStart,
   161 	/**
   162 	By using this type the starter will continue with the next command
   163 	before a rendezvous has been made with the current command.
   164 	However the rendezvous will be checked later when a MULTIPLE_WAIT command
   165 	is encountered.
   166 	*/
   167 	EDeferredWaitForStart
   168 	};
   169 
   170 
   171 
   172 /** Identifier for the no of retries on state transition failure.
   173 
   174 @publishedPartner
   175 @deprecated 
   176 */
   177 enum TNoOfRetries
   178 	{
   179 	/**
   180  	On state transition failure do not re-attempt the transition.
   181 	*/
   182 	ERetry0,
   183 	/**
   184  	On state transition failure re-attempt the transition once.
   185 	*/
   186 	ERetry1
   187 	};
   188 
   189 
   190 /**  Identifier for the action to be taken on state transition
   191 failure (after a re-attempt has already been made if required).
   192 
   193 @publishedPartner
   194 @deprecated Instead of this use TSsmRecoveryMethod
   195 */
   196 enum TActionOnStateTransitionFailure
   197 	{
   198 	/**
   199  	Ignore the state transition failure. Carry on with actions
   200  	corresponding to the next state.
   201 	*/
   202 	EIgnoreFailure,
   203 
   204 	/**
   205  	Panic the system starter if state transition failed. This
   206  	will cause the device to re-boot.
   207 	*/
   208 	EPanicOnFailure
   209 	};
   210 
   211 /**  Identifier for the action to be taken on command failure.
   212 This is used with the fail_on_error fields within START_PROCESS_INFO, START_APP_INFO, START_DLL_INFO, and MULTIPLE_WAIT structures.
   213 These structures rely on this enum being a boolean value so it must not hold more than 2 values: EIgnoreCommandFailure=0 and EPanicOnCommandFailure=1.
   214 
   215 @publishedPartner
   216 @deprecated Instead of this use TSsmRecoveryMethod
   217 */
   218 enum TActionOnCommandFailure
   219 	{
   220 	/**
   221  	Ignore the command failure.
   222 	*/
   223 	EIgnoreCommandFailure,
   224 
   225 	/**
   226  	Panic the system starter if command fails. This
   227  	will cause the device to re-boot.
   228 	*/
   229 	EPanicOnCommandFailure
   230 	};
   231 
   232 /**  Identifier for the action to be taken on command failure.  
   233 This should be used to set the retry_failure_recovery_method when using START_PROCESS_INFO2 or START_APP_INFO2 structures
   234 
   235 @publishedPartner
   236 @deprecated Instead of this use TSsmRecoveryMethod
   237 */
   238 enum TRecoveryMethod
   239 	{
   240 	/**
   241 	Ignore the command failure
   242 	*/
   243 	EIgnoreOnFailure,
   244 	/**
   245 	Reboot the OS
   246 	*/
   247 	ERestartOS,
   248 	/**
   249 	Reboot the OS in a particular mode
   250 	*/
   251 	ERestartOSWithMode,
   252 	/**
   253 	Reboot the OS (with no attempts to restart the component being attempted)
   254 	*/
   255 	ECriticalNoRetries
   256 	};
   257 
   258 #endif	// __STARTUP_HRH__
   259