# File lib/dbus/bus.rb, line 386 def introspect_data(dest, path) m = DBus::Message.new(DBus::Message::METHOD_CALL) m.path = path m.interface = "org.freedesktop.DBus.Introspectable" m.destination = dest m.member = "Introspect" m.sender = unique_name if not block_given? # introspect in synchronous ! send_sync(m) do |rmsg| if rmsg.is_a?(Error) raise rmsg else return rmsg.params[0] # return value of introspect_data end end else send(m.marshall) on_return(m) do |rmsg| if rmsg.is_a?(Error) yield rmsg else yield rmsg.params[0] end end end nil end