NetworkManager/src/libnm-client-impl
Lubomir Rintel aaa9a9cd25 libnm/client: don't reset properties when interface goes away
In case the D-Bus interfaces start dropping off (typically all off them go
one by one when the object is being deleted), don't reset all the properties.

In particular, keep most properties around, only tear down "o" and "ao",
so that the object dependencies get torn down, but we still get enough
properties around to identify what the dead object was its heyday.

One example of where this is not good is when the device-removed signal
is emmitted, the device no longer has the ifname:

  $ nmcli monitor
  <quit NetworkManager>
  (null): device removed
  (null): device removed
  ...
2022-11-13 15:25:19 +01:00
..
tests libnm/client: don't reset properties when interface goes away 2022-11-13 15:25:19 +01:00
libnm.pc.in libnm.pc: plugindir & configdir 2021-11-03 12:19:36 +01:00
libnm.ver merge: branch 'lr/unbreak-gir' 2022-11-11 16:08:17 +01:00
meson.build libnm: test that Gir data matches actual exports 2022-11-08 13:14:56 +01:00
nm-access-point.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-active-connection.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-checkpoint.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-client.c libnm/client: don't reset properties when interface goes away 2022-11-13 15:25:19 +01:00
nm-conn-utils.c glib-aux: rename IP address related helpers from "nm-inet-utils.h" 2022-08-25 19:05:51 +02:00
nm-dbus-helpers.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dbus-helpers.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-default-libnm.h libnm: replace nm-types.h by defining the types in respective headers 2022-05-06 18:33:27 +02:00
nm-device-6lowpan.c libnm: actually export a lot of routines that were supposed to be public 2022-11-08 11:43:00 +01:00
nm-device-adsl.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-bond.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-bridge.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-bt.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-dummy.c dummy: drop NM_DEVICE_DUMMY_GET_PRIVATE() 2022-09-12 07:39:13 +02:00
nm-device-ethernet.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-generic.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-infiniband.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-ip-tunnel.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-macsec.c libnm: actually export a lot of routines that were supposed to be public 2022-11-08 11:43:00 +01:00
nm-device-macvlan.c libnm: fix placement of some "Since:" tags 2022-05-06 18:33:27 +02:00
nm-device-modem.c libnm: use MODEM_CAPS_3GPP()/MODEM_CAPS_3GPP2() macros in get_setting_type() 2022-01-29 16:22:30 +01:00
nm-device-olpc-mesh.c libnm: replace nm-types.h by defining the types in respective headers 2022-05-06 18:33:27 +02:00
nm-device-ovs-bridge.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-ovs-interface.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-device-ovs-port.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-ppp.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-device-private.h build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-device-team.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-tun.c libnm: fix a large amount of Since tags 2022-11-08 11:40:18 +01:00
nm-device-veth.c libnm: actually export a lot of routines that were supposed to be public 2022-11-08 11:43:00 +01:00
nm-device-vlan.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-vrf.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-device-vxlan.c libnm: actually export a lot of routines that were supposed to be public 2022-11-08 11:43:00 +01:00
nm-device-wifi-p2p.c libnm: actually export a lot of routines that were supposed to be public 2022-11-08 11:43:00 +01:00
nm-device-wifi.c libnm: replace nm-types.h by defining the types in respective headers 2022-05-06 18:33:27 +02:00
nm-device-wimax.c libnm: replace nm-types.h by defining the types in respective headers 2022-05-06 18:33:27 +02:00
nm-device-wireguard.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-device-wpan.c libnm: remove nm_device_wpan_get_hw_address() 2022-11-08 11:40:18 +01:00
nm-device.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dhcp-config.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dhcp4-config.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-dhcp4-config.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-dhcp6-config.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-dhcp6-config.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-dns-manager.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dns-manager.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-ip-config.c glib-aux: rename IP address related helpers from "nm-inet-utils.h" 2022-08-25 19:05:51 +02:00
nm-ip4-config.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-ip4-config.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-ip6-config.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-ip6-config.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-libnm-utils.c glib-aux: swap arguments for nm_array_find_bsearch() 2022-09-28 13:30:44 +02:00
nm-libnm-utils.h libnm: add "initialized-{good,bad}" flags to NMClientInstanceFlags 2022-10-14 17:37:03 +02:00
nm-object-private.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-object.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-remote-connection-private.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-remote-connection.c libnm: fix a large amount of Since tags 2022-11-08 11:40:18 +01:00
nm-secret-agent-old.c all: use nm_memdup() instead of g_memdup() 2022-10-18 20:28:25 +02:00
nm-vpn-connection.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-vpn-editor.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
nm-vpn-plugin-old.c libnm: drop nm_vpn_plugin_old_set_{,ip6_}config() 2022-11-08 11:40:18 +01:00
nm-vpn-service-plugin.c libnm: fix a large amount of Since tags 2022-11-08 11:40:18 +01:00
nm-wifi-p2p-peer.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-wimax-nsp.c build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
README.md all: add some README.md files describing the purpose of our sources 2021-08-19 17:51:11 +02:00

libnm-client-impl

libnm is NetworkManager's client API. This API consists of two parts:

  • the handling of connections (NMConnection), implemented by libnm-core-impl.
  • the caching of D-Bus API (NMClient), implemented by libnm-client-impl.

This directory contains the implementation of the second part. As such, it will be statically linked with libnm-core-impl to make libnm. Also, it cannot be used by the daemon.