linux-将结构传递给dbus方法的工具?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux-将结构传递给dbus方法的工具?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1276字,纯文字阅读大概需要2分钟。
内容图文
我已经创建了一个守护进程.守护程序提供dbus接口,其方法之一具有这样的签名(uu)-这是两个uint32字段的结构.
是否有我可以使用的现成工具来调用方法,传递结构? dbus发送和d脚似乎没有帮助.
有指针吗?
解决方法:
gdbus应该可以解决问题.尝试以下操作:
gdbus call --session --dest com.example.MyTest --object-path /com/example/MyTest --method com.example.MyTest.Test "(1,2)"
……当然还有适合您情况的参数.
我已经使用以下Python D-Bus服务测试了上述调用:
import gobject
import dbus
import dbus.service
from dbus.mainloop.glib import DBusGMainLoop
DBusGMainLoop(set_as_default=True)
OPATH = "/com/example/MyTest"
IFACE = "com.example.MyTest"
BUS_NAME = "com.example.MyTest"
class Example(dbus.service.Object):
def __init__(self):
bus = dbus.SessionBus()
bus.request_name(BUS_NAME)
bus_name = dbus.service.BusName(BUS_NAME, bus=bus)
dbus.service.Object.__init__(self, bus_name, OPATH)
@dbus.service.method(dbus_interface=IFACE,
in_signature="(uu)", out_signature="")
def Test(self, payload):
print "Got this from client:", payload
if __name__ == "__main__":
service = Example()
loop = gobject.MainLoop()
loop.run()
在Ubuntu 15.10机器上,我在gdbus上是由libglib2.0-bin软件包提供的:
$dpkg -L libglib2.0-bin | grep gdbus
/usr/bin/gdbus
/usr/share/bash-completion/completions/gdbus
/usr/share/man/man1/gdbus.1.gz
希望这可以帮助.
内容总结
以上是互联网集市为您收集整理的linux-将结构传递给dbus方法的工具?全部内容,希望文章能够帮你解决linux-将结构传递给dbus方法的工具?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。