NetworkManager/libnm
Thomas Haller a33ed5ad82 libnm: allow to enable/disable fetching of permissions in NMClient
Currently, NMClient by default always fetches the permissions
("GetPermissions()") and refreshes them on "CheckPermissions" signal.

Fetching permissions is relatively expensive, while they are not used
most of the time. Allow the user to opt out of this.

For that, have a NMClientInstanceFlags to enable/disable automatic
fetching. Also add a "permissions-state" property that allows the user
to understand whether the cached permissions are up to date or not.

This is a bit an awkward API for handling this. E.g. you cannot
explicitly request permissions, you can just enable/disable fetching
permissions. And then you can watch the permission-state to know whether
you are ready. It's done this way because it fits the previous model
and extends the API with a (relative) small amount of new functions and
properties.
2019-12-10 09:17:17 +01:00
..
tests libnm: add mapping functions between string and NMClientPermission enum 2019-12-10 07:53:25 +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 libnm: allow to enable/disable fetching of permissions in NMClient 2019-12-10 09:17:17 +01:00
meson.build libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +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 libnm: allow to enable/disable fetching of permissions in NMClient 2019-12-10 09:17:17 +01:00
nm-client.h libnm: allow to enable/disable fetching of permissions in NMClient 2019-12-10 09:17:17 +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,shared: move nm_permission_result_to_client() to shared's nm_client_permission_result_from_string() 2019-12-10 07:53:25 +01:00
nm-libnm-utils.h libnm: allow to enable/disable fetching of permissions in NMClient 2019-12-10 09:17:17 +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 libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +01:00
nm-object.h libnm: refactor caching of D-Bus objects in NMClient 2019-11-25 15:08:00 +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 all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02: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