api,introspection: new 'Ports' property in the Modem interface

We will expose a new 'Ports' property listing all ports currently known by a
given modem. Ports which are not used but are detected as being part of the
modem will be listed with an 'unknown' port type.

This change uses the new 'MMModemPortType' enum and the new 'MMModemPortInfo'
helper struct to handle these values in libmm-glib. The already available
'MMPortType' enum hasn't been re-used for the interface because it contains
values that we don't need (e.g. IGNORED).

The port list is now also included in the modem information command of mmcli:

$ sudo mmcli -m 0

/org/freedesktop/ModemManager1/Modem/0 (device id '97b7b99e3e2bea103880545b619fb05a3cc81b26')
  -------------------------
  System   |         device: '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4'
           |        drivers: 'qcserial, qmi_wwan'
           |         plugin: 'Gobi'
           |   primary port: 'cdc-wdm0'
           |          ports: 'ttyUSB0 (qcdm), ttyUSB1 (at), cdc-wdm0 (qmi), wwp0s29u1u4 (net)'

https://bugzilla.gnome.org/show_bug.cgi?id=702678
This commit is contained in:
Aleksander Morgado
2013-06-20 23:45:12 +02:00
parent 30fe6eab48
commit 3206e95663
15 changed files with 407 additions and 2 deletions

View File

@@ -326,6 +326,16 @@
-->
<property name="PrimaryPort" type="s" access="read" />
<!--
Ports:
The list of ports in the modem, given as an array of string and unsigned
integer pairs. The string is the port name or path, and the integer is
the port type given as a
<link linkend="MMModemPortType">MMModemPortType</link> value.
-->
<property name="Ports" type="a(su)" access="read" />
<!--
EquipmentIdentifier: