是否可以调用实现某个接口的所有对象的方法?
Is it possible to call methods of all objects that implement some interface?
我有几个对象实现了 dbus 接口。是否可以在实现该接口的所有对象上调用该接口的方法?
例如:
org.freedesktop.DBus.Properties
有方法 GetAll
。是否可以在所有实现此接口的对象上调用 GetAll
方法?
P.S。不知道如何正确标记这个问题,答案可能是 python、c/c++ 语言,甚至 dbus-send
,请给出一个想法。
没有办法直接做到这一点:你需要枚举总线上所有连接暴露的所有对象,然后枚举它们的所有接口找到实现你关心的接口的那些,然后调用方法那些对象一个接一个。
我有几个对象实现了 dbus 接口。是否可以在实现该接口的所有对象上调用该接口的方法?
例如:
org.freedesktop.DBus.Properties
有方法 GetAll
。是否可以在所有实现此接口的对象上调用 GetAll
方法?
P.S。不知道如何正确标记这个问题,答案可能是 python、c/c++ 语言,甚至 dbus-send
,请给出一个想法。
没有办法直接做到这一点:你需要枚举总线上所有连接暴露的所有对象,然后枚举它们的所有接口找到实现你关心的接口的那些,然后调用方法那些对象一个接一个。