DBus对象的子对象

2024-05-16 12:28:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个dbus对象,它导出用户,并在/path/to/users处创建了我的对象。此对象具有“用户已添加”、“用户已删除”等信号

然后,我想为用户a、b和c提供对/path/to/users/[a,b,c]的每个用户的访问权限,这将为每个用户提供一些方法。在

但我的问题是如何“列出”路径/path/to/users以返回a、b、c?在

我唯一的选择是从路径.to.users.ListUsers(),是否有可以继承的标准接口或某种形式的自省?在

谢谢。在

注意。我用python来做这个,但我认为这个问题与语言无关


Tags: topath对象方法用户路径语言权限
1条回答
网友
1楼 · 发布于 2024-05-16 12:28:10

standard D-Bus Introspectable interface提供了一个方法来反省一个对象;data returned by it包含一个对象列表。在

大多数D-Bus绑定,包括dbus-python,在服务端为您实现Introspectable;因此您的客户机应该能够调用位于/path/to/users的对象上的Introspect方法,以查看存在哪些用户对象。我不知道dbus-python是否为该数据提供了更好的接口。就我个人而言,我将实现一个ListUsers()方法,它返回a{oa{sv}}-也就是说,一个对象路径列表,以及关于这些对象的一些属性(例如,相当于在每个对象上调用Properties.GetAll("uk.co.example.MyService.User"))。在

(如果您对未来感兴趣,davidzeuthan已经对类似的东西进行了proposed标准化。)

相关问题 更多 >