在网络管理器的直接 dbus 控制中模拟 nmcli --ask

simulating nmcli --ask in direct dbus control of networkmanager

我正在研究一个 Java 软件产品,并将对 nmcliexec() 调用替换为通过 dbus 对 NetworkManager 的更直接控制。我卡在 nmcli connection up (ourconnection) --ask 上了;具体来说,它的 --ask 位。

我知道这将调用 ActivateConnection,如 NetworkManager documentation 中所述,但看不到如何模拟 --ask。当您指定 --ask 时,它是 NetworkManager 接受并执行的一个选项,还是 nmcli 在将密码传递给 NetworkManager 之前要求输入密码?

这个问题专门针对--ask;我大体上了解如何使用从反射 API 调用中获得的 Java 类 通过 dbus 与 NetworkManager 进行交互,并且一直在这样做以获取 SSID、设备和连接的列表作为 AccessPointAdded 等信号的设置处理程序;但我不知道如何以编程方式告诉 NetworkManager 提示人类用户输入密码。

由于其他原因,我不得不深入研究 nmclisource code,发现密码是由 nmcli 请求并通过 dbus 传递的。