我正在尝试编写一个 Python 脚本来拦截对特定接口的 D-bus 方法调用。但是,我还需要拦截相应的方法返回。我了解如何在 Python 中拦截方法调用(使用 add_signal_receiver),但不确定如何拦截方法返回。
下面是我试图拦截的方法调用和返回的示例,它们是使用 dbus-monitor 捕获的。
method call sender=:1.32 -> dest=com.nokia.HildonSVNotificationDaemon serial=694 path=/com/nokia/HildonSVNotificationDaemon; interface=com.nokia.HildonSVNotificationDaemon; member=PlayEvent
array [
dict entry(
string "urgency"
variant byte 1
)
dict entry(
string "vibra"
variant string "PatternIncomingMessage"
)
dict entry(
string "sound-file"
variant string "messaging_and_title_3"
)
dict entry(
string "category"
variant string "sms-message"
)
dict entry(
string "persistent"
variant byte 1
)
dict entry(
string "time"
variant int64 1363190279
)
]
string ":1.25"
method return sender=:1.21 -> dest=1.32 reply_serial=694
int32 <ID VALUE>