使用dbus-send

时间:2018-02-06 17:44:50

标签: dbus gdbus

我在xml下面做了一些示例,需要一些帮助来形成dbus-send命令来设置/获取propoerty" Status"。我知道如何调用方法,但不能使用dbus-send读取/写入属性。

的xml:

<node>
    <interface name="com.pgaur.GDBUS">
        <method name="HelloWorld">
            <arg name="greeting" direction="in" type="s"/>
            <arg name="response" direction="out" type="s"/>
        </method>
        <signal name="Notification">
            <arg name="roll_number" type="i"/>
            <arg name="name" type="s"/>
        </signal>
        <property name="Status" type="u" access="readwrite"/>
    </interface>
</node>

2 个答案:

答案 0 :(得分:3)

您可以使用以下dbus-send命令获取/设置DBus接口的DBus属性。将$ BUS_NAME和$ OBJECT_PATH替换为各自的名称。

获取财产:

dbus-send --system --dest=$BUS_NAME --print-reply $OBJECT_PATH \
 org.freedesktop.DBus.Properties.Set string:com.pgaur.GDBUS string:Status variant:uint32:10

设置属性:

wenotnotfoo1txt     
iwiwiw     
ieieie     
wenotnotfoo2txt    
iwiwiw     
ieieie     
wenotnotfoo3txt     
iwiwiw     
ieieie

awk '{if(gsub(/txt/,"")){name=$0;}else{print > name}}' test

您可以阅读DBus specification以了解有关DBus属性的更多信息。

答案 1 :(得分:0)

dbus发送--system --print-reply --type = method_call --dest = org.ofono / gemalto_0 org.ofono.Modem.SetProperty字符串:“ Powered”变量:布尔值:false