Python DBus对象的子对象

Python DBus对象的子对象,python,dbus,Python,Dbus,我正在尝试编写一个dbus对象,该对象导出用户并在/path/to/users处创建了我的对象。此对象具有“用户已添加”、“用户已删除”等信号 然后我想在/path/to/users/[a,b,c]为用户a,b和c提供对这些用户的访问,这将为每个用户提供一些方法 但我的问题是,如何“列出”路径/path/to/users以返回a、b、c 我唯一的选择是从path.to.users.ListUsers()返回路径数组吗?是否有一个标准接口可以继承,或者某种形式的内省 谢谢 注意。我是用python

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

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

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

我唯一的选择是从path.to.users.ListUsers()返回路径数组吗?是否有一个标准接口可以继承,或者某种形式的内省

谢谢

注意。我是用python做这件事的,但我认为问题与语言无关

它提供了一种内省对象的方法;包含一个对象列表

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

(如果你对未来感兴趣,David Zeuthan有类似的标准化方法。)

提供了一种反思对象的方法;包含一个对象列表

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

(如果您对未来感兴趣,David Zeuthan有类似的标准化功能。)