summaryrefslogtreecommitdiff
path: root/common/nsm-consumer-dbus.xml
blob: dd459f2557fd58c485c5764c323fe81a9c0aa065 (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
<?xml version="1.0" encoding="UTF-8"?>
<node>
  <!--
    com.contiautomotive.NodeStateManager.Consumer:
    @short_description: Interface for testing the interaction between the
                        Node Startup Controller and the Node State Manager.
                        It is an excerpt of
                        "com.contiautomotive.NodeStateManager.LifecycleControl"
                        using only the methods needed to test the NSC.
  -->
  <interface name="com.contiautomotive.NodeStateManager.Consumer">
    <!--
      RegisterShutdownClient:
      @BusName: Bus name of remote application.
      @ObjName: Object name of remote object that provides the shutdown
                interface
      @ShutdownMode: Shutdown mode for which client wants to be informed
                     (i.e normal, fast etc)
      @TimeoutsMs:  Max. Timeout to wait for response from shutdown client.
      @ErrorCode

      The method is used by other applications to register themselves as
      shutdown client. Any client that registers must provide a method in
      their DBUS object called NSMLifecycleRequest. This method will take one
      parameter which is the Lifecycle Request (i.e. normal shutdown, fast
      shutdown, runup). For an example of the required client interface
      please see the Node Startup Controller, which will be a client of
      the NSM.
    -->
    <method name="RegisterShutdownClient">
      <arg name="BusName" direction="in" type="s"/>
      <arg name="ObjName" direction="in" type="s"/>
      <arg name="ShutdownMode" direction="in" type="i"/>
      <arg name="TimeoutMs" direction="in" type="u"/>
      <arg name="ErrorCode" direction="out" type="i"/>
    </method>

    <!--
      UnRegisterShutdownClient
      @BusName: Bus name of remote application.
      @ObjName: Object name of remote object that provides the shutdown
                interface
      @ShutdownMode: Shutdown mode for which client wants to be informed
                     (i.e normal, fast etc)
      @TimeoutsMs:  Max. Timeout to wait for response from shutdown client.
      @ErrorCode

      The method is used by other applications to unregister themselves as
      shutdown client.
    -->
    <method name="UnRegisterShutdownClient">
      <arg name="BusName" direction="in" type="s"/>
      <arg name="ObjName" direction="in" type="s"/>
      <arg name="ShutdownMode" direction="in" type="i"/>
      <arg name="ErrorCode" direction="out" type="i"/>
    </method>

    <!--
        LifecycleRequestComplete:
        @RequestId: The request Id of the called life cycle client. The value
                    has been passed when "LifecycleRequest" was called.
        @Status:    The result of the call to "LifecycleRequest".
                    NsmErrorStatus_Ok: Request successfully processed.
                    NsmErrorStatus_Error: An error occured while processing
                      the "LifecycleRequest".
        @ErrorCode: Return value passed to the caller, based upon NsmErrorStatus_e.

        The function has to be called asynchrounously by a lifecycle client
        when it has processed an earlier LifecycleRequest.
    -->
    <method name="LifecycleRequestComplete">
      <arg name="RequestId" direction="in" type="u"/>
      <arg name="Status"    direction="in" type="i"/>
      <arg name="ErrorCode" direction="out" type="i"/>
    </method>

  </interface>
</node>