~upstart-devel/upstart/trunk

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
<?xml version="1.0" encoding="UTF-8" ?>
<!-- upstart

     com.ubuntu.Upstart.Job.xml - interface definition for job objects

     Copyright © 2010 Canonical Ltd.
     Author: Scott James Remnant <scott@netsplit.com>.

     This file is free software; Canonical Ltd gives unlimited permission
     to copy and/or distribute it, with or without modifications, as long
     as this notice is preserved.

     Communication and interaction with Upstart through this interface is
     permitted without restriction.
  -->

<!DOCTYPE node PUBLIC
  "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
  "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">

<node>
  <interface name="com.ubuntu.Upstart0_6.Job">
    <!-- Get object paths for instances, while you can figure these out too,
         it's still better form to use these -->
    <method name="GetInstance">
      <arg name="env" type="as" direction="in" />
      <arg name="instance" type="o" direction="out" />
    </method>
    <method name="GetInstanceByName">
      <arg name="name" type="s" direction="in" />
      <arg name="instance" type="o" direction="out" />
    </method>
    <method name="GetAllInstances">
      <arg name="instances" type="ao" direction="out" />
    </method>

    <!-- Signals for changes to the instance list for a job -->
    <signal name="InstanceAdded">
      <arg name="instance" type="o" />
    </signal>
    <signal name="InstanceRemoved">
      <arg name="instance" type="o" />
    </signal>

    <!-- Job control; the environment arguments are used for both instance
         selection and for passing environment to the processes of the job. -->
    <method name="Start">
      <annotation name="com.netsplit.Nih.Method.Async" value="true" />
      <arg name="env" type="as" direction="in" />
      <arg name="wait" type="b" direction="in" />
      <arg name="instance" type="o" direction="out" />
    </method>
    <method name="Stop">
      <annotation name="com.netsplit.Nih.Method.Async" value="true" />
      <arg name="env" type="as" direction="in" />
      <arg name="wait" type="b" direction="in" />
    </method>
    <method name="Restart">
      <annotation name="com.netsplit.Nih.Method.Async" value="true" />
      <arg name="env" type="as" direction="in" />
      <arg name="wait" type="b" direction="in" />
      <arg name="instance" type="o" direction="out" />
    </method>

    <!-- Basic information about a Job -->
    <property name="name" type="s" access="read" />
    <property name="description" type="s" access="read" />
    <property name="author" type="s" access="read" />
    <property name="version" type="s" access="read" />
    <property name="usage" type="s" access="read" />

    <!-- Information about a job's relationship with Events -->
    <property name="start_on" type="aas" access="read" />
    <property name="stop_on" type="aas" access="read" />
    <property name="emits" type="as" access="read" />
  </interface>
</node>