summaryrefslogtreecommitdiff
path: root/NodeStateAccessStub/model/org.genivi.NodeStateManager.LifecycleControl.xml
blob: c8b45da53248484767f207de76601edb7097f53a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<!--  Auto-Generated interface from Rhapsody: 'Repository::ssw_LifecycleSupport::NodeStateManagement::Concept::Interface::INSM_LifecycleControl' -->
<!--  Created at 2012-06-01 09:36:05 by uid65904 -->

<node>
  <!--
	org.genivi.NodeStateManager.LifecycleControl:
	@short_description: "Control" interface of the NodeStateManager.
	
	This interface contains functions, which have direct influence on the system state and therefore have to be handled with care. The interface can only be used by certain clients, which need to be configured in the D-Bus configuration.
  -->
  <interface name="org.genivi.NodeStateManager.LifecycleControl">
    <!-- 
    	RequestNodeRestart:
    	@RestartReason: The passed value will be based upon the enum NsmRestartReason_e.
    	@RestartType:   This is the type of restart that is required, i.e. during Coding process it is normal for a fast shutdown to be	requested whereas other Diagnosis restart requests would be normal. Possible values are NSM_SHUTDOWNTYPE_FAST and NSM_SHUTDOWNTYPE_NORMAL.
    	@ErrorCode:     Return value passed to the caller, based upon NsmErrorStatus_e.

    	The method is used by other applications to request a restart of the node.
    -->
    <method name="RequestNodeRestart">
      <arg name="RestartReason" direction="in" type="i"/> 
      <arg name="RestartType" direction="in" type="u"/>
      <arg name="ErrorCode" direction="out" type="i"/>
    </method>

    <!-- 
    	SetApplicationMode:
    	@ApplicationModeId: This parameter will be based upon the NsmNodeApplicationMode_e.
    	@ErrorCode:         Return value passed to the caller, based upon NsmErrorStatus_e.
    
    	The method is used by other applications to set the application mode.
    -->
    <method name="SetApplicationMode">
      <arg name="ApplicationModeId" direction="in" type="i"/>
      <arg name="ErrorCode" direction="out" type="i"/>
    </method>

    <!-- 
    	SetNodeState:
    	@NodeStateId: The passed value will be based upon the enum NsmNodeState_e.
    	@ErrorCode:   Return value passed to the caller, based upon NsmErrorStatus_e.
    
    	The method is used by other applications to set the NodeState. When this method is called to change the current NodeState a signal will be sent to notify registered consumers of the new state.
    -->
    <method name="SetNodeState">
      <arg name="NodeStateId" direction="in" type="i"/>
      <arg name="ErrorCode" direction="out" type="i"/>
    </method>

    <!-- 
    	SetBootMode:
    	@BootMode:   New BootMode to be set. The values will be defined by a third party header, which has not been delivered yet. The description needs to be updated as soon as the header is available.
    	@ErrorCode:  Return value passed to the caller, based upon NsmErrorStatus_e.
    
    	The method has been introduced, because the property "BootMode" can only be read by other applications. Nevertheless there are some exceptions where the property should be set by a restricted set of applications which will be handled within this method.
    -->
    <method name="SetBootMode">
      <arg name="BootMode" direction="in" type="i"/>
      <arg name="ErrorCode" direction="out" type="i"/>
    </method>

    <!-- 
    	SetAppHealthStatus:
    	@AppName:    This parameter can be used to give the name of the application that has failed (this must be the applications systemd unit name).
    	@AppRunning: The AppState will be FALSE for failed and TRUE for running.
    	@ErrorCode:  Return value passed to the caller, based upon NsmErrorStatus_e.
    
    	This method will be used by the Node Health Monitor to report to the NSM if an application has failed and if it is running again. Internally the NSM will use this information to keep a count of the number of failed applications within the current lifecycle. Additionally it will unset any sessions that the failing application may have had active. It will also be possible for the product node state machine to make a decision on what to do with this information, i.e. even reset the node or reset the node if too many applications have failed.
    -->
    <method name="SetAppHealthStatus">
      <arg name="AppName"    direction="in"  type="s"/>
      <arg name="AppRunning" direction="in"  type="b"/>
      <arg name="ErrorCode"  direction="out" type="i"/>
    </method>

    <!-- 
    	CheckLucRequired:
    	@LucWanted: This will be a simple TRUE or FALSE to define whether the LUC is wanted in the current Lifecycle.
    
    	This method will be called exclusivley by the Boot Manager to find out whether the LUC Applications should be started in the current Lifecycle. This is required whilst in certain Node Application Modes (i.e. Transport, Factory) we do not want the LUC Applications started.
    -->
    <method name="CheckLucRequired">
      <arg name="LucWanted" direction="out" type="b"/>
    </method>

  </interface>
</node>