summaryrefslogtreecommitdiff
path: root/node-startup-controller/node-startup-controller-dbus.xml
blob: c704337c342bf676e1d0e695aefe731b143b8c67 (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
<?xml version="1.0" encoding="UTF-8"?>
<node name="/org/genivi/NodeStartupController1/NodeStartupController">
  <!--
    org.genivi.NodeStartupController1.NodeStartupController:
    @short_description: Interface for managing the GENIVI LUC (Last User Context)

    The GENIVI Node Startup Controller remembers applications that were used
    in the last session of a user. It is used in order to restore these
    applications on the next start-up.

    The Node Startup Controller is a passive component in the sense that it
    does not remember applications on its own; instead, applications need to
    register and deregister themselves proactively.

    Applications can be registered for different LUC types, the standard ones
    being "foreground", "background" and "audible".
  -->
  <interface name="org.genivi.NodeStartupController1.NodeStartupController">
    <!--
      BeginLUCRegistration:

      Initialises the LUC registration sequence at shutdown in order to register
      the applications which are running in the LUC in this moment.
    -->
    <method name="BeginLUCRegistration">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
    </method>

    <!--
      RegisterWithLUC:
      @apps: A dictionary that maps LUC types to arrays of application unit names.

      Registers one or more applications for certain LUC types. Applications may
      be listed multiple times. For LUC types where only a single application may
      be registered at a time, the last application in the corresponding list wins.

      An example for the apps parameter would be:

        {
          0 : [ "app1.unit" ],
          1 : [ "app2.unit", "app3.unit" ],
          2 : [ "app3.unit" ]
        }

     where 0 = "foreground", 1 = background , 2 = "audible"
    -->
    <method name="RegisterWithLUC">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
      <arg name="apps" type="a{ias}" direction="in"/>
    </method>

    <!--
      FinishLUCRegistration:

      Finishes the LUC registration sequence and atomically replaces the
      previous LUC.
    -->
    <method name="FinishLUCRegistration">
      <annotation name="org.freedesktop.DBus.GLib.Async" value="true"/>
    </method>
  </interface>
</node>