NetworkManager/libnm
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
..
fake-typelib build: meson: Add trailing commas 2018-12-20 13:50:34 +01:00
tests libnm: use "libnm-systemd-shared.a" in "libnm-core.la" (and "libnm.so") 2019-01-02 17:08:41 +01:00
generate-plugin-docs.pl docs: misc. typos pt2 2018-09-17 11:26:13 +02:00
generate-setting-docs.py libnm/docs: don't document NM_SETTING_NAME property 2018-08-03 14:24:28 +02:00
libnm.pc.in libnm,pkg-config: provide a variable with VPN service directory 2015-08-19 15:13:11 +02:00
libnm.ver all: return output dictionary from "AddAndActivate2" 2019-01-14 11:56:18 +01:00
meson.build libnm: use "libnm-systemd-shared.a" in "libnm-core.la" (and "libnm.so") 2019-01-02 17:08:41 +01:00
NetworkManager.h all: add 'match' setting 2018-08-11 09:41:07 +02:00
nm-access-point.c libnm: fix GObject Introspection annotations for functions returning a GPtrArray 2018-11-12 12:05:19 +01:00
nm-access-point.h all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-active-connection.c libnm/doc: document NMActiveConnection::state-changed signal 2018-11-21 14:09:04 +01:00
nm-active-connection.h libnm: add NMActivationStateFlags 2017-10-05 11:50:31 +02:00
nm-autoptr.h autoptr: add missing autoptr cleanup functions 2018-09-14 17:07:27 +02:00
nm-checkpoint.c libnm: add nm_utils_get_timestamp_msec() 2018-06-15 16:23:30 +02:00
nm-checkpoint.h libnm: add checkpoint support 2017-11-09 10:12:30 +01:00
nm-client.c all: return output dictionary from "AddAndActivate2" 2019-01-14 11:56:18 +01:00
nm-client.h all: return output dictionary from "AddAndActivate2" 2019-01-14 11:56:18 +01:00
nm-dbus-helpers.c docs: misc. typos pt2 2018-09-17 11:26:13 +02:00
nm-dbus-helpers.h build: refine the NETWORKMANAGER_COMPILATION define 2018-01-08 12:38:53 +01:00
nm-device-6lowpan.c libnm: add support form 6LoWPAN devices 2018-06-26 16:21:55 +02:00
nm-device-6lowpan.h libnm: add support form 6LoWPAN devices 2018-06-26 16:21:55 +02:00
nm-device-adsl.c all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-device-adsl.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-bond.c all/trivial: grammar fix 2018-07-10 13:12:02 +02:00
nm-device-bond.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-bridge.c all/trivial: grammar fix 2018-07-10 13:12:02 +02:00
nm-device-bridge.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-bt.c all: change handling of connection.type for bluetooth NAP and in general 2017-06-07 09:07:17 +02:00
nm-device-bt.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-dummy.c libnm: add 'hw-address' property to NMDeviceDummy 2017-06-30 22:04:03 +02:00
nm-device-dummy.h libnm: add 'hw-address' property to NMDeviceDummy 2017-06-30 22:04:03 +02:00
nm-device-ethernet.c doc: add units to some libnm (and libnm-glib) function docs 2018-05-23 16:17:03 +02:00
nm-device-ethernet.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-generic.c libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-device-generic.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-infiniband.c libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-device-infiniband.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-ip-tunnel.c ip-tunnel: add support for tunnel flags 2018-01-05 18:25:08 +01:00
nm-device-ip-tunnel.h ip-tunnel: add support for tunnel flags 2018-01-05 18:25:08 +01:00
nm-device-macsec.c libnm: (trivial): add missing return description in comment block 2017-01-17 10:34:16 +01:00
nm-device-macsec.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-macvlan.c all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-device-macvlan.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-modem.c libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-device-modem.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-olpc-mesh.c libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-device-olpc-mesh.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-ovs-bridge.c libnm: add accessors for ovs port/bridge slaves 2018-07-10 13:12:07 +02:00
nm-device-ovs-bridge.h libnm: add accessors for ovs port/bridge slaves 2018-07-10 13:12:07 +02:00
nm-device-ovs-interface.c libnm: add support for ovs-interface devices 2017-10-30 17:40:08 +01:00
nm-device-ovs-interface.h libnm: add support for ovs-interface devices 2017-10-30 17:40:08 +01:00
nm-device-ovs-port.c libnm: add accessors for ovs port/bridge slaves 2018-07-10 13:12:07 +02:00
nm-device-ovs-port.h libnm: add accessors for ovs port/bridge slaves 2018-07-10 13:12:07 +02:00
nm-device-ppp.c device: add NMDevicePPP 2017-08-05 08:03:15 +02:00
nm-device-ppp.h device: add NMDevicePPP 2017-08-05 08:03:15 +02:00
nm-device-private.h libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-device-team.c gobject-introspection: made several fixes to the annotations 2018-03-26 12:45:49 +02:00
nm-device-team.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-tun.c libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-device-tun.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-vlan.c libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-device-vlan.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-vxlan.c docs: misc. typos pt2 2018-09-17 11:26:13 +02:00
nm-device-vxlan.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-device-wifi.c docs: misc. typos pt2 2018-09-17 11:26:13 +02:00
nm-device-wifi.h wifi: expose LastScan as milliseconds not seconds 2018-06-15 16:23:30 +02:00
nm-device-wimax.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-device-wimax.h all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-device-wireguard.c libnm: fix leak for NMDeviceWireGuard's public_key 2018-08-06 08:34:27 +02:00
nm-device-wireguard.h libnm: introduce NMDeviceWireGuard 2018-08-06 08:34:27 +02:00
nm-device-wpan.c libnm: add support for WPAN devices 2018-06-26 16:21:55 +02:00
nm-device-wpan.h libnm: add support for WPAN devices 2018-06-26 16:21:55 +02:00
nm-device.c libnm: fix GObject Introspection annotations for functions returning a GPtrArray 2018-11-12 12:05:19 +01:00
nm-device.h libnm: add support for per-device & per-AF connectivity status 2018-09-24 15:37:56 +02:00
nm-dhcp-config.c libnm: don't use deprecated tags for GOobject introspection 2018-03-26 12:46:22 +02:00
nm-dhcp-config.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-dhcp4-config.c libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-dhcp4-config.h build: refine the NETWORKMANAGER_COMPILATION define 2018-01-08 12:38:53 +01:00
nm-dhcp6-config.c libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-dhcp6-config.h build: refine the NETWORKMANAGER_COMPILATION define 2018-01-08 12:38:53 +01:00
nm-dns-manager.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-dns-manager.h build: refine the NETWORKMANAGER_COMPILATION define 2018-01-08 12:38:53 +01:00
nm-enum-types.c.template build: use template files for enum types' sources generation 2017-12-18 11:25:06 +01:00
nm-enum-types.h.template build: use template files for enum types' sources generation 2017-12-18 11:25:06 +01:00
nm-ip-config.c all: avoid byte ordering issue for IP4Config's Nameservers/WinsServers on D-Bus 2018-08-01 14:27:20 +02:00
nm-ip-config.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-ip4-config.c libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-ip4-config.h build: refine the NETWORKMANAGER_COMPILATION define 2018-01-08 12:38:53 +01:00
nm-ip6-config.c libnm: use the o.fd.DBus.ObjectManager API for object management 2016-11-10 16:48:48 +01:00
nm-ip6-config.h build: refine the NETWORKMANAGER_COMPILATION define 2018-01-08 12:38:53 +01:00
nm-libnm-utils.c docs: misc. typos pt2 2018-09-17 11:26:13 +02:00
nm-libnm-utils.h libnm/utils: extend the product fixup phrase list 2018-02-23 19:47:19 +01:00
nm-manager.c all: return output dictionary from "AddAndActivate2" 2019-01-14 11:56:18 +01:00
nm-manager.h all: return output dictionary from "AddAndActivate2" 2019-01-14 11:56:18 +01:00
nm-object-private.h build: refine the NETWORKMANAGER_COMPILATION define 2018-01-08 12:38:53 +01:00
nm-object.c libnm: don't skip NMObject:path from documentation and introspection 2018-09-21 10:36:13 +02:00
nm-object.h docs: misc. typos pt2 2018-09-17 11:26:13 +02:00
nm-remote-connection-private.h build: refine the NETWORKMANAGER_COMPILATION define 2018-01-08 12:38:53 +01:00
nm-remote-connection.c libnm/remote-connection: fix "flags" property getter 2018-11-21 11:44:29 +01:00
nm-remote-connection.h libnm/remote-connection: add filename property 2018-06-11 15:06:49 +02:00
nm-remote-settings.c all: use the elvis operator wherever possible 2018-05-10 14:36:58 +02:00
nm-remote-settings.h build: refine the NETWORKMANAGER_COMPILATION define 2018-01-08 12:38:53 +01:00
nm-secret-agent-old.c all: use the elvis operator wherever possible 2018-05-10 14:36:58 +02:00
nm-secret-agent-old.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-types.h libnm: introduce NMDeviceWireGuard 2018-08-06 08:34:27 +02:00
nm-vpn-connection.c libnm: always return VPN connections's banner 2018-06-15 11:56:04 +02:00
nm-vpn-connection.h libnm/nm-vpn-connection: un-deprecate the NMVpnStateReason use in a header 2017-03-20 14:51:11 +01:00
nm-vpn-editor.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-vpn-editor.h all: replace non-leading tabs with spaces 2018-02-07 13:32:04 +01:00
nm-vpn-plugin-old.c all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-vpn-plugin-old.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-vpn-service-plugin.c libnm: fix endless loop in nm_vpn_service_plugin_read_vpn_details() 2018-10-25 16:37:35 +02:00
nm-vpn-service-plugin.h libnm: add nm_vpn_service_plugin_shutdown() API 2018-01-16 14:39:09 +01:00
nm-wimax-nsp.c libnm: fix GObject Introspection annotations for functions returning a GPtrArray 2018-11-12 12:05:19 +01:00
nm-wimax-nsp.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00