systemhealthmanagement/systemhealthmgr/inc/startup.rh
changeset 0 4e1aa6a622a0
equal deleted inserted replaced
-1:000000000000 0:4e1aa6a622a0
       
     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 // TThis file has been deprecated and instead of this use ssmcmd.rh
       
    15 // This file contains the basic definitions required for the system starter. It should be
       
    16 // included by all resources files used to drive the starter. This file can be replaced, but
       
    17 // any replacement must implement anything marked "REQUIRED".
       
    18 // DO NOT PUT RESOURCE STATEMENTS IN THIS FILE!
       
    19 // 
       
    20 //
       
    21 
       
    22 #include "startup.hrh"
       
    23 #include "e32modes.h"
       
    24 
       
    25 /**
       
    26 @publishedPartner
       
    27 @deprecated Instead of this use SSM_COMMAND_LIST_ROOT
       
    28 
       
    29 REQUIRED:
       
    30 Entry point used by the starter to find the first STAGE_INFO structure.
       
    31 The starter looks for a resource of this type with a resource id of 1 and uses
       
    32 the link to find the first state info resource
       
    33 **/
       
    34 STRUCT STARTUP_ENTRY_POINT
       
    35 	{
       
    36     	LLINK entry_point = 0;
       
    37 	}
       
    38 
       
    39 /**
       
    40 @publishedPartner
       
    41 @deprecated Instead of this use SSM_PUBLISH_SYSTEM_STATE
       
    42 
       
    43 REQUIRED:
       
    44 This structure defines the information needed by a startup state. The
       
    45 STARTUP_ENTRY_POINT member "entry_point" MUST point to a STATE_INFO resource
       
    46 **/
       
    47 STRUCT STATE_INFO
       
    48 	{
       
    49     BYTE id = 0;		// VALUE REQUIRED: must be defined and unique
       
    50     LTEXT name = "";
       
    51     LLINK command_list = 0;	// VALUE REQUIRED: must point to a COMMAND_ARRAY resource
       
    52     LLINK next = 0;		// VALUE REQUIRED: must point to a STATE_INFO resource (or be 0)
       
    53 
       
    54     // specify how many times to re-attempt state change after a state transition failure.
       
    55     // (Can be ERetry0 or ERetry1)
       
    56     WORD no_of_retries_on_failure = ERetry0;
       
    57 
       
    58     // Specify action when state transition fails after the specified number of retries.
       
    59     // (Can be EIgnoreFailure or EPanicOnFailure).
       
    60     WORD action_on_failure = EIgnoreFailure;
       
    61 	}
       
    62 
       
    63 /**
       
    64 @publishedPartner
       
    65 @deprecated Instead of this use  SSM_START_PROCESS_INFO
       
    66 
       
    67 Structures that can go in the COMMAND_ARRAY.
       
    68 REQUIRED: any structure added here must start with a WORD item,
       
    69 which is initialised with a unique value for that structure (see enumeration
       
    70 TStartupCommandType declared in startup.hrh)
       
    71 Must also have a valid path to a process to start.
       
    72 **/
       
    73 STRUCT START_PROCESS_INFO					// For starting processes
       
    74 	{
       
    75 	WORD type = EStartupProcess;			// do not change
       
    76 	LTEXT path = "";						// VALUE REQUIRED
       
    77 	LTEXT args = "";						// Passed to the command line of the started process
       
    78 	WORD start_method = EFireAndForget;		// can also be EWaitForStart or EDeferredWaitForStart
       
    79 	LONG timeout = 0;						// In milliseconds only used for EWaitForStart
       
    80 	WORD fail_on_error = EPanicOnCommandFailure; // can be EIgnoreCommandFailure
       
    81 	WORD no_of_retries_on_failure = 0; 		// only used for EWaitForStart
       
    82 	}
       
    83 
       
    84 /** This should be used instead of START_PROCESS_INFO if monitoring or advanced recovery options are desired.
       
    85 @publishedPartner
       
    86 @deprecated Instead of this use SSM_START_PROCESS_INFO
       
    87 **/
       
    88 STRUCT START_PROCESS_INFO2                                       // For starting processes
       
    89 	{
       
    90 	WORD type = EStartupProcess2;			// do not change
       
    91 	LTEXT path = "";						// VALUE REQUIRED
       
    92 	LTEXT args = "";						// Passed to the command line of the started process
       
    93 	WORD start_method = EFireAndForget;		// can also be EWaitForStart or EDeferredWaitForStart
       
    94 	LONG timeout = 0;						// In milliseconds only used for EWaitForStart
       
    95 	WORD retry_failure_recovery_method = ERestartOS; 	// can also be EIgnoreOnFailure or ERestartOSWithMode
       
    96 	WORD no_of_retries_on_failure = 0; 		// only used for EWaitForStart
       
    97 	WORD monitor = 0;  						// can be 1 if monitoring required
       
    98 	WORD retry_failure_recovery_startup_mode = EStartupModeUndefined;
       
    99 	}
       
   100 
       
   101 
       
   102 /**
       
   103 @publishedPartner
       
   104 @deprecated Instead of this use SSM_START_APP_INFO
       
   105 **/
       
   106 STRUCT START_APP_INFO						// For starting apps
       
   107 	{
       
   108 	WORD type = EStartupApp;				// do not change
       
   109 	LTEXT path = "";						// VALUE REQUIRED
       
   110 	LTEXT args = "";						// Ignored for backward compatibility
       
   111 	WORD start_method = EFireAndForget; 	// can also be EWaitForStart or EDeferredWaitForStart
       
   112 	WORD viewless = 0;   					// can be 1
       
   113 	WORD start_in_background = 0; 			// can be 1
       
   114 	LONG timeout = 0;						// In milliseconds only used for EWaitForStart
       
   115 	WORD fail_on_error = EPanicOnCommandFailure; // can be EIgnoreCommandFailure
       
   116 	WORD no_of_retries_on_failure = 0;  	// only used for EWaitForStart
       
   117 	}
       
   118 
       
   119 /** This should be used instead of START_APP_INFO if monitoring or advanced recovery options are desired.
       
   120 @publishedPartner
       
   121 @deprecated Instead of this use SSM_START_APP_INFO
       
   122 **/
       
   123 STRUCT START_APP_INFO2						// For starting apps
       
   124 	{
       
   125 	WORD type = EStartupApp2;				// do not change
       
   126 	LTEXT path = "";						// VALUE REQUIRED
       
   127 	LTEXT args = "";						// Passed to the "Tail End" of the application command line
       
   128 	WORD start_method = EFireAndForget; 	// can also be EWaitForStart or EDeferredWaitForStart
       
   129 	WORD viewless = 0;   					// can be 1
       
   130 	WORD start_in_background = 0; 			// can be 1
       
   131 	LONG timeout = 0;						// In milliseconds only used for EWaitForStart
       
   132 	WORD retry_failure_recovery_method = ERestartOS; 	// can also be EIgnoreOnFailure or ERestartOSWithMode
       
   133 	WORD no_of_retries_on_failure = 0;  	// only used for EWaitForStart
       
   134 
       
   135 	WORD monitor = 0;  						// can be 1 if monitoring required
       
   136 	WORD retry_failure_recovery_startup_mode = EStartupModeUndefined;
       
   137 	}
       
   138 
       
   139 
       
   140 /**
       
   141 @publishedPartner
       
   142 @deprecated Instead of this use SSM_SET_PUBLISH_AND_SUBSCRIBE 
       
   143 **/
       
   144 STRUCT SPLASH_SCREEN			// For starting or killing the splash screen
       
   145 	{
       
   146 	WORD type = EStartupSplashScreen;	// Must not be changed
       
   147 	// EITHER specify kill = 1 OR give the path to the splash exe
       
   148 	WORD kill = 0;
       
   149 	LTEXT path = "";
       
   150 	}
       
   151 
       
   152 /**
       
   153 This command is used to force apparc server to initialise its list with information 
       
   154 about installed applications. This command is added anywhere after apparc server 
       
   155 is started to get past the stage where all app info is not yet available.
       
   156 
       
   157 Apparc must be initialised to support rule-based launching and launching of 
       
   158 non-native applications.
       
   159 
       
   160 @publishedPartner
       
   161 @deprecated Instead of this use SSM_START_APP_INFO
       
   162 **/
       
   163 STRUCT INIT_APPARC
       
   164 	{
       
   165 	WORD type = EInitAppArcServer;
       
   166 	}
       
   167 
       
   168 /**
       
   169 This command is used for starting a function within a custom DLL using the
       
   170 ordinal specified.
       
   171 
       
   172 @publishedPartner
       
   173 @deprecated Instead of this use SSM_START_CUSTOM_COMMAND 
       
   174 **/
       
   175 STRUCT START_DLL_INFO
       
   176 	{
       
   177 	WORD type = EStartupDLL;		// Must not be changed
       
   178 	LTEXT DLLName = ""; 	// VALUE REQUIRED.
       
   179 							// DLL name (without the .dll extension).
       
   180 	BYTE ordinal = 1; // VALUE REQUIRED
       
   181  	WORD fail_on_error = EPanicOnCommandFailure; // can be EIgnoreCommandFailure
       
   182 	BYTE no_of_retries_on_failure = 0; // Re-attempts to make if DLL fails to
       
   183 	                                   // load or the DLL function returns an
       
   184 	                                   // error code
       
   185 	LLINK custom_dll_data_link = 0; // VALUE REQUIRED. link to the licensee specific dll data
       
   186 	}
       
   187 
       
   188 /**
       
   189 This command checks that processes/apps previously started with start_method
       
   190 EDeferredWaitForStart have now made a rendezvous. A timer can be started and if
       
   191 all deferred commands have not started the action specified in the fail_on_error
       
   192 field is taken.
       
   193 If the timeout value is zero the system will wait indefinitely until all deferred
       
   194 commands have completed.
       
   195 
       
   196 @publishedPartner
       
   197 @deprecated Instead of this use SSM_MULTIPLE_WAIT
       
   198 **/
       
   199 STRUCT MULTIPLE_WAIT
       
   200 	{
       
   201 	WORD type = EMultipleWait; // Must not be changed
       
   202 	LONG timeout = 0; // In milliseconds.
       
   203  	WORD fail_on_error = EPanicOnCommandFailure ; // can be EIgnoreCommandFailure
       
   204 	}
       
   205 
       
   206 /**
       
   207 @publishedPartner
       
   208 @deprecated Instead of this use SSM_START_AMA_STARTER
       
   209 **/
       
   210 STRUCT START_AMA_STARTER			// For starting AMAStarter with a particular DSC
       
   211 	{
       
   212 	WORD type = EStartupAMAStarter;		// Must not be changed
       
   213 	LONG dsc_id = 0x2000836D;		// DSC id for AMAStarter
       
   214 	}
       
   215 
       
   216 /**
       
   217 @publishedPartner
       
   218 @deprecated Instead of this use SSM_COMMAND_LIST
       
   219 
       
   220 REQUIRED: Lists the commands to be executed in a given startup state.
       
   221 **/
       
   222 STRUCT COMMAND_ARRAY
       
   223     {
       
   224     STRUCT commands[];
       
   225     }