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做这件事的,但我认为问题与语言无关它提供了一种内省对象的方法;包含一个对象列表 大多数D-Bus绑定,包括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-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有类似的标准化功能。)