我正在尝试编写一个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>