api,manager: new InhibitDevice() method

This new method allows users of the ModemManager API to take full
control of a given device.

Unlike other operations in the API, the inhibition is maintained as
long as the caller exists in the bus, or until the same caller
uninhibits the device.

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/98
This commit is contained in:
Aleksander Morgado
2019-01-03 21:05:58 +01:00
parent e3766aef5d
commit 2212d3e054
8 changed files with 829 additions and 17 deletions
@@ -106,6 +106,27 @@
<arg name="properties" type="a{sv}" direction="in" />
</method>
<!--
InhibitDevice:
@uid: the unique ID of the physical device, given in the
#org.freedesktop.ModemManager1.Modem:Device property.
@inhibit: %TRUE to inhibit the modem and %FALSE to uninhibit it.
Inhibit or uninhibit the device.
When the modem is inhibited ModemManager will close all its ports and
unexport it from the bus, so that users of the interface are no longer
able to operate with it.
This operation binds the inhibition request to the existence of the
caller in the DBus bus. If the caller disappears from the bus, the
inhibition will automatically removed.
-->
<method name="InhibitDevice">
<arg name="uid" type="s" direction="in" />
<arg name="inhibit" type="b" direction="in" />
</method>
<!--
Version: