summaryrefslogtreecommitdiff
path: root/node-startup-controller/node-startup-controller-dbus.xml
blob: c3b0be18320e0117bdf3e4835395880f2c677a76 (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
<?xml version="1.0" encoding="UTF-8"?>
<!--
SPDX license identifier: MPL-2.0
Copyright (C) 2012, GENIVI

This file is part of node-startup-controller. 

This Source Code Form is subject to the terms of the 
Mozilla Public License (MPL), v. 2.0. 

If a copy of the MPL was not distributed with this file, 
You can obtain one at http://mozilla.org/MPL/2.0/. 

For further information see http://www.genivi.org/. 

List of changes: 

2015-04-30, Jonathan Maw, List of changes started

-->
<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>