首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查接收到的D总线信号在其处理器上

检查接收到的D总线信号在其处理器上
EN

Stack Overflow用户
提问于 2022-02-02 21:05:03
回答 1查看 269关注 0票数 0

我正在构建一个通用的DBus代理接收器,用户可以利用它来配置通用信号侦听器并将它们代理到另一个服务中。

因此,我需要能够听到所有的巴士信号:

代码语言:javascript
复制
from dbus import SessionBus

def handler(*args, **kwargs):
  print(args, kwargs)

# ...

bus = SessionBus()
bus.add_signal_receiver(handler, signal_name=None, dbus_interface=None, path=None)

这种方法的问题在于,我无法从处理程序的argskwargs中判断哪个接口/信号名称/路径与信号关联:

代码语言:javascript
复制
args=(dbus.String(':1.22395'), dbus.String(''), dbus.String(':1.22395')) kwargs={}

是否有一种简单的方法来检查DBus以获得更多关于接收信号的信息?我猜它应该存在(dbus-monitor --monitor做的事情或多或少和我想做的一样),但我在网上找不到任何参考资料。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-02 23:46:33

查看sender_keyworddestination_keywordadd_signal_receiver()关键字参数。

您可能想考虑使用或者其他一些更现代的D总线绑定。dbus-python很古老,不太像Pythonic。这是不太积极地维护,当然不是主动开发的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70962851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档