我在几个地方search了这个问题的答案,但我找不到一个一致的解决scheme,有些太旧了,也不清楚。
我有一个在运行时生成dbus的接口path的类,所以我需要用适当的接口导出方法,例如:
我的服务的一个实例启动dbus,接口为br.example.MyInterface.Number1
,第二个服务实例启动dbus,使用br.example.MyInterface.Number2
,所以每个方法的装饰器将是:
br.example.MyInterface.Number1
; 和br.example.MyInterface.Number2
无法使用像@dbus.service.method('com.example.MyInterface.Number1')
这样的静态装饰器,因为它们是独特的。
如何在运行时使用python将方法导出到dbus?
@dbus.service.method('com.example.MyInterface.Number%d' % (instancenum,))