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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
<?xml version="1.0" encoding="UTF-8" ?>
<!--
ModemManager 0.6 Interface Specification
Copyright (C) 2008 Novell, Inc.
Copyright (C) 2008-2011 Red Hat, Inc.
Copyright (C) 2011 The Chromium OS Authors
Copyright (C) 2011 Google, Inc.
-->
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
<!--
org.freedesktop.ModemManager1.Modem.Firmware:
@short_description: The ModemManager Firmware interface.
This interface allows clients to select or install firmware images on
modems.
Firmware slots and firmware images are identified by arbitrary opaque
strings.
Firmware images are represented as dictionaries of properties.
Certain properties are pre-defined, and some are required:
<variablelist>
<varlistentry><term><literal>"name"</literal></term>
<listitem>
(Required) A user-readable name for the firmware image, given as a
string value (signature <literal>"s"</literal>).
</listitem>
</varlistentry>
<varlistentry><term><literal>"version"</literal></term>
<listitem>
(Optional) The version of the firmware, given as a string value
(signature <literal>"s"</literal>). The format is
unspecified; tools attempting to upgrade firmware automatically must
understand the versioning scheme used by the modem driver they are
interacting with.
</listitem>
</varlistentry>
</variablelist>
-->
<interface name="org.freedesktop.ModemManager1.Modem.Firmware">
<!--
List:
@selected: The identifier of the selected firmware slot, or the empty string if no slot is selected (such as if all slots are empty, or no slots exist).
@installed: A dictionary of slots into which firmware is and/or can be installed. The key of each entry is the identifier of the slot, and the value is either an empty dictionary if the slot is empty, or a dictionary of properties of the firmware image installed in that slot. The slot identifiers and the mapping between slots and firmware images are guaranteed to remain stable only as long as the modem remains present.
@available: A dictionary of available firmware images. The key of each entry is the identifier of the image, and the value is a dictionary of properties of the image. The image identifiers are guaranteed to remain stable only as long as the modem remains present.
List installed and available firmware images.
Depending on the type of modem, installed images may be stored on the
host or the modem. The distinction between @installed and
@available is not one of where the firmware is stored, but that
installed images can be selected non-destructively, while available
images must be installed into a slot, possibly overwriting another
installed image.
-->
<method name="List">
<arg name="selected" type="s" direction="out" />
<arg name="installed" type="a{sa{sv}}" direction="out" />
<arg name="available" type="a{sa{sv}}" direction="out" />
</method>
<!--
Select:
@slot: The identifier of the firmware slot to select.
Selects a different firmware image to use, and immediately resets the
modem so that it begins using the new firmware image.
The method will fail if the identifier does not match any of the slot
identifiers returned by
<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List">List()</link>,
or if the slot could not be selected for some reason.
-->
<method name="Select">
<arg name="slot" type="s" direction="in" />
</method>
<!--
Install:
@image: The identifier of the firmware image to install.
@slot: The identifier of the slot into which the firmware should be installed.
Install an available firmware image into a slot.
It does not guarantee that the image will be installed into the
specified slot, but does guarantee that, if the slot is empty, no
image will be overwritten, and if the slot is not empty, no image
other than the one in that slot will be overwritten.
The method will fail if either of the identifiers is invalid, or if the
image could not be installed into the slot for some reason.
-->
<method name="Install">
<arg name="image" type="s" direction="in" />
<arg name="slot" type="s" direction="in" />
</method>
</interface>
</node>
|