DBus对象的子节点

我正在尝试编写一个导出用户的dbus对象,并在/ path / to / users中创建了我的对象。此对象具有“用户添加”,“用户删除”等信号。 然后,我想为每个用户提供访问/ path / to / users / [a,b,c]中每个用户的用户a,b和c,这将为每个用户提供一些方法。 我的问题是,我如何'列出'路径/路径/到/用户返回a,b,c? 我唯一的选择是从path.to.users.ListUsers()返回一个路径数组,是否有可以继承的标准接口,或者某种形式的内省? 谢谢。 NB。我在python中这样做,但我认为这个问题与语言无关     
已邀请:
标准的D-Bus Introspectable接口提供了一种内省对象的方法;它返回的数据包括一个对象列表。 大多数D-Bus绑定,包括
dbus-python
,在服务端为您实施
Introspectable
;所以你的客户应该能够在
/path/to/users
上调用对象上的
Introspect
方法来查看存在哪些用户对象。我不知道
dbus-python
是否为这些数据提供了更好的界面。就个人而言,我会实现一个
ListUsers()
方法,它返回
a{oa{sv}}
-即一个对象路径列表,以及这些对象的一些属性(比如,相当于在每个对象上调用
Properties.GetAll("uk.co.example.MyService.User")
)。 (如果你对未来感兴趣,David Zeuthan建议标准化这样的东西。)     

要回复问题请先登录注册