NetworkManager/libnm
Thomas Haller 900af25263 client: add nm_client_get_object_by_path() and nm_object_get_client() API
When iterating the GMainContext of the NMClient instance, D-Bus events
get processed. That means, every time you iterate the context (or "return to
the main loop"), the content of the cache might change completely.

It makes sense to keep a reference to an NMObject instance, do something,
and afterwards check whether the instance can still be found in the cache.

Add an API for that. nm_object_get_client() allows to know whether the
object is still cached.

Likewise, while NMClient abstracts D-Bus, it should still provide a way
to look up an NMObject by D-Bus path. Add nm_client_get_object_by_path()
for that.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/384
2020-01-08 18:33:10 +01:00
..
tests all: rename time related function to spell out nsec/usec/msec/sec 2019-12-13 16:54:40 +01:00
generate-plugin-docs.pl all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
generate-setting-docs.py all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +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 client: add nm_client_get_object_by_path() and nm_object_get_client() API 2020-01-08 18:33:10 +01:00
meson.build shared: add "shared/nm-libnm-aux" static library 2019-12-10 09:17:17 +01:00
NetworkManager.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-access-point.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-access-point.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-active-connection.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-active-connection.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-autoptr.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-checkpoint.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-checkpoint.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-client.c client: add nm_client_get_object_by_path() and nm_object_get_client() API 2020-01-08 18:33:10 +01:00
nm-client.h client: add nm_client_get_object_by_path() and nm_object_get_client() API 2020-01-08 18:33:10 +01:00
nm-dbus-helpers.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-dbus-helpers.h libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-6lowpan.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-6lowpan.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-adsl.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-adsl.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-bond.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-bond.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-bridge.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-bridge.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-bt.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-bt.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-dummy.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-dummy.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-ethernet.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-ethernet.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-generic.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-generic.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-infiniband.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-infiniband.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-ip-tunnel.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-ip-tunnel.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-macsec.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-macsec.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-macvlan.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-macvlan.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-modem.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-modem.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-olpc-mesh.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-olpc-mesh.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-ovs-bridge.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-ovs-bridge.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-ovs-interface.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-ovs-interface.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-ovs-port.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-ovs-port.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-ppp.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-ppp.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +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 libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-team.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-tun.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-tun.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-vlan.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-vlan.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-vxlan.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-vxlan.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-wifi-p2p.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-wifi-p2p.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-wifi.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-wifi.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-wimax.c libnm: retire deprecated WiMAX NMObject types 2019-10-23 15:31:51 +02:00
nm-device-wimax.h libnm: retire deprecated WiMAX NMObject types 2019-10-23 15:31:51 +02:00
nm-device-wireguard.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-wireguard.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device-wpan.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-device-wpan.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-device.c libnm: add assertion for object returned by nm_device_get_active_connection() 2019-11-28 12:47:07 +01:00
nm-device.h libnm: export interface flags 2019-11-22 10:18:26 +01:00
nm-dhcp-config.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-dhcp-config.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-dhcp4-config.c libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-dhcp4-config.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-dhcp6-config.c libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-dhcp6-config.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-dns-manager.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-dns-manager.h libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +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 libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-ip-config.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-ip4-config.c libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-ip4-config.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-ip6-config.c libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-ip6-config.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-libnm-utils.c libnm: handle boxed GType properties in nm_utils_g_param_spec_is_default() 2019-12-21 12:25:12 +01:00
nm-libnm-utils.h libnm: allow using _LOGx() macros in libnm 2019-12-16 18:38:49 +01:00
nm-object-private.h libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-object.c client: add nm_client_get_object_by_path() and nm_object_get_client() API 2020-01-08 18:33:10 +01:00
nm-object.h client: add nm_client_get_object_by_path() and nm_object_get_client() API 2020-01-08 18:33:10 +01:00
nm-remote-connection-private.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-remote-connection.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-remote-connection.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-secret-agent-old.c libnm/secret-agent: remove unused variable 2019-12-17 08:57:04 +01:00
nm-secret-agent-old.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-types.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-vpn-connection.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-vpn-connection.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-vpn-editor.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-vpn-editor.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-vpn-plugin-old.c libnm: use obj_properties array in libnm and cleanup 2019-10-18 22:09:18 +02:00
nm-vpn-plugin-old.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-vpn-service-plugin.c libnm: use obj_properties array in libnm and cleanup 2019-10-18 22:09:18 +02:00
nm-vpn-service-plugin.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-wifi-p2p-peer.c libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-wifi-p2p-peer.h libnm: hide GObject structs from public API and embed private data 2019-10-22 10:58:52 +02:00
nm-wimax-nsp.c libnm: retire deprecated WiMAX NMObject types 2019-10-23 15:31:51 +02:00
nm-wimax-nsp.h libnm: retire deprecated WiMAX NMObject types 2019-10-23 15:31:51 +02:00