如何通过gdbus获取“属性”

时间:2016-03-22 18:52:57

标签: api gdbus

有人能告诉我在哪里可以找到有关如何使用gdbus调用从系统获取信息的文档吗?

我在这里关注API: https://www.freedesktop.org/software/ModemManager/api/latest/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Command

我想阅读例如:
型号
修订版 国家 PowerState

我想知道如何通过gdbus创建调用以从调制解调器中获取“属性”

由于

1 个答案:

答案 0 :(得分:0)

可以通过以下方法访问DBus属性:

org.freedesktop.DBus.Properties.Get (in STRING interface_name,
                                     in STRING property_name, 
                                     out VARIANT value); 

org.freedesktop.DBus.Properties.GetAll (in STRING interface_name,
                                        out DICT<STRING,VARIANT> props)

要获得Model,例如,您可以像这样使用 dbus-send

dbus-send --system --dest=org.freedesktop.ModemManager1 --print-reply \
/path/to/Modem/object org.freedesktop.DBus.Properties.Get \
string:'org.freedesktop.ModemManager1.Modem' string:'Model'

其中/ path / to / Modem / object将类似/org/freedesktop.ModemManager1/Modems/#,而#是您想要获取信息的调制解调器的唯一整数标识符。 有关dbus-send的更多信息,请查看文档https://dbus.freedesktop.org/doc/dbus-send.1.html