NetworkManager/introspection
Thomas Haller fbb038af5e all: return output dictionary from "AddAndActivate2"
Add a "a{sv}" output argument to "AddAndActivate2" D-Bus API.
"AddAndActivate2" replaces "AddAndActivate" with more options.
It also has a dictionary argument to be forward compatible so that we
hopefully won't need an "AddAndActivate3". However, it lacked a similar
output dictionary. Add it for future extensibility. I think this is
really to workaround a shortcoming of D-Bus, which does provide strong
typing and type information about its API, but does not allow to extend
an existing API in a backward compatible manner. So we either resort to
Method(), Method2(), Method3() variants, or a catch-all variant with a
generic "a{sv}" input/output argument.

In libnm, rename "nm_client_add_and_activate_connection_options()" to
"nm_client_add_and_activate_connection2()". I think libnm API should have
an obvious correspondence with D-Bus API. Or stated differently, if
"AddAndActivateOptions" would be a better name, then the D-Bus API should
be renamed. We should prefer one name over the other, but regardless
of which is preferred, the naming for D-Bus and libnm API should
correspond.

In this case, I do think that AddAndActivate2() is a better name than
AddAndActivateOptions(). Hence I rename the libnm API.

Also, unless necessary, let libnm still call "AddAndActivate" instead of
"AddAndActivate2". Our backward compatibility works the way that libnm
requires a server version at least as new as itself. As such, libnm
theoretically could assume that server version is new enough to support
"AddAndActivate2" and could always use the more powerful variant.
However, we don't need to break compatibility intentionally and for
little gain. Here, it's easy to let libnm also handle old server API, by
continuing to use "AddAndActivate" for nm_client_add_and_activate_connection().
Note that during package update, we don't restart the currently running
NetworkManager instance. In such a scenario, it can easily happen that
nmcli/libnm is newer than the server version. Let's try a bit harder
to not break that.

Changes as discussed in [1].

[1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/37#note_79876
2019-01-14 11:56:18 +01:00
..
meson.build build: meson: Add trailing commas 2018-12-20 13:50:34 +01:00
org.freedesktop.NetworkManager.AccessPoint.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.AgentManager.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Checkpoint.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Connection.Active.xml libnm: add NMActivationStateFlags 2017-10-05 11:50:31 +02:00
org.freedesktop.NetworkManager.Device.Adsl.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.Bluetooth.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.Bond.xml all/trivial: grammar fix 2018-07-10 13:12:02 +02:00
org.freedesktop.NetworkManager.Device.Bridge.xml all/trivial: grammar fix 2018-07-10 13:12:02 +02:00
org.freedesktop.NetworkManager.Device.Dummy.xml libnm: add 'hw-address' property to NMDeviceDummy 2017-06-30 22:04:03 +02:00
org.freedesktop.NetworkManager.Device.Generic.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.Infiniband.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.IPTunnel.xml ip-tunnel: add support for tunnel flags 2018-01-05 18:25:08 +01:00
org.freedesktop.NetworkManager.Device.Lowpan.xml introspection: add o.fd.NM.Device.Lowpan interface 2018-06-26 16:21:55 +02:00
org.freedesktop.NetworkManager.Device.Macsec.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.Macvlan.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.Modem.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.OlpcMesh.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.OvsBridge.xml devices/ovs: expose slaves on D-Bus for OVS bridges and ports 2018-07-10 13:12:02 +02:00
org.freedesktop.NetworkManager.Device.OvsInterface.xml introspection: add o.fd.NM.Device.OvsInterface interface 2017-10-30 17:40:08 +01:00
org.freedesktop.NetworkManager.Device.OvsPort.xml devices/ovs: expose slaves on D-Bus for OVS bridges and ports 2018-07-10 13:12:02 +02:00
org.freedesktop.NetworkManager.Device.Ppp.xml device: add NMDevicePPP 2017-08-05 08:03:15 +02:00
org.freedesktop.NetworkManager.Device.Statistics.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.Team.xml all/trivial: grammar fix 2018-07-10 13:12:02 +02:00
org.freedesktop.NetworkManager.Device.Tun.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.Veth.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.Vlan.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.Vxlan.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.WiMax.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.Wired.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Device.WireGuard.xml core: introduce NMDeviceWireGuard 2018-08-06 08:34:27 +02:00
org.freedesktop.NetworkManager.Device.Wireless.xml wifi: improve description of D-Bus' RequestScan() 2018-11-28 20:47:11 +01:00
org.freedesktop.NetworkManager.Device.Wpan.xml introspection: add o.fd.NM.Device.Wpan interface 2018-06-26 16:21:54 +02:00
org.freedesktop.NetworkManager.Device.xml all: say Wi-Fi instead of "wifi" or "WiFi" 2018-11-29 17:53:35 +01:00
org.freedesktop.NetworkManager.DHCP4Config.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.DHCP6Config.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.DnsManager.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.IP4Config.xml all: avoid byte ordering issue for IP4Config's Nameservers/WinsServers on D-Bus 2018-08-01 14:27:20 +02:00
org.freedesktop.NetworkManager.IP6Config.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.PPP.xml ppp: introduce SetIfindex pppd plugin D-Bus method 2018-01-10 15:36:29 +01:00
org.freedesktop.NetworkManager.SecretAgent.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.Settings.Connection.xml settings-connection: expose Filename property on D-Bus 2018-06-11 15:06:49 +02:00
org.freedesktop.NetworkManager.Settings.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.VPN.Connection.xml vpn-connection: use NMActiveConnectionStateReason 2017-03-17 10:21:19 +01:00
org.freedesktop.NetworkManager.VPN.Plugin.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.WiMax.Nsp.xml introspection: include short description everywhere 2017-03-17 10:15:11 +01:00
org.freedesktop.NetworkManager.xml all: return output dictionary from "AddAndActivate2" 2019-01-14 11:56:18 +01:00