]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/core/dbus-unit.h
systemctl: honour inhibitors only when running unprivileged
[thirdparty/systemd.git] / src / core / dbus-unit.h
CommitLineData
03467c88 1/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
4139c1b2 2
c2f1db8f 3#pragma once
4139c1b2
LP
4
5/***
6 This file is part of systemd.
7
8 Copyright 2010 Lennart Poettering
9
10 systemd is free software; you can redistribute it and/or modify it
5430f7f2
LP
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
4139c1b2
LP
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5430f7f2 18 Lesser General Public License for more details.
4139c1b2 19
5430f7f2 20 You should have received a copy of the GNU Lesser General Public License
4139c1b2
LP
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22***/
23
24#include <dbus/dbus.h>
25
26#include "manager.h"
d200735e 27#include "dbus-common.h"
4139c1b2
LP
28
29#define BUS_UNIT_INTERFACE \
4288f619
LP
30 " <interface name=\"org.freedesktop.systemd1.Unit\">\n" \
31 " <method name=\"Start\">\n" \
32 " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
33 " <arg name=\"job\" type=\"o\" direction=\"out\"/>\n" \
34 " </method>\n" \
35 " <method name=\"Stop\">\n" \
36 " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
37 " <arg name=\"job\" type=\"o\" direction=\"out\"/>\n" \
38 " </method>\n" \
6f28c033
LP
39 " <method name=\"Reload\">\n" \
40 " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
41 " <arg name=\"job\" type=\"o\" direction=\"out\"/>\n" \
42 " </method>\n" \
4288f619
LP
43 " <method name=\"Restart\">\n" \
44 " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
45 " <arg name=\"job\" type=\"o\" direction=\"out\"/>\n" \
46 " </method>\n" \
9a1ac7b9
LP
47 " <method name=\"TryRestart\">\n" \
48 " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
49 " <arg name=\"job\" type=\"o\" direction=\"out\"/>\n" \
50 " </method>\n" \
6f28c033
LP
51 " <method name=\"ReloadOrRestart\">\n" \
52 " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
53 " <arg name=\"job\" type=\"o\" direction=\"out\"/>\n" \
54 " </method>\n" \
55 " <method name=\"ReloadOrTryRestart\">\n" \
4288f619
LP
56 " <arg name=\"mode\" type=\"s\" direction=\"in\"/>\n" \
57 " <arg name=\"job\" type=\"o\" direction=\"out\"/>\n" \
58 " </method>\n" \
8a0867d6
LP
59 " <method name=\"Kill\">\n" \
60 " <arg name=\"who\" type=\"s\" direction=\"in\"/>\n" \
8a0867d6
LP
61 " <arg name=\"signal\" type=\"i\" direction=\"in\"/>\n" \
62 " </method>\n" \
63 " <method name=\"ResetFailed\"/>\n" \
4288f619
LP
64 " <property name=\"Id\" type=\"s\" access=\"read\"/>\n" \
65 " <property name=\"Names\" type=\"as\" access=\"read\"/>\n" \
8fe914ec 66 " <property name=\"Following\" type=\"s\" access=\"read\"/>\n" \
4288f619
LP
67 " <property name=\"Requires\" type=\"as\" access=\"read\"/>\n" \
68 " <property name=\"RequiresOverridable\" type=\"as\" access=\"read\"/>\n" \
69 " <property name=\"Requisite\" type=\"as\" access=\"read\"/>\n" \
70 " <property name=\"RequisiteOverridable\" type=\"as\" access=\"read\"/>\n" \
71 " <property name=\"Wants\" type=\"as\" access=\"read\"/>\n" \
7f2cddae 72 " <property name=\"BindsTo\" type=\"as\" access=\"read\"/>\n" \
4288f619
LP
73 " <property name=\"RequiredBy\" type=\"as\" access=\"read\"/>\n" \
74 " <property name=\"RequiredByOverridable\" type=\"as\" access=\"read\"/>\n" \
75 " <property name=\"WantedBy\" type=\"as\" access=\"read\"/>\n" \
b81884e7 76 " <property name=\"BoundBy\" type=\"as\" access=\"read\"/>\n" \
4288f619 77 " <property name=\"Conflicts\" type=\"as\" access=\"read\"/>\n" \
69dd2852 78 " <property name=\"ConflictedBy\" type=\"as\" access=\"read\"/>\n" \
4288f619
LP
79 " <property name=\"Before\" type=\"as\" access=\"read\"/>\n" \
80 " <property name=\"After\" type=\"as\" access=\"read\"/>\n" \
5de9682c 81 " <property name=\"OnFailure\" type=\"as\" access=\"read\"/>\n" \
4dcc1cb4
LP
82 " <property name=\"Triggers\" type=\"as\" access=\"read\"/>\n" \
83 " <property name=\"TriggeredBy\" type=\"as\" access=\"read\"/>\n" \
7f2cddae
LP
84 " <property name=\"PropagatesReloadTo\" type=\"as\" access=\"read\"/>\n" \
85 " <property name=\"ReloadPropagatedFrom\" type=\"as\" access=\"read\"/>\n" \
7c8fa05c 86 " <property name=\"RequiresMountsFor\" type=\"as\" access=\"read\"/>\n" \
4288f619 87 " <property name=\"Description\" type=\"s\" access=\"read\"/>\n" \
1b64d026 88 " <property name=\"SourcePath\" type=\"s\" access=\"read\"/>\n" \
49dbfa7b 89 " <property name=\"Documentation\" type=\"as\" access=\"read\"/>\n" \
4288f619
LP
90 " <property name=\"LoadState\" type=\"s\" access=\"read\"/>\n" \
91 " <property name=\"ActiveState\" type=\"s\" access=\"read\"/>\n" \
92 " <property name=\"SubState\" type=\"s\" access=\"read\"/>\n" \
93 " <property name=\"FragmentPath\" type=\"s\" access=\"read\"/>\n" \
a4375746 94 " <property name=\"UnitFileState\" type=\"s\" access=\"read\"/>\n" \
4288f619 95 " <property name=\"InactiveExitTimestamp\" type=\"t\" access=\"read\"/>\n" \
b21a0ef8 96 " <property name=\"InactiveExitTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \
4288f619 97 " <property name=\"ActiveEnterTimestamp\" type=\"t\" access=\"read\"/>\n" \
b21a0ef8 98 " <property name=\"ActiveEnterTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \
4288f619 99 " <property name=\"ActiveExitTimestamp\" type=\"t\" access=\"read\"/>\n" \
b21a0ef8 100 " <property name=\"ActiveExitTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \
4288f619 101 " <property name=\"InactiveEnterTimestamp\" type=\"t\" access=\"read\"/>\n" \
b21a0ef8 102 " <property name=\"InactiveEnterTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \
4288f619 103 " <property name=\"CanStart\" type=\"b\" access=\"read\"/>\n" \
b5e9dba8 104 " <property name=\"CanStop\" type=\"b\" access=\"read\"/>\n" \
c8f4d764 105 " <property name=\"CanReload\" type=\"b\" access=\"read\"/>\n" \
2528a7a6 106 " <property name=\"CanIsolate\" type=\"b\" access=\"read\"/>\n" \
4288f619 107 " <property name=\"Job\" type=\"(uo)\" access=\"read\"/>\n" \
b4a16b7b 108 " <property name=\"StopWhenUnneeded\" type=\"b\" access=\"read\"/>\n" \
b5e9dba8
LP
109 " <property name=\"RefuseManualStart\" type=\"b\" access=\"read\"/>\n" \
110 " <property name=\"RefuseManualStop\" type=\"b\" access=\"read\"/>\n" \
c8f4d764 111 " <property name=\"AllowIsolate\" type=\"b\" access=\"read\"/>\n" \
a68c7a7a 112 " <property name=\"DefaultDependencies\" type=\"b\" access=\"read\"/>\n" \
c8f4d764
LP
113 " <property name=\"OnFailureIsolate\" type=\"b\" access=\"read\"/>\n" \
114 " <property name=\"IgnoreOnIsolate\" type=\"b\" access=\"read\"/>\n" \
7a6000a6 115 " <property name=\"IgnoreOnSnapshot\" type=\"b\" access=\"read\"/>\n" \
4288f619 116 " <property name=\"DefaultControlGroup\" type=\"s\" access=\"read\"/>\n" \
dcafddbc 117 " <property name=\"ControlGroup\" type=\"as\" access=\"read\"/>\n" \
d8bbda91 118 " <property name=\"ControlGroupAttributes\" type=\"a(sss)\" access=\"read\"/>\n" \
45fb0699 119 " <property name=\"NeedDaemonReload\" type=\"b\" access=\"read\"/>\n" \
faf919f1 120 " <property name=\"JobTimeoutUSec\" type=\"t\" access=\"read\"/>\n" \
90bbc946 121 " <property name=\"ConditionTimestamp\" type=\"t\" access=\"read\"/>\n" \
b21a0ef8 122 " <property name=\"ConditionTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \
90bbc946 123 " <property name=\"ConditionResult\" type=\"b\" access=\"read\"/>\n" \
9f39404c 124 " <property name=\"LoadError\" type=\"(ss)\" access=\"read\"/>\n" \
4288f619 125 " </interface>\n"
4139c1b2 126
05feefe0
LP
127#define BUS_UNIT_INTERFACES_LIST \
128 BUS_GENERIC_INTERFACES_LIST \
129 "org.freedesktop.systemd1.Unit\0"
130
d200735e 131extern const BusProperty bus_unit_properties[];
4139c1b2 132
4139c1b2
LP
133void bus_unit_send_change_signal(Unit *u);
134void bus_unit_send_removed_signal(Unit *u);
135
cad45ba1
LP
136
137DBusHandlerResult bus_unit_queue_job(
138 DBusConnection *connection,
139 DBusMessage *message,
140 Unit *u,
141 JobType type,
142 JobMode mode,
143 bool reload_if_possible);
144
4139c1b2
LP
145extern const DBusObjectPathVTable bus_unit_vtable;
146
4288f619 147extern const char bus_unit_interface[];