I'm looking through the dbus api for Network Manager and there are methods with inputs of type a{sa{sv}}.
I'm still new to dbus but if I'm interpreting the definition of signature specifiers in https://www.freedesktop.org/software/systemd/man/sd_bus_message_read.html# correctly this is:
- A variable-length array
- Of named variable arrays
- Of named "variants" (which I guess are tagged unions)
- Of named variable arrays
What practically is this for? A name-paginated list of named settings? I'm seeing it all over the place in this API.
It turns out this is what I guess should be called a "Settings" in Network Manager. For several methods instead of building a connection setting by setting an entire set of settings are added all at once. Here's a tabbed and commented version of the settings of my current connection as queried for example:
I think most of these are defaults so the real settings you might set when creating a connection are probably something like: